pub struct Client { /* private fields */ }
Expand description

Client for Amazon EC2 Container Service

Client for invoking operations on Amazon EC2 Container Service. Each operation on Amazon EC2 Container Service is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

Examples

Constructing a client and invoking an operation

    // create a shared configuration. This can be used & shared between multiple service clients.
    let shared_config = aws_config::load_from_env().await;
    let client = aws_sdk_ecs::Client::new(&shared_config);
    // invoke an operation
    /* let rsp = client
        .<operation_name>().
        .<param>("some value")
        .send().await; */

Constructing a client with custom configuration

use aws_config::RetryConfig;
let shared_config = aws_config::load_from_env().await;
let config = aws_sdk_ecs::config::Builder::from(&shared_config)
  .retry_config(RetryConfig::disabled())
  .build();
let client = aws_sdk_ecs::Client::from_conf(config);

Implementations

Creates a client with the given service configuration.

Returns the client’s configuration.

Constructs a fluent builder for the CreateCapacityProvider operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):

      The name of the capacity provider. Up to 255 characters are allowed. They include letters (both upper and lowercase letters), numbers, underscores (_), and hyphens (-). The name can’t be prefixed with “aws”, “ecs”, or “fargate”.

    • auto_scaling_group_provider(AutoScalingGroupProvider) / set_auto_scaling_group_provider(Option<AutoScalingGroupProvider>):

      The details of the Auto Scaling group for the capacity provider.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the capacity provider to categorize and organize them more conveniently. Each tag consists of a key and an optional value. You define both of them.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • On success, responds with CreateCapacityProviderOutput with field(s):
  • On failure, responds with SdkError<CreateCapacityProviderError>

Constructs a fluent builder for the CreateCluster operation.

  • The fluent builder is configurable:
    • cluster_name(impl Into<String>) / set_cluster_name(Option<String>):

      The name of your cluster. If you don’t specify a name for your cluster, you create a cluster that’s named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • settings(Vec<ClusterSetting>) / set_settings(Option<Vec<ClusterSetting>>):

      The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster. If this value is specified, it overrides the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

    • configuration(ClusterConfiguration) / set_configuration(Option<ClusterConfiguration>):

      The execute command configuration for the cluster.

    • capacity_providers(Vec<String>) / set_capacity_providers(Option<Vec<String>>):

      The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

      The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

    • default_capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_default_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy is set for a cluster, when you call the RunTask or CreateService APIs with no capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is used.

      If a default capacity provider strategy isn’t defined for a cluster when it was created, it can be defined later with the PutClusterCapacityProviders API operation.

  • On success, responds with CreateClusterOutput with field(s):
  • On failure, responds with SdkError<CreateClusterError>

