lib/aws-sdk-ecs/client.rb in aws-sdk-ecs-1.4.0 vs lib/aws-sdk-ecs/client.rb in aws-sdk-ecs-1.5.0

- old
+ new

@@ -164,17 +164,17 @@ # create the service-linked role for your account so that required # resources in other AWS services can be managed on your behalf. # However, if the IAM user that makes the call does not have permissions # to create the service-linked role, it is not created. For more # information, see [Using Service-Linked Roles for Amazon ECS][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # </note> # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing-service-linked-roles.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html # # @option params [String] :cluster_name # The name of your cluster. If you do not specify a name for your # cluster, you create a cluster named `default`. Up to 255 letters # (uppercase and lowercase), numbers, hyphens, and underscores are @@ -219,10 +219,13 @@ # resp.cluster.status #=> String # resp.cluster.registered_container_instances_count #=> Integer # resp.cluster.running_tasks_count #=> Integer # resp.cluster.pending_tasks_count #=> Integer # resp.cluster.active_services_count #=> Integer + # resp.cluster.statistics #=> Array + # resp.cluster.statistics[0].name #=> String + # resp.cluster.statistics[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster AWS API Documentation # # @overload create_cluster(params = {}) # @param [Hash] params ({}) @@ -238,17 +241,18 @@ # # In addition to maintaining the desired count of tasks in your service, # you can optionally run your service behind a load balancer. The load # balancer distributes traffic across the tasks that are associated with # the service. For more information, see [Service Load Balancing][1] in - # the *Amazon EC2 Container Service Developer Guide*. + # the *Amazon Elastic Container Service Developer Guide*. # # You can optionally specify a deployment configuration for your - # service. During a deployment (which is triggered by changing the task - # definition or the desired count of a service with an UpdateService - # operation), the service scheduler uses the `minimumHealthyPercent` and - # `maximumPercent` parameters to determine the deployment strategy. + # service. During a deployment, the service scheduler uses the + # `minimumHealthyPercent` and `maximumPercent` parameters to determine + # the deployment strategy. The deployment is triggered by changing the + # task definition or the desired count of a service with an + # UpdateService operation. # # The `minimumHealthyPercent` represents a lower limit on the number of # your service's tasks that must remain in the `RUNNING` state during a # deployment, as a percentage of the `desiredCount` (rounded up to the # nearest integer). This parameter enables you to deploy without using @@ -311,13 +315,13 @@ # numbers, hyphens, and underscores 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. # # @option params [required, String] :task_definition - # The `family` and `revision` (`family:revision`) or full Amazon - # Resource Name (ARN) of the task definition to run in your service. If - # a `revision` is not specified, the latest `ACTIVE` revision is used. + # 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. # # @option params [Array<Types::LoadBalancer>] :load_balancers # A load balancer object representing the load balancer to use with your # service. Currently, you are limited to one load balancer or target # group per service. After you create a service, the load balancer name @@ -343,10 +347,17 @@ # # @option params [String] :client_token # Unique, case-sensitive identifier you provide to ensure the # idempotency of the request. Up to 32 ASCII characters are allowed. # + # @option params [String] :launch_type + # The launch type on which to run your service. + # + # @option params [String] :platform_version + # The platform version on which to run your service. If one is not + # specified, the latest version is used by default. + # # @option params [String] :role # 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 does not use the `awsvpc` @@ -356,23 +367,23 @@ # If your account has already created the Amazon ECS service-linked # role, that role is used by default for your service unless you specify # a role here. The service-linked role is required if your task # definition uses the `awsvpc` network mode, in which case you should # not specify a role here. For more information, see [Using - # Service-Linked Roles for Amazon ECS][1] in the *Amazon EC2 Container - # Service Developer Guide*. + # Service-Linked Roles for Amazon ECS][1] 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][2] in the *IAM # User Guide*. # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing-service-linked-roles.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names # # @option params [Types::DeploymentConfiguration] :deployment_configuration # Optional deployment parameters that control how many tasks run during # the deployment and the ordering of stopping and starting tasks. @@ -383,22 +394,22 @@ # limit includes constraints in the task definition and those specified # at run time). # # @option params [Array<Types::PlacementStrategy>] :placement_strategy # The placement strategy objects to use for tasks in your service. You - # can specify a maximum of 5 strategy rules per service. + # can specify a maximum of five strategy rules per service. # # @option params [Types::NetworkConfiguration] :network_configuration # 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 is not supported for other # network modes. For more information, see [Task Networking][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html # # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateServiceResponse#service #service} => Types::Service # @@ -534,10 +545,12 @@ # container_port: 1, # }, # ], # desired_count: 1, # required # client_token: "String", + # launch_type: "EC2", # accepts EC2, FARGATE + # platform_version: "String", # role: "String", # deployment_configuration: { # maximum_percent: 1, # minimum_healthy_percent: 1, # }, @@ -555,10 +568,11 @@ # ], # network_configuration: { # awsvpc_configuration: { # subnets: ["String"], # required # security_groups: ["String"], + # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED # }, # }, # }) # # @example Response structure @@ -573,10 +587,12 @@ # resp.service.load_balancers[0].container_port #=> Integer # resp.service.status #=> String # resp.service.desired_count #=> Integer # resp.service.running_count #=> Integer # resp.service.pending_count #=> Integer + # resp.service.launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.platform_version #=> String # resp.service.task_definition #=> String # resp.service.deployment_configuration.maximum_percent #=> Integer # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer # resp.service.deployments #=> Array # resp.service.deployments[0].id #=> String @@ -585,14 +601,17 @@ # resp.service.deployments[0].desired_count #=> Integer # resp.service.deployments[0].pending_count #=> Integer # resp.service.deployments[0].running_count #=> Integer # resp.service.deployments[0].created_at #=> Time # resp.service.deployments[0].updated_at #=> Time + # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.deployments[0].platform_version #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # resp.service.role_arn #=> String # resp.service.events #=> Array # resp.service.events[0].id #=> String # resp.service.events[0].created_at #=> Time # resp.service.events[0].message #=> String @@ -605,10 +624,11 @@ # resp.service.placement_strategy[0].field #=> String # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation # # @overload create_service(params = {}) # @param [Hash] params ({}) @@ -713,10 +733,13 @@ # resp.cluster.status #=> String # resp.cluster.registered_container_instances_count #=> Integer # resp.cluster.running_tasks_count #=> Integer # resp.cluster.pending_tasks_count #=> Integer # resp.cluster.active_services_count #=> Integer + # resp.cluster.statistics #=> Array + # resp.cluster.statistics[0].name #=> String + # resp.cluster.statistics[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster AWS API Documentation # # @overload delete_cluster(params = {}) # @param [Hash] params ({}) @@ -735,13 +758,13 @@ # require cleanup, the service status moves from `ACTIVE` to `DRAINING`, # and the service is no longer visible in the console or in ListServices # API operations. After the tasks have stopped, then the service status # moves from `DRAINING` to `INACTIVE`. Services in the `DRAINING` or # `INACTIVE` status can still be viewed with DescribeServices API - # operations; however, in the future, `INACTIVE` services may be cleaned + # operations. However, in the future, `INACTIVE` services may be cleaned # up and purged from Amazon ECS record keeping, and DescribeServices API - # operations on those services will return a `ServiceNotFoundException` + # operations on those services return a `ServiceNotFoundException` # error. # # </note> # # @option params [String] :cluster @@ -789,10 +812,12 @@ # resp.service.load_balancers[0].container_port #=> Integer # resp.service.status #=> String # resp.service.desired_count #=> Integer # resp.service.running_count #=> Integer # resp.service.pending_count #=> Integer + # resp.service.launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.platform_version #=> String # resp.service.task_definition #=> String # resp.service.deployment_configuration.maximum_percent #=> Integer # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer # resp.service.deployments #=> Array # resp.service.deployments[0].id #=> String @@ -801,14 +826,17 @@ # resp.service.deployments[0].desired_count #=> Integer # resp.service.deployments[0].pending_count #=> Integer # resp.service.deployments[0].running_count #=> Integer # resp.service.deployments[0].created_at #=> Time # resp.service.deployments[0].updated_at #=> Time + # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.deployments[0].platform_version #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # resp.service.role_arn #=> String # resp.service.events #=> Array # resp.service.events[0].id #=> String # resp.service.events[0].created_at #=> Time # resp.service.events[0].message #=> String @@ -821,10 +849,11 @@ # resp.service.placement_strategy[0].field #=> String # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation # # @overload delete_service(params = {}) # @param [Hash] params ({}) @@ -836,12 +865,12 @@ # Deregisters an Amazon ECS container instance from the specified # cluster. This instance is no longer available to run tasks. # # If you intend to use the container instance for some other purpose # after deregistration, you should stop all of the tasks running on the - # container instance before deregistration to avoid any orphaned tasks - # from consuming resources. + # container instance before deregistration. That prevents any orphaned + # tasks from consuming resources. # # Deregistering a container instance removes the instance from a # cluster, but it does not terminate the EC2 instance; if you are # finished using the instance, be sure to terminate it in the Amazon EC2 # console to stop billing. @@ -857,15 +886,15 @@ # 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. # # @option params [required, String] :container_instance - # The container instance ID or full Amazon Resource Name (ARN) of the - # container instance to deregister. The ARN contains the `arn:aws:ecs` - # namespace, followed by the region of the container instance, the AWS - # account ID of the container instance owner, the `container-instance` - # namespace, and then the container instance ID. For example, + # 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 AWS 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 # `. # # @option params [Boolean] :force # Forces the deregistration of the container instance. If you have tasks @@ -877,12 +906,12 @@ # 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, and they will begin connection draining according to the - # settings on the load balancer or target group. + # deregistered. They begin connection draining according to the settings + # on the load balancer or target group. # # @return [Types::DeregisterContainerInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeregisterContainerInstanceResponse#container_instance #container_instance} => Types::ContainerInstance # @@ -970,17 +999,17 @@ # the service's desired count. # # You cannot use an `INACTIVE` task definition to run new tasks or # create new services, and you cannot update an existing service to # reference an `INACTIVE` task definition (although there may be up to a - # 10 minute window following deregistration where these restrictions + # 10-minute window following deregistration where these restrictions # have not yet taken effect). # # <note markdown="1"> At this time, `INACTIVE` task definitions remain discoverable in your # account indefinitely; however, this behavior is subject to change in # the future, so you should not rely on `INACTIVE` task definitions - # persisting beyond the life cycle of any associated tasks and services. + # persisting beyond the lifecycle of any associated tasks and services. # # </note> # # @option params [required, String] :task_definition # The `family` and `revision` (`family:revision`) or full Amazon @@ -1061,10 +1090,11 @@ # resp.task_definition.container_definitions[0].log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk" # resp.task_definition.container_definitions[0].log_configuration.options #=> Hash # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String # resp.task_definition.family #=> String # resp.task_definition.task_role_arn #=> String + # resp.task_definition.execution_role_arn #=> String # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none" # resp.task_definition.revision #=> Integer # resp.task_definition.volumes #=> Array # resp.task_definition.volumes[0].name #=> String # resp.task_definition.volumes[0].host.source_path #=> String @@ -1075,10 +1105,16 @@ # resp.task_definition.requires_attributes[0].target_type #=> String, one of "container-instance" # resp.task_definition.requires_attributes[0].target_id #=> String # resp.task_definition.placement_constraints #=> Array # resp.task_definition.placement_constraints[0].type #=> String, one of "memberOf" # resp.task_definition.placement_constraints[0].expression #=> String + # resp.task_definition.compatibilities #=> Array + # resp.task_definition.compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.requires_compatibilities #=> Array + # resp.task_definition.requires_compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.cpu #=> String + # resp.task_definition.memory #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition AWS API Documentation # # @overload deregister_task_definition(params = {}) # @param [Hash] params ({}) @@ -1092,10 +1128,30 @@ # @option params [Array<String>] :clusters # A list of up to 100 cluster names or full cluster Amazon Resource Name # (ARN) entries. If you do not specify a cluster, the default cluster is # assumed. # + # @option params [Array<String>] :include + # Additional information about your clusters to be separated by launch + # type, including: + # + # * runningEC2TasksCount + # + # * RunningFargateTasksCount + # + # * pendingEC2TasksCount + # + # * pendingFargateTasksCount + # + # * activeEC2ServiceCount + # + # * activeFargateServiceCount + # + # * drainingEC2ServiceCount + # + # * drainingFargateServiceCount + # # @return [Types::DescribeClustersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeClustersResponse#clusters #clusters} => Array&lt;Types::Cluster&gt; # * {Types::DescribeClustersResponse#failures #failures} => Array&lt;Types::Failure&gt; # @@ -1125,10 +1181,11 @@ # # @example Request syntax with placeholder values # # resp = client.describe_clusters({ # clusters: ["String"], + # include: ["STATISTICS"], # accepts STATISTICS # }) # # @example Response structure # # resp.clusters #=> Array @@ -1137,10 +1194,13 @@ # resp.clusters[0].status #=> String # resp.clusters[0].registered_container_instances_count #=> Integer # resp.clusters[0].running_tasks_count #=> Integer # resp.clusters[0].pending_tasks_count #=> Integer # resp.clusters[0].active_services_count #=> Integer + # resp.clusters[0].statistics #=> Array + # resp.clusters[0].statistics[0].name #=> String + # resp.clusters[0].statistics[0].value #=> String # resp.failures #=> Array # resp.failures[0].arn #=> String # resp.failures[0].reason #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters AWS API Documentation @@ -1150,22 +1210,21 @@ def describe_clusters(params = {}, options = {}) req = build_request(:describe_clusters, params) req.send_request(options) end - # Describes Amazon EC2 Container Service container instances. Returns - # metadata about registered and remaining resources on each container - # instance requested. + # Describes Amazon Elastic Container Service container instances. + # Returns metadata about registered and remaining resources on each + # container instance requested. # # @option params [String] :cluster # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the container instances to describe. If you do not specify a # cluster, the default cluster is assumed. # # @option params [required, Array<String>] :container_instances - # A list of container instance IDs or full Amazon Resource Name (ARN) - # entries. + # A list of container instance IDs or full ARN entries. # # @return [Types::DescribeContainerInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeContainerInstancesResponse#container_instances #container_instances} => Array&lt;Types::ContainerInstance&gt; # * {Types::DescribeContainerInstancesResponse#failures #failures} => Array&lt;Types::Failure&gt; @@ -1412,10 +1471,12 @@ # resp.services[0].load_balancers[0].container_port #=> Integer # resp.services[0].status #=> String # resp.services[0].desired_count #=> Integer # resp.services[0].running_count #=> Integer # resp.services[0].pending_count #=> Integer + # resp.services[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.services[0].platform_version #=> String # resp.services[0].task_definition #=> String # resp.services[0].deployment_configuration.maximum_percent #=> Integer # resp.services[0].deployment_configuration.minimum_healthy_percent #=> Integer # resp.services[0].deployments #=> Array # resp.services[0].deployments[0].id #=> String @@ -1424,14 +1485,17 @@ # resp.services[0].deployments[0].desired_count #=> Integer # resp.services[0].deployments[0].pending_count #=> Integer # resp.services[0].deployments[0].running_count #=> Integer # resp.services[0].deployments[0].created_at #=> Time # resp.services[0].deployments[0].updated_at #=> Time + # resp.services[0].deployments[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.services[0].deployments[0].platform_version #=> String # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # resp.services[0].role_arn #=> String # resp.services[0].events #=> Array # resp.services[0].events[0].id #=> String # resp.services[0].events[0].created_at #=> Time # resp.services[0].events[0].message #=> String @@ -1444,10 +1508,11 @@ # resp.services[0].placement_strategy[0].field #=> String # resp.services[0].network_configuration.awsvpc_configuration.subnets #=> Array # resp.services[0].network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.services[0].network_configuration.awsvpc_configuration.security_groups #=> Array # resp.services[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.services[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # resp.failures #=> Array # resp.failures[0].arn #=> String # resp.failures[0].reason #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices AWS API Documentation @@ -1611,10 +1676,11 @@ # resp.task_definition.container_definitions[0].log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk" # resp.task_definition.container_definitions[0].log_configuration.options #=> Hash # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String # resp.task_definition.family #=> String # resp.task_definition.task_role_arn #=> String + # resp.task_definition.execution_role_arn #=> String # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none" # resp.task_definition.revision #=> Integer # resp.task_definition.volumes #=> Array # resp.task_definition.volumes[0].name #=> String # resp.task_definition.volumes[0].host.source_path #=> String @@ -1625,10 +1691,16 @@ # resp.task_definition.requires_attributes[0].target_type #=> String, one of "container-instance" # resp.task_definition.requires_attributes[0].target_id #=> String # resp.task_definition.placement_constraints #=> Array # resp.task_definition.placement_constraints[0].type #=> String, one of "memberOf" # resp.task_definition.placement_constraints[0].expression #=> String + # resp.task_definition.compatibilities #=> Array + # resp.task_definition.compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.requires_compatibilities #=> Array + # resp.task_definition.requires_compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.cpu #=> String + # resp.task_definition.memory #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition AWS API Documentation # # @overload describe_task_definition(params = {}) # @param [Hash] params ({}) @@ -1643,12 +1715,11 @@ # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the task to describe. If you do not specify a cluster, the # default cluster is assumed. # # @option params [required, Array<String>] :tasks - # A list of up to 100 task IDs or full Amazon Resource Name (ARN) - # entries. + # A list of up to 100 task IDs or full ARN entries. # # @return [Types::DescribeTasksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeTasksResponse#tasks #tasks} => Array&lt;Types::Task&gt; # * {Types::DescribeTasksResponse#failures #failures} => Array&lt;Types::Failure&gt; @@ -1726,12 +1797,15 @@ # resp.tasks[0].overrides.container_overrides[0].environment[0].value #=> String # resp.tasks[0].overrides.container_overrides[0].cpu #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory_reservation #=> Integer # resp.tasks[0].overrides.task_role_arn #=> String + # resp.tasks[0].overrides.execution_role_arn #=> String # resp.tasks[0].last_status #=> String # resp.tasks[0].desired_status #=> String + # resp.tasks[0].cpu #=> String + # resp.tasks[0].memory #=> String # resp.tasks[0].containers #=> Array # resp.tasks[0].containers[0].container_arn #=> String # resp.tasks[0].containers[0].task_arn #=> String # resp.tasks[0].containers[0].name #=> String # resp.tasks[0].containers[0].last_status #=> String @@ -1747,14 +1821,22 @@ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String # resp.tasks[0].started_by #=> String # resp.tasks[0].version #=> Integer # resp.tasks[0].stopped_reason #=> String + # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED" + # resp.tasks[0].connectivity_at #=> Time + # resp.tasks[0].pull_started_at #=> Time + # resp.tasks[0].pull_stopped_at #=> Time + # resp.tasks[0].execution_stopped_at #=> Time # resp.tasks[0].created_at #=> Time # resp.tasks[0].started_at #=> Time + # resp.tasks[0].stopping_at #=> Time # resp.tasks[0].stopped_at #=> Time # resp.tasks[0].group #=> String + # resp.tasks[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.tasks[0].platform_version #=> String # resp.tasks[0].attachments #=> Array # resp.tasks[0].attachments[0].id #=> String # resp.tasks[0].attachments[0].type #=> String # resp.tasks[0].attachments[0].status #=> String # resp.tasks[0].attachments[0].details #=> Array @@ -1771,24 +1853,23 @@ def describe_tasks(params = {}, options = {}) req = build_request(:describe_tasks, params) req.send_request(options) end - # <note markdown="1"> This action is only used by the Amazon EC2 Container Service agent, - # and it is not intended for use outside of the agent. + # <note markdown="1"> This action is only used by the Amazon ECS agent, and it is not + # intended for use outside of the agent. # # </note> # - # Returns an endpoint for the Amazon EC2 Container Service agent to poll - # for updates. + # Returns an endpoint for the Amazon ECS agent to poll for updates. # # @option params [String] :container_instance - # The container instance ID or full Amazon Resource Name (ARN) of the - # container instance. The ARN contains the `arn:aws:ecs` namespace, - # followed by the region of the container instance, the AWS account ID - # of the container instance owner, the `container-instance` namespace, - # and then the container instance ID. For example, + # The container instance ID or full ARN of the container instance. The + # ARN contains the `arn:aws:ecs` namespace, followed by the region of + # the container instance, the AWS 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 # `. # # @option params [String] :cluster # The short name or full Amazon Resource Name (ARN) of the cluster that @@ -1846,12 +1927,11 @@ # # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListAttributes` 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 - # value is `null` when there are no more results to return. + # end of the previous results that returned the `nextToken` value. # # <note markdown="1"> 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. # @@ -1905,12 +1985,11 @@ # # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListClusters` 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 - # value is `null` when there are no more results to return. + # end of the previous results that returned the `nextToken` value. # # <note markdown="1"> 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. # @@ -1970,12 +2049,12 @@ end # Returns a list of container instances in a specified cluster. You can # filter the results of a `ListContainerInstances` operation with # cluster query language statements inside the `filter` parameter. For - # more information, see [Cluster Query Language][1] in the *Amazon EC2 - # Container Service Developer Guide*. + # more information, see [Cluster Query Language][1] in the *Amazon + # Elastic Container Service Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html # @@ -1985,11 +2064,11 @@ # cluster, the default cluster is assumed. # # @option params [String] :filter # You can filter the results of a `ListContainerInstances` operation # with cluster query language statements. For more information, see - # [Cluster Query Language][1] in the *Amazon EC2 Container Service + # [Cluster Query Language][1] in the *Amazon Elastic Container Service # Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html @@ -1997,11 +2076,11 @@ # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListContainerInstances` 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 value is `null` when there are no more results to return. + # value. # # <note markdown="1"> 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. # @@ -2081,12 +2160,11 @@ # # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListServices` 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 - # value is `null` when there are no more results to return. + # end of the previous results that returned the `nextToken` value. # # <note markdown="1"> 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. # @@ -2100,10 +2178,13 @@ # seen by sending another `ListServices` request with the returned # `nextToken` value. This value can be between 1 and 10. If this # parameter is not used, then `ListServices` returns up to 10 results # and a `nextToken` value if applicable. # + # @option params [String] :launch_type + # The launch type for services you want to list. + # # @return [Types::ListServicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListServicesResponse#service_arns #service_arns} => Array&lt;String&gt; # * {Types::ListServicesResponse#next_token #next_token} => String # @@ -2126,10 +2207,11 @@ # # resp = client.list_services({ # cluster: "String", # next_token: "String", # max_results: 1, + # launch_type: "EC2", # accepts EC2, FARGATE # }) # # @example Response structure # # resp.service_arns #=> Array @@ -2174,11 +2256,11 @@ # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListTaskDefinitionFamilies` 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 value is `null` when there are no more results to return. + # value. # # <note markdown="1"> 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. # @@ -2288,11 +2370,11 @@ # @option params [String] :next_token # The `nextToken` value returned from a previous paginated # `ListTaskDefinitions` 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 value is `null` when there are no more results to return. + # value. # # <note markdown="1"> 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. # @@ -2380,36 +2462,35 @@ # Returns a list of tasks for a specified cluster. You can filter the # results by family name, by a particular container instance, or by the # desired status of the task with the `family`, `containerInstance`, and # `desiredStatus` parameters. # - # Recently-stopped tasks might appear in the returned results. + # Recently stopped tasks might appear in the returned results. # Currently, stopped tasks appear in the returned results for at least # one hour. # # @option params [String] :cluster # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the tasks to list. If you do not specify a cluster, the default # cluster is assumed. # # @option params [String] :container_instance - # The container instance ID or full Amazon Resource Name (ARN) of the - # container instance with which to filter the `ListTasks` results. - # Specifying a `containerInstance` limits the results to tasks that - # belong to that container instance. + # The container instance ID or full ARN of the container instance with + # which to filter the `ListTasks` results. Specifying a + # `containerInstance` limits the results to tasks that belong to that + # container instance. # # @option params [String] :family # The name of the family with which to filter the `ListTasks` results. # Specifying a `family` limits the results to tasks that belong to that # family. # # @option params [String] :next_token # The `nextToken` value returned from a previous paginated `ListTasks` # 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 value is `null` when - # there are no more results to return. + # results that returned the `nextToken` value. # # <note markdown="1"> 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. # @@ -2436,22 +2517,25 @@ # that service. # # @option params [String] :desired_status # The task desired status with which to filter the `ListTasks` results. # Specifying a `desiredStatus` of `STOPPED` limits the results to tasks - # that ECS has set the desired status to `STOPPED`, which can be useful - # for debugging tasks that are not starting properly or have died or - # finished. The default status filter is `RUNNING`, which shows tasks - # that ECS has set the desired status to `RUNNING`. + # that Amazon ECS has set the desired status to `STOPPED`, which can be + # useful for debugging tasks that are not 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`. # # <note markdown="1"> Although you can filter results based on a desired status of - # `PENDING`, this will not return any results because ECS never sets the - # desired status of a task to that value (only a task's `lastStatus` - # may have a value of `PENDING`). + # `PENDING`, this does not return any results because Amazon ECS never + # sets the desired status of a task to that value (only a task's + # `lastStatus` may have a value of `PENDING`). # # </note> # + # @option params [String] :launch_type + # The launch type for services you want to list. + # # @return [Types::ListTasksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListTasksResponse#task_arns #task_arns} => Array&lt;String&gt; # * {Types::ListTasksResponse#next_token #next_token} => String # @@ -2498,10 +2582,11 @@ # next_token: "String", # max_results: 1, # started_by: "String", # service_name: "String", # desired_status: "RUNNING", # accepts RUNNING, PENDING, STOPPED + # launch_type: "EC2", # accepts EC2, FARGATE # }) # # @example Response structure # # resp.task_arns #=> Array @@ -2519,11 +2604,11 @@ # Create or update an attribute on an Amazon ECS resource. If the # attribute does not exist, it is created. If the attribute exists, its # value is replaced with the specified value. To delete an attribute, # use DeleteAttributes. For more information, see [Attributes][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes # @@ -2570,12 +2655,12 @@ def put_attributes(params = {}, options = {}) req = build_request(:put_attributes, params) req.send_request(options) end - # <note markdown="1"> This action is only used by the Amazon EC2 Container Service agent, - # and it is not intended for use outside of the agent. + # <note markdown="1"> This action is only used by the Amazon ECS agent, and it is not + # intended for use outside of the agent. # # </note> # # Registers an EC2 instance into the specified cluster. This instance # becomes available to place containers on. @@ -2603,12 +2688,11 @@ # @option params [Types::VersionInfo] :version_info # The version information for the Amazon ECS container agent and Docker # daemon running on the container instance. # # @option params [String] :container_instance_arn - # The Amazon Resource Name (ARN) of the container instance (if it was - # previously registered). + # The ARN of the container instance (if it was previously registered). # # @option params [Array<Types::Attribute>] :attributes # The container instance attributes that this container instance # supports. # @@ -2702,29 +2786,36 @@ # Registers a new task definition from the supplied `family` and # `containerDefinitions`. Optionally, you can add data volumes to your # containers with the `volumes` parameter. For more information about # task definition parameters and defaults, see [Amazon ECS Task - # Definitions][1] in the *Amazon EC2 Container Service Developer Guide*. + # Definitions][1] in the *Amazon Elastic Container Service Developer + # Guide*. # # You can specify an IAM role for your task with the `taskRoleArn` # parameter. When you specify an IAM role for a task, its containers can # then use the latest versions of the AWS CLI or SDKs to make API # requests to the AWS services that are specified in the IAM policy # associated with the role. For more information, see [IAM Roles for - # Tasks][2] in the *Amazon EC2 Container Service Developer Guide*. + # Tasks][2] in the *Amazon Elastic Container Service Developer Guide*. # # You can specify a Docker networking mode for the containers in your # task definition with the `networkMode` parameter. The available # network modes correspond to those described in [Network settings][3] - # in the Docker run reference. + # in the Docker run reference. If you specify the `awsvpc` network mode, + # the task is allocated an Elastic Network Interface, and you must + # specify a NetworkConfiguration when you create a service or run a task + # with the task definition. For more information, see [Task + # Networking][4] in the *Amazon Elastic Container Service Developer + # Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html # [2]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html # [3]: https://docs.docker.com/engine/reference/run/#/network-settings + # [4]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html # # @option params [required, String] :family # You must specify a `family` for a task definition, which allows you to # track multiple versions of the same task definition. The `family` is # used as a name for your task definition. Up to 255 letters (uppercase @@ -2732,48 +2823,55 @@ # # @option params [String] :task_role_arn # 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][1] in the *Amazon EC2 Container - # Service Developer Guide*. + # information, see [IAM Roles for Tasks][1] in the *Amazon Elastic + # Container Service Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html # + # @option params [String] :execution_role_arn + # The Amazon Resource Name (ARN) of the task execution role that the + # Amazon ECS container agent and the Docker daemon can assume. + # # @option params [String] :network_mode # The Docker networking mode to use for the containers in the task. The # valid values are `none`, `bridge`, `awsvpc`, and `host`. The default - # Docker network mode is `bridge`. If the network mode is set to `none`, - # you cannot specify port mappings in your container definitions, and - # the task's 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 + # Docker network mode is `bridge`. If using the Fargate launch type, the + # `awsvpc` network mode is required. If using the EC2 launch type, any + # network mode can be used. If the network mode is set to `none`, you + # can't specify port mappings in your container definitions, and the + # task's 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 ENI port (for the `awsvpc` network - # mode), so you cannot take advantage of dynamic host port mappings. + # network mode) or the attached elastic network interface port (for the + # `awsvpc` network mode), so you cannot take advantage of dynamic host + # port mappings. # # If the network mode is `awsvpc`, the task is allocated an Elastic # Network Interface, and you must specify a NetworkConfiguration when # you create a service or run a task with the task definition. For more - # information, see [Task Networking][1] in the *Amazon EC2 Container + # information, see [Task Networking][1] in the *Amazon Elastic Container # Service Developer Guide*. # - # If the network mode is `host`, you can not run multiple instantiations + # If the network mode is `host`, you can't run multiple instantiations # of the same task on a single container instance when port mappings are # used. # # For more information, see [Network settings][2] in the *Docker run # reference*. # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html # [2]: https://docs.docker.com/engine/reference/run/#network-settings # # @option params [required, Array<Types::ContainerDefinition>] :container_definitions # A list of container definitions in JSON format that describe the # different containers that make up your task. @@ -2785,10 +2883,54 @@ # @option params [Array<Types::TaskDefinitionPlacementConstraint>] :placement_constraints # An array of placement constraint objects to use for the task. You can # specify a maximum of 10 constraints per task (this limit includes # constraints in the task definition and those specified at run time). # + # @option params [Array<String>] :requires_compatibilities + # The launch type required by the task. If no value is specified, it + # defaults to `EC2`. + # + # @option params [String] :cpu + # The number of `cpu` units used by the task. If using the EC2 launch + # type, this field is optional and any value can be used. If you are + # using the Fargate launch type, this field is required and you must use + # one of the following values, which determines your range of valid + # values for the `memory` parameter: + # + # * 256 (.25 vCPU) - Available `memory` values: 512MB, 1GB, 2GB + # + # * 512 (.5 vCPU) - Available `memory` values: 1GB, 2GB, 3GB, 4GB + # + # * 1024 (1 vCPU) - Available `memory` values: 2GB, 3GB, 4GB, 5GB, 6GB, + # 7GB, 8GB + # + # * 2048 (2 vCPU) - Available `memory` values: Between 4GB and 16GB in + # 1GB increments + # + # * 4096 (4 vCPU) - Available `memory` values: Between 8GB and 30GB in + # 1GB increments + # + # @option params [String] :memory + # The amount (in MiB) of memory used by the task. If using the EC2 + # launch type, this field is optional and any value can be used. If you + # are using the Fargate launch type, this field is required and you must + # use one of the following values, which determines your range of valid + # values for the `cpu` parameter: + # + # * 512MB, 1GB, 2GB - Available `cpu` values: 256 (.25 vCPU) + # + # * 1GB, 2GB, 3GB, 4GB - Available `cpu` values: 512 (.5 vCPU) + # + # * 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available `cpu` values: 1024 (1 + # vCPU) + # + # * Between 4GB and 16GB in 1GB increments - Available `cpu` values: + # 2048 (2 vCPU) + # + # * Between 8GB and 30GB in 1GB increments - Available `cpu` values: + # 4096 (4 vCPU) + # # @return [Types::RegisterTaskDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RegisterTaskDefinitionResponse#task_definition #task_definition} => Types::TaskDefinition # # @@ -2851,10 +2993,11 @@ # @example Request syntax with placeholder values # # resp = client.register_task_definition({ # family: "String", # required # task_role_arn: "String", + # execution_role_arn: "String", # network_mode: "bridge", # accepts bridge, host, awsvpc, none # container_definitions: [ # required # { # name: "String", # image: "String", @@ -2950,10 +3093,13 @@ # { # type: "memberOf", # accepts memberOf # expression: "String", # }, # ], + # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE + # cpu: "String", + # memory: "String", # }) # # @example Response structure # # resp.task_definition.task_definition_arn #=> String @@ -3018,10 +3164,11 @@ # resp.task_definition.container_definitions[0].log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk" # resp.task_definition.container_definitions[0].log_configuration.options #=> Hash # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String # resp.task_definition.family #=> String # resp.task_definition.task_role_arn #=> String + # resp.task_definition.execution_role_arn #=> String # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none" # resp.task_definition.revision #=> Integer # resp.task_definition.volumes #=> Array # resp.task_definition.volumes[0].name #=> String # resp.task_definition.volumes[0].host.source_path #=> String @@ -3032,10 +3179,16 @@ # resp.task_definition.requires_attributes[0].target_type #=> String, one of "container-instance" # resp.task_definition.requires_attributes[0].target_id #=> String # resp.task_definition.placement_constraints #=> Array # resp.task_definition.placement_constraints[0].type #=> String, one of "memberOf" # resp.task_definition.placement_constraints[0].expression #=> String + # resp.task_definition.compatibilities #=> Array + # resp.task_definition.compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.requires_compatibilities #=> Array + # resp.task_definition.requires_compatibilities[0] #=> String, one of "EC2", "FARGATE" + # resp.task_definition.cpu #=> String + # resp.task_definition.memory #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition AWS API Documentation # # @overload register_task_definition(params = {}) # @param [Hash] params ({}) @@ -3047,11 +3200,11 @@ # Starts a new task using the specified task definition. # # You can allow Amazon ECS to place tasks for you, or you can customize # how Amazon ECS places tasks using placement constraints and placement # strategies. For more information, see [Scheduling Tasks][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # Alternatively, you can use StartTask to use your own scheduler or # place tasks manually on specific container instances. # # @@ -3062,13 +3215,13 @@ # The short name or full Amazon Resource Name (ARN) of the cluster on # which to run your task. If you do not specify a cluster, the default # cluster is assumed. # # @option params [required, String] :task_definition - # The `family` and `revision` (`family:revision`) or full Amazon - # Resource Name (ARN) of the task definition to run. If a `revision` is - # not specified, the latest `ACTIVE` revision is used. + # The `family` and `revision` (`family:revision`) or full ARN of the + # task definition to run. If a `revision` is not specified, the latest + # `ACTIVE` revision is used. # # @option params [Types::TaskOverride] :overrides # 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 @@ -3109,22 +3262,29 @@ # specify up to 10 constraints per task (including constraints in the # task definition and those specified at run time). # # @option params [Array<Types::PlacementStrategy>] :placement_strategy # The placement strategy objects to use for the task. You can specify a - # maximum of 5 strategy rules per task. + # maximum of five strategy rules per task. # + # @option params [String] :launch_type + # The launch type on which to run your task. + # + # @option params [String] :platform_version + # The platform version on which to run your task. If one is not + # specified, the latest version is used by default. + # # @option params [Types::NetworkConfiguration] :network_configuration # 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 is not supported for other # network modes. For more information, see [Task Networking][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html # # @return [Types::RunTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RunTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt; # * {Types::RunTaskResponse#failures #failures} => Array&lt;Types::Failure&gt; @@ -3187,10 +3347,11 @@ # memory: 1, # memory_reservation: 1, # }, # ], # task_role_arn: "String", + # execution_role_arn: "String", # }, # count: 1, # started_by: "String", # group: "String", # placement_constraints: [ @@ -3203,14 +3364,17 @@ # { # type: "random", # accepts random, spread, binpack # field: "String", # }, # ], + # launch_type: "EC2", # accepts EC2, FARGATE + # platform_version: "String", # network_configuration: { # awsvpc_configuration: { # subnets: ["String"], # required # security_groups: ["String"], + # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED # }, # }, # }) # # @example Response structure @@ -3229,12 +3393,15 @@ # resp.tasks[0].overrides.container_overrides[0].environment[0].value #=> String # resp.tasks[0].overrides.container_overrides[0].cpu #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory_reservation #=> Integer # resp.tasks[0].overrides.task_role_arn #=> String + # resp.tasks[0].overrides.execution_role_arn #=> String # resp.tasks[0].last_status #=> String # resp.tasks[0].desired_status #=> String + # resp.tasks[0].cpu #=> String + # resp.tasks[0].memory #=> String # resp.tasks[0].containers #=> Array # resp.tasks[0].containers[0].container_arn #=> String # resp.tasks[0].containers[0].task_arn #=> String # resp.tasks[0].containers[0].name #=> String # resp.tasks[0].containers[0].last_status #=> String @@ -3250,14 +3417,22 @@ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String # resp.tasks[0].started_by #=> String # resp.tasks[0].version #=> Integer # resp.tasks[0].stopped_reason #=> String + # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED" + # resp.tasks[0].connectivity_at #=> Time + # resp.tasks[0].pull_started_at #=> Time + # resp.tasks[0].pull_stopped_at #=> Time + # resp.tasks[0].execution_stopped_at #=> Time # resp.tasks[0].created_at #=> Time # resp.tasks[0].started_at #=> Time + # resp.tasks[0].stopping_at #=> Time # resp.tasks[0].stopped_at #=> Time # resp.tasks[0].group #=> String + # resp.tasks[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.tasks[0].platform_version #=> String # resp.tasks[0].attachments #=> Array # resp.tasks[0].attachments[0].id #=> String # resp.tasks[0].attachments[0].type #=> String # resp.tasks[0].attachments[0].status #=> String # resp.tasks[0].attachments[0].details #=> Array @@ -3278,12 +3453,12 @@ # Starts a new task from the specified task definition on the specified # container instance or instances. # # Alternatively, you can use RunTask to place tasks for you. For more - # information, see [Scheduling Tasks][1] in the *Amazon EC2 Container - # Service Developer Guide*. + # information, see [Scheduling Tasks][1] in the *Amazon Elastic + # Container Service Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html # @@ -3291,13 +3466,13 @@ # The short name or full Amazon Resource Name (ARN) of the cluster on # which to start your task. If you do not specify a cluster, the default # cluster is assumed. # # @option params [required, String] :task_definition - # The `family` and `revision` (`family:revision`) or full Amazon - # Resource Name (ARN) of the task definition to start. If a `revision` - # is not specified, the latest `ACTIVE` revision is used. + # The `family` and `revision` (`family:revision`) or full ARN of the + # task definition to start. If a `revision` is not specified, the latest + # `ACTIVE` revision is used. # # @option params [Types::TaskOverride] :overrides # 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 @@ -3311,13 +3486,13 @@ # includes the JSON formatting characters of the override structure. # # </note> # # @option params [required, Array<String>] :container_instances - # The container instance IDs or full Amazon Resource Name (ARN) entries - # for the container instances on which you would like to place your - # task. You can specify up to 10 container instances. + # The container instance IDs or full ARN entries for the container + # instances on which you would like to place your task. You can specify + # up to 10 container instances. # # @option params [String] :started_by # 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 @@ -3364,18 +3539,20 @@ # memory: 1, # memory_reservation: 1, # }, # ], # task_role_arn: "String", + # execution_role_arn: "String", # }, # container_instances: ["String"], # required # started_by: "String", # group: "String", # network_configuration: { # awsvpc_configuration: { # subnets: ["String"], # required # security_groups: ["String"], + # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED # }, # }, # }) # # @example Response structure @@ -3394,12 +3571,15 @@ # resp.tasks[0].overrides.container_overrides[0].environment[0].value #=> String # resp.tasks[0].overrides.container_overrides[0].cpu #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory #=> Integer # resp.tasks[0].overrides.container_overrides[0].memory_reservation #=> Integer # resp.tasks[0].overrides.task_role_arn #=> String + # resp.tasks[0].overrides.execution_role_arn #=> String # resp.tasks[0].last_status #=> String # resp.tasks[0].desired_status #=> String + # resp.tasks[0].cpu #=> String + # resp.tasks[0].memory #=> String # resp.tasks[0].containers #=> Array # resp.tasks[0].containers[0].container_arn #=> String # resp.tasks[0].containers[0].task_arn #=> String # resp.tasks[0].containers[0].name #=> String # resp.tasks[0].containers[0].last_status #=> String @@ -3415,14 +3595,22 @@ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String # resp.tasks[0].started_by #=> String # resp.tasks[0].version #=> Integer # resp.tasks[0].stopped_reason #=> String + # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED" + # resp.tasks[0].connectivity_at #=> Time + # resp.tasks[0].pull_started_at #=> Time + # resp.tasks[0].pull_stopped_at #=> Time + # resp.tasks[0].execution_stopped_at #=> Time # resp.tasks[0].created_at #=> Time # resp.tasks[0].started_at #=> Time + # resp.tasks[0].stopping_at #=> Time # resp.tasks[0].stopped_at #=> Time # resp.tasks[0].group #=> String + # resp.tasks[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.tasks[0].platform_version #=> String # resp.tasks[0].attachments #=> Array # resp.tasks[0].attachments[0].id #=> String # resp.tasks[0].attachments[0].type #=> String # resp.tasks[0].attachments[0].status #=> String # resp.tasks[0].attachments[0].details #=> Array @@ -3451,11 +3639,11 @@ # it, no `SIGKILL` is sent. # # <note markdown="1"> The default 30-second timeout can be configured on the Amazon ECS # container agent with the `ECS_CONTAINER_STOP_TIMEOUT` variable. For # more information, see [Amazon ECS Container Agent Configuration][1] in - # the *Amazon EC2 Container Service Developer Guide*. + # the *Amazon Elastic Container Service Developer Guide*. # # </note> # # # @@ -3465,19 +3653,18 @@ # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the task to stop. If you do not specify a cluster, the default # cluster is assumed. # # @option params [required, String] :task - # The task ID or full Amazon Resource Name (ARN) entry of the task to - # stop. + # The task ID or full ARN entry of the task to stop. # # @option params [String] :reason # An optional message specified when a task is stopped. For example, if # you are using a custom scheduler, you can use this parameter to - # specify the reason for stopping the task here, and the message will - # appear in subsequent DescribeTasks API operations on this task. Up to - # 255 characters are allowed in this message. + # specify the reason for stopping the task here, and the message appears + # in subsequent DescribeTasks API operations on this task. Up to 255 + # characters are allowed in this message. # # @return [Types::StopTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::StopTaskResponse#task #task} => Types::Task # @@ -3504,12 +3691,15 @@ # resp.task.overrides.container_overrides[0].environment[0].value #=> String # resp.task.overrides.container_overrides[0].cpu #=> Integer # resp.task.overrides.container_overrides[0].memory #=> Integer # resp.task.overrides.container_overrides[0].memory_reservation #=> Integer # resp.task.overrides.task_role_arn #=> String + # resp.task.overrides.execution_role_arn #=> String # resp.task.last_status #=> String # resp.task.desired_status #=> String + # resp.task.cpu #=> String + # resp.task.memory #=> String # resp.task.containers #=> Array # resp.task.containers[0].container_arn #=> String # resp.task.containers[0].task_arn #=> String # resp.task.containers[0].name #=> String # resp.task.containers[0].last_status #=> String @@ -3525,14 +3715,22 @@ # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String # resp.task.containers[0].network_interfaces[0].ipv6_address #=> String # resp.task.started_by #=> String # resp.task.version #=> Integer # resp.task.stopped_reason #=> String + # resp.task.connectivity #=> String, one of "CONNECTED", "DISCONNECTED" + # resp.task.connectivity_at #=> Time + # resp.task.pull_started_at #=> Time + # resp.task.pull_stopped_at #=> Time + # resp.task.execution_stopped_at #=> Time # resp.task.created_at #=> Time # resp.task.started_at #=> Time + # resp.task.stopping_at #=> Time # resp.task.stopped_at #=> Time # resp.task.group #=> String + # resp.task.launch_type #=> String, one of "EC2", "FARGATE" + # resp.task.platform_version #=> String # resp.task.attachments #=> Array # resp.task.attachments[0].id #=> String # resp.task.attachments[0].type #=> String # resp.task.attachments[0].status #=> String # resp.task.attachments[0].details #=> Array @@ -3546,20 +3744,19 @@ def stop_task(params = {}, options = {}) req = build_request(:stop_task, params) req.send_request(options) end - # <note markdown="1"> This action is only used by the Amazon EC2 Container Service agent, - # and it is not intended for use outside of the agent. + # <note markdown="1"> This action is only used by the Amazon ECS agent, and it is not + # intended for use outside of the agent. # # </note> # # Sent to acknowledge that a container changed states. # # @option params [String] :cluster - # The short name or full Amazon Resource Name (ARN) of the cluster that - # hosts the container. + # The short name or full ARN of the cluster that hosts the container. # # @option params [String] :task # The task ID or full Amazon Resource Name (ARN) of the task that hosts # the container. # @@ -3612,24 +3809,23 @@ def submit_container_state_change(params = {}, options = {}) req = build_request(:submit_container_state_change, params) req.send_request(options) end - # <note markdown="1"> This action is only used by the Amazon EC2 Container Service agent, - # and it is not intended for use outside of the agent. + # <note markdown="1"> This action is only used by the Amazon ECS agent, and it is not + # intended for use outside of the agent. # # </note> # # Sent to acknowledge that a task changed states. # # @option params [String] :cluster # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the task. # # @option params [String] :task - # The task ID or full Amazon Resource Name (ARN) of the task in the - # state change request. + # The task ID or full ARN of the task in the state change request. # # @option params [String] :status # The status of the state change request. # # @option params [String] :reason @@ -3639,10 +3835,19 @@ # Any containers associated with the state change request. # # @option params [Array<Types::AttachmentStateChange>] :attachments # Any attachments associated with the state change request. # + # @option params [Time,DateTime,Date,Integer,String] :pull_started_at + # The Unix time stamp for when the container image pull began. + # + # @option params [Time,DateTime,Date,Integer,String] :pull_stopped_at + # The Unix time stamp for when the container image pull completed. + # + # @option params [Time,DateTime,Date,Integer,String] :execution_stopped_at + # The Unix timestamp for when the task execution stopped. + # # @return [Types::SubmitTaskStateChangeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SubmitTaskStateChangeResponse#acknowledgment #acknowledgment} => String # # @example Request syntax with placeholder values @@ -3672,10 +3877,13 @@ # { # attachment_arn: "String", # required # status: "String", # required # }, # ], + # pull_started_at: Time.now, + # pull_stopped_at: Time.now, + # execution_stopped_at: Time.now, # }) # # @example Response structure # # resp.acknowledgment #=> String @@ -3698,11 +3906,11 @@ # # `UpdateContainerAgent` requires the Amazon ECS-optimized AMI or Amazon # Linux with the `ecs-init` service installed and running. For help # updating the Amazon ECS container agent on other operating systems, # see [Manually Updating the Amazon ECS Container Agent][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # # # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent # @@ -3710,13 +3918,13 @@ # The short name or full Amazon Resource Name (ARN) of the cluster that # your container instance is running on. If you do not specify a # cluster, the default cluster is assumed. # # @option params [required, String] :container_instance - # The container instance ID or full Amazon Resource Name (ARN) entries - # for the container instance on which you would like to update the - # Amazon ECS container agent. + # The container instance ID or full ARN entries for the container + # instance on which you would like to update the Amazon ECS container + # agent. # # @return [Types::UpdateContainerAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateContainerAgentResponse#container_instance #container_instance} => Types::ContainerInstance # @@ -3792,14 +4000,14 @@ # in the cluster if the resources are available. Service tasks on the # container instance that are in the `PENDING` state are stopped # immediately. # # Service tasks on the container instance that are in the `RUNNING` - # state are stopped and replaced according the service's deployment + # state are stopped and replaced according to the service's deployment # configuration parameters, `minimumHealthyPercent` and - # `maximumPercent`. Note that you can change the deployment - # configuration of your service using UpdateService. + # `maximumPercent`. You can change the deployment configuration of your + # service using UpdateService. # # * If `minimumHealthyPercent` is below 100%, the scheduler can ignore # `desiredCount` temporarily during task replacement. For example, # `desiredCount` is four tasks, a minimum of 50% allows the scheduler # to stop two existing tasks before starting two new tasks. If the @@ -3833,12 +4041,11 @@ # The short name or full Amazon Resource Name (ARN) of the cluster that # hosts the container instance to update. If you do not specify a # cluster, the default cluster is assumed. # # @option params [required, Array<String>] :container_instances - # A list of container instance IDs or full Amazon Resource Name (ARN) - # entries. + # A list of container instance IDs or full ARN entries. # # @option params [required, String] :status # The container instance state with which to update the container # instance. # @@ -3998,27 +4205,27 @@ # @option params [Integer] :desired_count # The number of instantiations of the task to place and keep running in # your service. # # @option params [String] :task_definition - # The `family` and `revision` (`family:revision`) or full Amazon - # Resource Name (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. + # 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. # # @option params [Types::DeploymentConfiguration] :deployment_configuration # Optional deployment parameters that control how many tasks run during # the deployment and the ordering of stopping and starting tasks. # # @option params [Types::NetworkConfiguration] :network_configuration # 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 is not supported for other # network modes. For more information, see [Task Networking][1] in the - # *Amazon EC2 Container Service Developer Guide*. + # *Amazon Elastic Container Service Developer Guide*. # # <note markdown="1"> Updating a service to add a subnet to a list of existing subnets does # not trigger a service deployment. For example, if your network # configuration change is to keep the existing subnets and simply add # another subnet to the network configuration, this does not trigger a @@ -4026,12 +4233,18 @@ # # </note> # # # - # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html + # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html # + # @option params [String] :platform_version + # The platform version you want to update your service to run. + # + # @option params [Boolean] :force_new_deployment + # Whether or not to force a new deployment of the service. + # # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateServiceResponse#service #service} => Types::Service # # @@ -4074,12 +4287,15 @@ # }, # network_configuration: { # awsvpc_configuration: { # subnets: ["String"], # required # security_groups: ["String"], + # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED # }, # }, + # platform_version: "String", + # force_new_deployment: false, # }) # # @example Response structure # # resp.service.service_arn #=> String @@ -4092,10 +4308,12 @@ # resp.service.load_balancers[0].container_port #=> Integer # resp.service.status #=> String # resp.service.desired_count #=> Integer # resp.service.running_count #=> Integer # resp.service.pending_count #=> Integer + # resp.service.launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.platform_version #=> String # resp.service.task_definition #=> String # resp.service.deployment_configuration.maximum_percent #=> Integer # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer # resp.service.deployments #=> Array # resp.service.deployments[0].id #=> String @@ -4104,14 +4322,17 @@ # resp.service.deployments[0].desired_count #=> Integer # resp.service.deployments[0].pending_count #=> Integer # resp.service.deployments[0].running_count #=> Integer # resp.service.deployments[0].created_at #=> Time # resp.service.deployments[0].updated_at #=> Time + # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE" + # resp.service.deployments[0].platform_version #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # resp.service.role_arn #=> String # resp.service.events #=> Array # resp.service.events[0].id #=> String # resp.service.events[0].created_at #=> Time # resp.service.events[0].message #=> String @@ -4124,10 +4345,11 @@ # resp.service.placement_strategy[0].field #=> String # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String + # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation # # @overload update_service(params = {}) # @param [Hash] params ({}) @@ -4147,10 +4369,10 @@ operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-ecs' - context[:gem_version] = '1.4.0' + context[:gem_version] = '1.5.0' Seahorse::Client::Request.new(handlers, context) end # Polls an API operation until a resource enters a desired state. #