import { Value } from '../../cloudformation/Value';
import { LoadBalancerProps } from './taskset/LoadBalancerProps';
import { NetworkConfigurationProps } from './taskset/NetworkConfigurationProps';
import { ScaleProps } from './taskset/ScaleProps';
import { ServiceRegistryProps } from './taskset/ServiceRegistryProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TaskSetAttributes = {
    Id: Attribute<string>;
};
export type TaskSet = AwsResource<'AWS::ECS::TaskSet', TaskSetProperties, TaskSetAttributes>;
/**
  Create a task set in the specified cluster and service. This is used when a service uses the <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <em>Amazon Elastic Container Service Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html">the AWS Docs</a>
*/
export declare function taskSet(taskSetProps: TaskSetProperties): TaskSet;
/**
  Create a task set in the specified cluster and service. This is used when a service uses the <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <em>Amazon Elastic Container Service Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html">the AWS Docs</a>
*/
export interface TaskSetProperties {
    /** <code>PlatformVersion</code>  <a name="cfn-ecs-taskset-platformversion"></a>
  The platform version that the tasks in the task set uses. A platform version is specified only for tasks using the Fargate launch type. If one isn’t specified, the <code>LATEST</code> platform version is used.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    platformVersion?: Value<string>;
    /** <code>TaskDefinition</code>  <a name="cfn-ecs-taskset-taskdefinition"></a>
  The task definition for the tasks in the task set to use. If a revision isn’t specified, the latest <code>ACTIVE</code> revision is used.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    taskDefinition: Value<string>;
    /** <code>ExternalId</code>  <a name="cfn-ecs-taskset-externalid"></a>
  An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the <code>ECS_TASK_SET_EXTERNAL_ID</code> AWS Cloud Map attribute set to the provided value.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    externalId?: Value<string>;
    /** <code>Cluster</code>  <a name="cfn-ecs-taskset-cluster"></a>
  The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    cluster: Value<string>;
    /** <code>LoadBalancers</code>  <a name="cfn-ecs-taskset-loadbalancers"></a>
  A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    loadBalancers?: LoadBalancerProps[];
    /** <code>Service</code>  <a name="cfn-ecs-taskset-service"></a>
  The short name or full Amazon Resource Name (ARN) of the service to create the task set in.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    service: Value<string>;
    /** <code>NetworkConfiguration</code>  <a name="cfn-ecs-taskset-networkconfiguration"></a>
  The network configuration for the task set.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    networkConfiguration?: NetworkConfigurationProps;
    /** <code>Scale</code>  <a name="cfn-ecs-taskset-scale"></a>
  A floating-point percentage of your desired number of tasks to place and keep running in the task set.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    scale?: ScaleProps;
    /** <code>ServiceRegistries</code>  <a name="cfn-ecs-taskset-serviceregistries"></a>
  The details of the service discovery registries to assign to this task set. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html">Service discovery</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    serviceRegistries?: ServiceRegistryProps[];
    /** <code>LaunchType</code>  <a name="cfn-ecs-taskset-launchtype"></a>
  The launch type that new tasks in the task set uses. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon ECS launch types</a> in the
  Amazon Elastic Container Service Developer Guide: br />
  If a <code>launchType</code> is specified, the <code>capacityProviderStrategy</code> parameter must be omitted.<br />
  
  Required: No<br />
  
  Allowed values: <code>EC2 | EXTERNAL | FARGATE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    launchType?: Value<'EC2' | 'EXTERNAL' | 'FARGATE'>;
}