Constructs a fluent builder for the CreateService operation.

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.

    • service_name(impl Into<String>) / set_service_name(Option<String>):

      The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

    • task_definition(impl Into<String>) / set_task_definition(Option<String>):

      The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision isn’t specified, the latest ACTIVE revision is used.

      A task definition must be specified if the service uses either the ECS or CODE_DEPLOY deployment controllers.

    • load_balancers(Vec<LoadBalancer>) / set_load_balancers(Option<Vec<LoadBalancer>>):

      A load balancer object representing the load balancers to use with your service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

      If the service uses the rolling update (ECS) deployment controller and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach to the service. The service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

      If the service uses the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, CodeDeploy determines which task set in your service has the status PRIMARY, and it associates one target group with it. Then, it also associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that you can use to perform validation tests with Lambda functions before routing production traffic to it.

      If you use the CODE_DEPLOY deployment controller, these values can be changed when updating the service.

      For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name, and the container port to access from the load balancer. The container name must be as it appears in a container definition. The load balancer name parameter must be omitted. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group that’s specified here.

      For Classic Load Balancers, this object must contain the load balancer name, the container name , and the container port to access from the load balancer. The container name must be as it appears in a container definition. The target group ARN parameter must be omitted. When a task from this service is placed on a container instance, the container instance is registered with the load balancer that’s specified here.

      Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers aren’t supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. This is because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

    • service_registries(Vec<ServiceRegistry>) / set_service_registries(Option<Vec<ServiceRegistry>>):

      The details of the service discovery registry to associate with this service. For more information, see Service discovery.

      Each service may be associated with one service registry. Multiple service registries for each service isn’t supported.

    • desired_count(i32) / set_desired_count(Option<i32>):

      The number of instantiations of the specified task definition to place and keep running on your cluster.

      This is required if schedulingStrategy is REPLICA or isn’t specified. If schedulingStrategy is DAEMON then this isn’t required.

    • client_token(impl Into<String>) / set_client_token(Option<String>):

      An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 32 ASCII characters are allowed.

    • launch_type(LaunchType) / set_launch_type(Option<LaunchType>):

      The infrastructure that you run your service on. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

      The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure.

      Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see Fargate capacity providers in the Amazon ECS User Guide for Fargate.

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.

      The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster.

      A service can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

    • capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to use for the service.

      If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

      A capacity provider strategy may contain a maximum of 6 capacity providers.

    • platform_version(impl Into<String>) / set_platform_version(Option<String>):

      The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn’t specified, the LATEST platform version is used. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

    • role(impl Into<String>) / set_role(Option<String>):

      The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn’t use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

      If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don’t specify a role here. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

      If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly names and paths in the IAM User Guide.

    • deployment_configuration(DeploymentConfiguration) / set_deployment_configuration(Option<DeploymentConfiguration>):

      Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

    • placement_constraints(Vec<PlacementConstraint>) / set_placement_constraints(Option<Vec<PlacementConstraint>>):

      An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.

    • placement_strategy(Vec<PlacementStrategy>) / set_placement_strategy(Option<Vec<PlacementStrategy>>):

      The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.

    • network_configuration(NetworkConfiguration) / set_network_configuration(Option<NetworkConfiguration>):

      The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it isn’t supported for other network modes. For more information, see Task networking in the Amazon Elastic Container Service Developer Guide.

    • health_check_grace_period_seconds(i32) / set_health_check_grace_period_seconds(Option<i32>):

      The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don’t specify a health check grace period value, the default value of 0 is used.

      If you do not use an Elastic Load Balancing, we recomend that you use the startPeriod in the task definition healtch check parameters. For more information, see Health check.

      If your service’s tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

    • scheduling_strategy(SchedulingStrategy) / set_scheduling_strategy(Option<SchedulingStrategy>):

      The scheduling strategy to use for the service. For more information, see Services.

      There are two service scheduler strategies available:

      • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the CODE_DEPLOY or EXTERNAL deployment controller types.

      • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don’t meet the placement constraints. When you’re using this strategy, you don’t need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.

        Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don’t support the DAEMON scheduling strategy.

    • deployment_controller(DeploymentController) / set_deployment_controller(Option<DeploymentController>):

      The deployment controller to use for the service. If no deployment controller is specified, the default value of ECS is used.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • enable_ecs_managed_tags(bool) / set_enable_ecs_managed_tags(bool):

      Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

    • propagate_tags(PropagateTags) / set_propagate_tags(Option<PropagateTags>):

      Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren’t propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

    • enable_execute_command(bool) / set_enable_execute_command(bool):

      Determines whether the execute command functionality is enabled for the service. If true, this enables execute command functionality on all containers in the service tasks.

  • On success, responds with CreateServiceOutput with field(s):
    • service(Option<Service>):

      The full description of your service following the create call.

      A service will return either a capacityProviderStrategy or launchType parameter, but not both, depending where one was specified when it was created.

      If a service is using the ECS deployment controller, the deploymentController and taskSets parameters will not be returned.

      if the service uses the CODE_DEPLOY deployment controller, the deploymentController, taskSets and deployments parameters will be returned, however the deployments parameter will be an empty list.

  • On failure, responds with SdkError<CreateServiceError>

Constructs a fluent builder for the CreateTaskSet operation.

  • The fluent builder is configurable:
    • service(impl Into<String>) / set_service(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.

    • external_id(impl Into<String>) / set_external_id(Option<String>):

      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 ECS_TASK_SET_EXTERNAL_ID Cloud Map attribute set to the provided value.

    • task_definition(impl Into<String>) / set_task_definition(Option<String>):

      The task definition for the tasks in the task set to use.

    • network_configuration(NetworkConfiguration) / set_network_configuration(Option<NetworkConfiguration>):

      An object representing the network configuration for a task set.

    • load_balancers(Vec<LoadBalancer>) / set_load_balancers(Option<Vec<LoadBalancer>>):

      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.

    • service_registries(Vec<ServiceRegistry>) / set_service_registries(Option<Vec<ServiceRegistry>>):

      The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

    • launch_type(LaunchType) / set_launch_type(Option<LaunchType>):

      The launch type that new tasks in the task set uses. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

      If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

    • capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to use for the task set.

      A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

      If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

      The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

    • platform_version(impl Into<String>) / set_platform_version(Option<String>):

      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 LATEST platform version is used.

    • scale(Scale) / set_scale(Option<Scale>):

      A floating-point percentage of the desired number of tasks to place and keep running in the task set.

    • client_token(impl Into<String>) / set_client_token(Option<String>):

      The identifier that you provide to ensure the idempotency of the request. It’s case sensitive and must be unique. It can be up to 32 ASCII characters are allowed.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value. You define both. When a service is deleted, the tags are deleted.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • On success, responds with CreateTaskSetOutput with field(s):
    • task_set(Option<TaskSet>):

      Information about a set of Amazon ECS tasks in either an CodeDeploy or an EXTERNAL deployment. A task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

  • On failure, responds with SdkError<CreateTaskSetError>

Constructs a fluent builder for the DeleteAccountSetting operation.

  • The fluent builder is configurable:
    • name(SettingName) / set_name(Option<SettingName>):

      The resource name to disable the account setting for. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

    • principal_arn(impl Into<String>) / set_principal_arn(Option<String>):

      The Amazon Resource Name (ARN) of the principal. It can be an IAM user, IAM role, or the root user. If you specify the root user, it disables the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

  • On success, responds with DeleteAccountSettingOutput with field(s):
  • On failure, responds with SdkError<DeleteAccountSettingError>

Constructs a fluent builder for the DeleteAttributes operation.

Constructs a fluent builder for the DeleteCapacityProvider operation.

Constructs a fluent builder for the DeleteCluster operation.

Constructs a fluent builder for the DeleteService operation.

Constructs a fluent builder for the DeleteTaskSet operation.

Constructs a fluent builder for the DeregisterContainerInstance operation.

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to deregister. If you do not specify a cluster, the default cluster is assumed.

    • container_instance(impl Into<String>) / set_container_instance(Option<String>):

      The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

    • force(bool) / set_force(Option<bool>):

      Forces the container instance to be deregistered. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they’re orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

      Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered. They begin connection draining according to the settings on the load balancer or target group.

  • On success, responds with DeregisterContainerInstanceOutput with field(s):
  • On failure, responds with SdkError<DeregisterContainerInstanceError>

Constructs a fluent builder for the DeregisterTaskDefinition operation.

Constructs a fluent builder for the DescribeCapacityProviders operation.

  • The fluent builder is configurable:
    • capacity_providers(Vec<String>) / set_capacity_providers(Option<Vec<String>>):

      The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to 100 capacity providers can be described in an action.

    • include(Vec<CapacityProviderField>) / set_include(Option<Vec<CapacityProviderField>>):

      Specifies whether or not you want to see the resource tags for the capacity provider. If TAGS is specified, the tags are included in the response. If this field is omitted, tags aren’t included in the response.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of account setting results returned by DescribeCapacityProviders in paginated output. When this parameter is used, DescribeCapacityProviders only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeCapacityProviders request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders returns up to 10 results and a nextToken value if applicable.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a previous paginated DescribeCapacityProviders request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

  • On success, responds with DescribeCapacityProvidersOutput with field(s):
  • On failure, responds with SdkError<DescribeCapacityProvidersError>

Constructs a fluent builder for the DescribeClusters operation.

Constructs a fluent builder for the DescribeContainerInstances operation.

Constructs a fluent builder for the DescribeServices operation.

Constructs a fluent builder for the DescribeTaskDefinition operation.

  • The fluent builder is configurable:
  • On success, responds with DescribeTaskDefinitionOutput with field(s):
    • task_definition(Option<TaskDefinition>):

      The full task definition description.

    • tags(Option<Vec<Tag>>):

      The metadata that’s applied to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • On failure, responds with SdkError<DescribeTaskDefinitionError>

Constructs a fluent builder for the DescribeTasks operation.

Constructs a fluent builder for the DescribeTaskSets operation.

Constructs a fluent builder for the DiscoverPollEndpoint operation.

Constructs a fluent builder for the ExecuteCommand operation.

Constructs a fluent builder for the ListAccountSettings operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • name(SettingName) / set_name(Option<SettingName>):

      The name of the account setting you want to list the settings for.

    • value(impl Into<String>) / set_value(Option<String>):

      The value of the account settings to filter results with. You must also specify an account setting name to use this parameter.

    • principal_arn(impl Into<String>) / set_principal_arn(Option<String>):

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If this field is omitted, the account settings are listed only for the authenticated user.

      Federated users assume the account setting of the root user and can’t have explicit account settings set for them.

    • effective_settings(bool) / set_effective_settings(bool):

      Determines whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn are returned. If false, the account settings for the principalArn are returned if they’re set. Otherwise, no account settings are returned.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListAccountSettings request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it’s possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(i32):

      The maximum number of account setting results returned by ListAccountSettings in paginated output. When this parameter is used, ListAccountSettings only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListAccountSettings request with the returned nextToken value. This value can be between 1 and 10. If this parameter isn’t used, then ListAccountSettings returns up to 10 results and a nextToken value if applicable.

  • On success, responds with ListAccountSettingsOutput with field(s):
    • settings(Option<Vec<Setting>>):

      The account settings for the resource.

    • next_token(Option<String>):

      The nextToken value to include in a future ListAccountSettings request. When the results of a ListAccountSettings request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListAccountSettingsError>

Constructs a fluent builder for the ListAttributes operation. This operation supports pagination; See into_paginator().

Constructs a fluent builder for the ListClusters operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListClusters request indicating that more results are available to fulfill the request and further calls are needed. If maxResults was provided, it’s possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of cluster results that ListClusters returned in paginated output. When this parameter is used, ListClusters only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListClusters returns up to 100 results and a nextToken value if applicable.

  • On success, responds with ListClustersOutput with field(s):
    • cluster_arns(Option<Vec<String>>):

      The list of full Amazon Resource Name (ARN) entries for each cluster that’s associated with your account.

    • next_token(Option<String>):

      The nextToken value to include in a future ListClusters request. When the results of a ListClusters request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListClustersError>

Constructs a fluent builder for the ListContainerInstances operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to list. If you do not specify a cluster, the default cluster is assumed.

    • filter(impl Into<String>) / set_filter(Option<String>):

      You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListContainerInstances request indicating that more results are available to fulfill the request and further calls are needed. If maxResults was provided, it’s possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of container instance results that ListContainerInstances returned in paginated output. When this parameter is used, ListContainerInstances only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListContainerInstances request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListContainerInstances returns up to 100 results and a nextToken value if applicable.

    • status(ContainerInstanceStatus) / set_status(Option<ContainerInstanceStatus>):

      Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you don’t specify this parameter, the default is to include container instances set to all states other than INACTIVE.

  • On success, responds with ListContainerInstancesOutput with field(s):
    • container_instance_arns(Option<Vec<String>>):

      The list of container instances with full ARN entries for each container instance associated with the specified cluster.

    • next_token(Option<String>):

      The nextToken value to include in a future ListContainerInstances request. When the results of a ListContainerInstances request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListContainerInstancesError>

Constructs a fluent builder for the ListServices operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the ListServices results. If you do not specify a cluster, the default cluster is assumed.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListServices request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of service results that ListServices returned in paginated output. When this parameter is used, ListServices only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListServices request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListServices returns up to 10 results and a nextToken value if applicable.

    • launch_type(LaunchType) / set_launch_type(Option<LaunchType>):

      The launch type to use when filtering the ListServices results.

    • scheduling_strategy(SchedulingStrategy) / set_scheduling_strategy(Option<SchedulingStrategy>):

      The scheduling strategy to use when filtering the ListServices results.

  • On success, responds with ListServicesOutput with field(s):
    • service_arns(Option<Vec<String>>):

      The list of full ARN entries for each service that’s associated with the specified cluster.

    • next_token(Option<String>):

      The nextToken value to include in a future ListServices request. When the results of a ListServices request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListServicesError>

Constructs a fluent builder for the ListTagsForResource operation.

Constructs a fluent builder for the ListTaskDefinitionFamilies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • family_prefix(impl Into<String>) / set_family_prefix(Option<String>):

      The familyPrefix is a string that’s used to filter the results of ListTaskDefinitionFamilies. If you specify a familyPrefix, only task definition family names that begin with the familyPrefix string are returned.

    • status(TaskDefinitionFamilyStatus) / set_status(Option<TaskDefinitionFamilyStatus>):

      The task definition family status to filter the ListTaskDefinitionFamilies results with. By default, both ACTIVE and INACTIVE task definition families are listed. If this parameter is set to ACTIVE, only task definition families that have an ACTIVE task definition revision are returned. If this parameter is set to INACTIVE, only task definition families that do not have any ACTIVE task definition revisions are returned. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListTaskDefinitionFamilies request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of task definition family results that ListTaskDefinitionFamilies returned in paginated output. When this parameter is used, ListTaskDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTaskDefinitionFamilies request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListTaskDefinitionFamilies returns up to 100 results and a nextToken value if applicable.

  • On success, responds with ListTaskDefinitionFamiliesOutput with field(s):
    • families(Option<Vec<String>>):

      The list of task definition family names that match the ListTaskDefinitionFamilies request.

    • next_token(Option<String>):

      The nextToken value to include in a future ListTaskDefinitionFamilies request. When the results of a ListTaskDefinitionFamilies request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListTaskDefinitionFamiliesError>

Constructs a fluent builder for the ListTaskDefinitions operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • family_prefix(impl Into<String>) / set_family_prefix(Option<String>):

      The full family name to filter the ListTaskDefinitions results with. Specifying a familyPrefix limits the listed task definitions to task definition revisions that belong to that family.

    • status(TaskDefinitionStatus) / set_status(Option<TaskDefinitionStatus>):

      The task definition status to filter the ListTaskDefinitions results with. By default, only ACTIVE task definitions are listed. By setting this parameter to INACTIVE, you can view task definitions that are INACTIVE as long as an active task or service still references them. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.

    • sort(SortOrder) / set_sort(Option<SortOrder>):

      The order to sort the results in. Valid values are ASC and DESC. By default, (ASC) task definitions are listed lexicographically by family name and in ascending numerical order by revision so that the newest task definitions in a family are listed last. Setting this parameter to DESC reverses the sort order on family name and revision. This is so that the newest task definitions in a family are listed first.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListTaskDefinitions request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of task definition results that ListTaskDefinitions returned in paginated output. When this parameter is used, ListTaskDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTaskDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListTaskDefinitions returns up to 100 results and a nextToken value if applicable.

  • On success, responds with ListTaskDefinitionsOutput with field(s):
    • task_definition_arns(Option<Vec<String>>):

      The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions request.

    • next_token(Option<String>):

      The nextToken value to include in a future ListTaskDefinitions request. When the results of a ListTaskDefinitions request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListTaskDefinitionsError>

Constructs a fluent builder for the ListTasks operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the ListTasks results. If you do not specify a cluster, the default cluster is assumed.

    • container_instance(impl Into<String>) / set_container_instance(Option<String>):

      The container instance ID or full ARN of the container instance to use when filtering the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

    • family(impl Into<String>) / set_family(Option<String>):

      The name of the task definition family to use when filtering the ListTasks results. Specifying a family limits the results to tasks that belong to that family.

    • next_token(impl Into<String>) / set_next_token(Option<String>):

      The nextToken value returned from a ListTasks request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it’s possible the number of results to be fewer than maxResults.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of task results that ListTasks returned in paginated output. When this parameter is used, ListTasks only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListTasks request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn’t used, then ListTasks returns up to 100 results and a nextToken value if applicable.

    • started_by(impl Into<String>) / set_started_by(Option<String>):

      The startedBy value to filter the task results with. Specifying a startedBy value limits the results to tasks that were started with that value.

    • service_name(impl Into<String>) / set_service_name(Option<String>):

      The name of the service to use when filtering the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

    • desired_status(DesiredStatus) / set_desired_status(Option<DesiredStatus>):

      The task desired status to use when filtering the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED. This can be useful for debugging tasks that aren’t starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING.

      Although you can filter results based on a desired status of PENDING, this doesn’t return any results. Amazon ECS never sets the desired status of a task to that value (only a task’s lastStatus may have a value of PENDING).

    • launch_type(LaunchType) / set_launch_type(Option<LaunchType>):

      The launch type to use when filtering the ListTasks results.

  • On success, responds with ListTasksOutput with field(s):
    • task_arns(Option<Vec<String>>):

      The list of task ARN entries for the ListTasks request.

    • next_token(Option<String>):

      The nextToken value to include in a future ListTasks request. When the results of a ListTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

  • On failure, responds with SdkError<ListTasksError>

Constructs a fluent builder for the PutAccountSetting operation.

  • The fluent builder is configurable:
    • name(SettingName) / set_name(Option<SettingName>):

      The Amazon ECS resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

    • value(impl Into<String>) / set_value(Option<String>):

      The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

    • principal_arn(impl Into<String>) / set_principal_arn(Option<String>):

      The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

      Federated users assume the account setting of the root user and can’t have explicit account settings set for them.

  • On success, responds with PutAccountSettingOutput with field(s):
  • On failure, responds with SdkError<PutAccountSettingError>

Constructs a fluent builder for the PutAccountSettingDefault operation.

  • The fluent builder is configurable:
    • name(SettingName) / set_name(Option<SettingName>):

      The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

    • value(impl Into<String>) / set_value(Option<String>):

      The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

  • On success, responds with PutAccountSettingDefaultOutput with field(s):
  • On failure, responds with SdkError<PutAccountSettingDefaultError>

Constructs a fluent builder for the PutAttributes operation.

Constructs a fluent builder for the PutClusterCapacityProviders operation.

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider settings for. If you don’t specify a cluster, the default cluster is assumed.

    • capacity_providers(Vec<String>) / set_capacity_providers(Option<Vec<String>>):

      The name of one or more capacity providers to associate with the cluster.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

    • default_capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_default_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to use by default for the cluster.

      When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used.

      A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

  • On success, responds with PutClusterCapacityProvidersOutput with field(s):
  • On failure, responds with SdkError<PutClusterCapacityProvidersError>

Constructs a fluent builder for the RegisterContainerInstance operation.

Constructs a fluent builder for the RegisterTaskDefinition operation.

  • The fluent builder is configurable:
    • family(impl Into<String>) / set_family(Option<String>):

      You must specify a family for a task definition. You can use it track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

    • task_role_arn(impl Into<String>) / set_task_role_arn(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

    • execution_role_arn(impl Into<String>) / set_execution_role_arn(Option<String>):

      The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make Amazon Web Services API calls on your behalf. The task execution IAM role is required depending on the requirements of your task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide.

    • network_mode(NetworkMode) / set_network_mode(Option<NetworkMode>):

      The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

      For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

      With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

      When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

      If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

      If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

      For more information, see Network settings in the Docker run reference.

    • container_definitions(Vec<ContainerDefinition>) / set_container_definitions(Option<Vec<ContainerDefinition>>):

      A list of container definitions in JSON format that describe the different containers that make up your task.

    • volumes(Vec<Volume>) / set_volumes(Option<Vec<Volume>>):

      A list of volume definitions in JSON format that containers in your task might use.

    • placement_constraints(Vec<TaskDefinitionPlacementConstraint>) / set_placement_constraints(Option<Vec<TaskDefinitionPlacementConstraint>>):

      An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.

    • requires_compatibilities(Vec<Compatibility>) / set_requires_compatibilities(Option<Vec<Compatibility>>):

      The task launch type that Amazon ECS validates the task definition against. A client exception is returned if the task definition doesn’t validate against the compatibilities specified. If no value is specified, the parameter is omitted from the response.

    • cpu(impl Into<String>) / set_cpu(Option<String>):

      The number of CPU units used by the task. It can be expressed as an integer using CPU units (for example, 1024) or as a string using vCPUs (for example, 1 vCPU or 1 vcpu) in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

      Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

      If you’re using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

      If you’re using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

      The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

      • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

      • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

      • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

      • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

      • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

    • memory(impl Into<String>) / set_memory(Option<String>):

      The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB (for example ,1024) or as a string using GB (for example, 1GB or 1 GB) in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

      Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

      If using the EC2 launch type, this field is optional.

      If using the Fargate launch type, this field is required and you must use one of the following values. This determines your range of supported values for the cpu parameter.

      The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.

      • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

      • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

      • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

      • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

      • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • pid_mode(PidMode) / set_pid_mode(Option<PidMode>):

      The process namespace to use for the containers in the task. The valid values are host or task. If host is specified, then all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace. For more information, see PID settings in the Docker run reference.

      If the host PID mode is used, be aware that there is a heightened risk of undesired process namespace expose. For more information, see Docker security.

      This parameter is not supported for Windows containers or tasks run on Fargate.

    • ipc_mode(IpcMode) / set_ipc_mode(Option<IpcMode>):

      The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

      If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

      If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

      • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

      • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

      This parameter is not supported for Windows containers or tasks run on Fargate.

    • proxy_configuration(ProxyConfiguration) / set_proxy_configuration(Option<ProxyConfiguration>):

      The configuration details for the App Mesh proxy.

      For tasks hosted on Amazon EC2 instances, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to use a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container Service Developer Guide.

    • inference_accelerators(Vec<InferenceAccelerator>) / set_inference_accelerators(Option<Vec<InferenceAccelerator>>):

      The Elastic Inference accelerators to use for the containers in the task.

    • ephemeral_storage(EphemeralStorage) / set_ephemeral_storage(Option<EphemeralStorage>):

      The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate. For more information, see Fargate task storage in the Amazon ECS User Guide for Fargate.

      This parameter is only supported for tasks hosted on Fargate using the following platform versions:

      • Linux platform version 1.4.0 or later.

      • Windows platform version 1.0.0 or later.

    • runtime_platform(RuntimePlatform) / set_runtime_platform(Option<RuntimePlatform>):

      The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

      When you specify a task definition in a service, this value must match the runtimePlatform value of the service.

  • On success, responds with RegisterTaskDefinitionOutput with field(s):
  • On failure, responds with SdkError<RegisterTaskDefinitionError>

Constructs a fluent builder for the RunTask operation.

  • The fluent builder is configurable:
    • capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to use for the task.

      If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

      When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType.

      A capacity provider strategy may contain a maximum of 6 capacity providers.

    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster to run your task on. If you do not specify a cluster, the default cluster is assumed.

    • count(i32) / set_count(Option<i32>):

      The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks for each call.

    • enable_ecs_managed_tags(bool) / set_enable_ecs_managed_tags(bool):

      Specifies whether to use Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

    • enable_execute_command(bool) / set_enable_execute_command(bool):

      Determines whether to use the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.

      If true, then the task definition must have a task role, or you must provide one as an override.

    • group(impl Into<String>) / set_group(Option<String>):

      The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

    • launch_type(LaunchType) / set_launch_type(Option<LaunchType>):

      The infrastructure to run your standalone task on. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

      The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure.

      Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see Fargate capacity providers in the Amazon ECS User Guide for Fargate.

      The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.

      The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster.

      A task can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

      When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType.

    • network_configuration(NetworkConfiguration) / set_network_configuration(Option<NetworkConfiguration>):

      The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it isn’t supported for other network modes. For more information, see Task networking in the Amazon Elastic Container Service Developer Guide.

    • overrides(TaskOverride) / set_overrides(Option<TaskOverride>):

      A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that’s specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

      A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

    • placement_constraints(Vec<PlacementConstraint>) / set_placement_constraints(Option<Vec<PlacementConstraint>>):

      An array of placement constraint objects to use for the task. You can specify up to 10 constraints for each task (including constraints in the task definition and those specified at runtime).

    • placement_strategy(Vec<PlacementStrategy>) / set_placement_strategy(Option<Vec<PlacementStrategy>>):

      The placement strategy objects to use for the task. You can specify a maximum of 5 strategy rules for each task.

    • platform_version(impl Into<String>) / set_platform_version(Option<String>):

      The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn’t specified, the LATEST platform version is used. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

    • propagate_tags(PropagateTags) / set_propagate_tags(Option<PropagateTags>):

      Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren’t propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

      An error will be received if you specify the SERVICE option when running a task.

    • reference_id(impl Into<String>) / set_reference_id(Option<String>):

      The reference ID to use for the task. The reference ID can have a maximum length of 1024 characters.

    • started_by(impl Into<String>) / set_started_by(Option<String>):

      An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) are allowed.

      If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • task_definition(impl Into<String>) / set_task_definition(Option<String>):

      The family and revision (family:revision) or full ARN of the task definition to run. If a revision isn’t specified, the latest ACTIVE revision is used.

      When you create an IAM policy for run-task, you can set the resource to be the latest task definition revision, or a specific revision.

      The full ARN value must match the value that you specified as the Resource of the IAM principal’s permissions policy.

      When you specify the policy resource as the latest task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.

      When you specify the policy resource as a specific task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1 or arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1.

      For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service developer Guide.

  • On success, responds with RunTaskOutput with field(s):
  • On failure, responds with SdkError<RunTaskError>

Constructs a fluent builder for the StartTask operation.

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster where to start your task. If you do not specify a cluster, the default cluster is assumed.

    • container_instances(Vec<String>) / set_container_instances(Option<Vec<String>>):

      The container instance IDs or full ARN entries for the container instances where you would like to place your task. You can specify up to 10 container instances.

    • enable_ecs_managed_tags(bool) / set_enable_ecs_managed_tags(bool):

      Specifies whether to use Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

    • enable_execute_command(bool) / set_enable_execute_command(bool):

      Whether or not the execute command functionality is enabled for the task. If true, this enables execute command functionality on all containers in the task.

    • group(impl Into<String>) / set_group(Option<String>):

      The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

    • network_configuration(NetworkConfiguration) / set_network_configuration(Option<NetworkConfiguration>):

      The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

    • overrides(TaskOverride) / set_overrides(Option<TaskOverride>):

      A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it receives. You can override the default command for a container (that’s specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

      A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

    • propagate_tags(PropagateTags) / set_propagate_tags(Option<PropagateTags>):

      Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags aren’t propagated.

    • reference_id(impl Into<String>) / set_reference_id(Option<String>):

      The reference ID to use for the task.

    • started_by(impl Into<String>) / set_started_by(Option<String>):

      An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) are allowed.

      If a task is started by an Amazon ECS service, the startedBy parameter contains the deployment ID of the service that starts it.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

    • task_definition(impl Into<String>) / set_task_definition(Option<String>):

      The family and revision (family:revision) or full ARN of the task definition to start. If a revision isn’t specified, the latest ACTIVE revision is used.

  • On success, responds with StartTaskOutput with field(s):
  • On failure, responds with SdkError<StartTaskError>

Constructs a fluent builder for the StopTask operation.

Constructs a fluent builder for the SubmitAttachmentStateChanges operation.

Constructs a fluent builder for the SubmitContainerStateChange operation.

Constructs a fluent builder for the SubmitTaskStateChange operation.

Constructs a fluent builder for the TagResource operation.

  • The fluent builder is configurable:
    • resource_arn(impl Into<String>) / set_resource_arn(Option<String>):

      The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The tags to add to the resource. A tag is an array of key-value pairs.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • On success, responds with TagResourceOutput
  • On failure, responds with SdkError<TagResourceError>

Constructs a fluent builder for the UntagResource operation.

Constructs a fluent builder for the UpdateCapacityProvider operation.

Constructs a fluent builder for the UpdateCluster operation.

Constructs a fluent builder for the UpdateClusterSettings operation.

Constructs a fluent builder for the UpdateContainerAgent operation.

Constructs a fluent builder for the UpdateContainerInstancesState operation.

Constructs a fluent builder for the UpdateService operation.

  • The fluent builder is configurable:
    • cluster(impl Into<String>) / set_cluster(Option<String>):

      The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on. If you do not specify a cluster, the default cluster is assumed.

    • service(impl Into<String>) / set_service(Option<String>):

      The name of the service to update.

    • desired_count(i32) / set_desired_count(Option<i32>):

      The number of instantiations of the task to place and keep running in your service.

    • task_definition(impl Into<String>) / set_task_definition(Option<String>):

      The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. If you modify the task definition with UpdateService, Amazon ECS spawns a task with the new version of the task definition and then stops an old task after the new version is running.

    • capacity_provider_strategy(Vec<CapacityProviderStrategyItem>) / set_capacity_provider_strategy(Option<Vec<CapacityProviderStrategyItem>>):

      The capacity provider strategy to update the service to use.

      if the service uses the default capacity provider strategy for the cluster, the service can be updated to use one or more capacity providers as opposed to the default capacity provider strategy. However, when a service is using a capacity provider strategy that’s not the default capacity provider strategy, the service can’t be updated to use the cluster’s default capacity provider strategy.

      A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

      The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

    • deployment_configuration(DeploymentConfiguration) / set_deployment_configuration(Option<DeploymentConfiguration>):

      Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

    • network_configuration(NetworkConfiguration) / set_network_configuration(Option<NetworkConfiguration>):

      An object representing the network configuration for the service.

    • placement_constraints(Vec<PlacementConstraint>) / set_placement_constraints(Option<Vec<PlacementConstraint>>):

      An array of task placement constraint objects to update the service to use. If no value is specified, the existing placement constraints for the service will remain unchanged. If this value is specified, it will override any existing placement constraints defined for the service. To remove all existing placement constraints, specify an empty array.

      You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.

    • placement_strategy(Vec<PlacementStrategy>) / set_placement_strategy(Option<Vec<PlacementStrategy>>):

      The task placement strategy objects to update the service to use. If no value is specified, the existing placement strategy for the service will remain unchanged. If this value is specified, it will override the existing placement strategy defined for the service. To remove an existing placement strategy, specify an empty object.

      You can specify a maximum of five strategy rules for each service.

    • platform_version(impl Into<String>) / set_platform_version(Option<String>):

      The platform version that your tasks in the service run on. A platform version is only specified for tasks using the Fargate launch type. If a platform version is not specified, the LATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

    • force_new_deployment(bool) / set_force_new_deployment(bool):

      Determines whether to force a new deployment of the service. By default, deployments aren’t forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service’s tasks to use a newer Docker image with the same image/tag combination (my_image:latest) or to roll Fargate tasks onto a newer platform version.

    • health_check_grace_period_seconds(i32) / set_health_check_grace_period_seconds(Option<i32>):

      The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service’s tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

    • enable_execute_command(bool) / set_enable_execute_command(Option<bool>):

      If true, this enables execute command functionality on all task containers.

      If you do not want to override the value that was set when the service was created, you can set this to null when performing this action.

    • enable_ecs_managed_tags(bool) / set_enable_ecs_managed_tags(Option<bool>):

      Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

      Only tasks launched after the update will reflect the update. To update the tags on all tasks, set forceNewDeployment to true, so that Amazon ECS starts new tasks with the updated tags.

    • load_balancers(Vec<LoadBalancer>) / set_load_balancers(Option<Vec<LoadBalancer>>):

      A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the container name, and the container port to access from the load balancer. The container name is as it appears in a container definition.

      When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks are running.

      For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target groups. You can update from a single target group to multiple target groups and from multiple target groups to a single target group.

      For services that use blue/green deployments, you can update Elastic Load Balancing target groups by using CreateDeployment through CodeDeploy. Note that multiple target groups are not supported for blue/green deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

      For services that use the external deployment controller, you can add, update, or remove load balancers by using CreateTaskSet. Note that multiple target groups are not supported for external deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

      You can remove existing loadBalancers by passing an empty list.

    • propagate_tags(PropagateTags) / set_propagate_tags(Option<PropagateTags>):

      Determines whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags aren’t propagated.

      Only tasks launched after the update will reflect the update. To update the tags on all tasks, set forceNewDeployment to true, so that Amazon ECS starts new tasks with the updated tags.

    • service_registries(Vec<ServiceRegistry>) / set_service_registries(Option<Vec<ServiceRegistry>>):

      The details for the service discovery registries to assign to this service. For more information, see Service Discovery.

      When you add, update, or remove the service registries configuration, Amazon ECS starts new tasks with the updated service registries configuration, and then stops the old tasks when the new tasks are running.

      You can remove existing serviceRegistries by passing an empty list.

  • On success, responds with UpdateServiceOutput with field(s):
  • On failure, responds with SdkError<UpdateServiceError>

Constructs a fluent builder for the UpdateServicePrimaryTaskSet operation.

Constructs a fluent builder for the UpdateTaskSet operation.

Creates a client with the given service config and connector override.

Creates a new client from a shared config.

Creates a new client from the service Config.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more