[][src]Crate rusoto_ecs

Amazon Elastic Container Service

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

If you're using the service, you're probably looking for EcsClient and Ecs.

Structs

Attachment

An object representing a container instance or task attachment.

AttachmentStateChange

An object representing a change in state for a task attachment.

Attribute

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

AwsVpcConfiguration

An object representing the networking details for a task or service.

Cluster

A regional grouping of one or more container instances on which you can run task requests. Each account receives a default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may contain more than one instance type simultaneously.

Container

A Docker container that is part of a task.

ContainerDefinition

Container definitions are used in task definitions to describe the different containers that are launched as part of a task.

ContainerDependency

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

If you are using tasks that use the Fargate launch type, container dependency parameters are not supported.

ContainerInstance

An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.

ContainerOverride

The overrides that should be sent to a container. An empty container override can be passed in. An example of an empty container override would be {"containerOverrides": [ ] }. If a non-empty container override is specified, the name parameter must be included.

ContainerStateChange

An object representing a change in state for a container.

CreateClusterRequest
CreateClusterResponse
CreateServiceRequest
CreateServiceResponse
CreateTaskSetRequest
CreateTaskSetResponse
DeleteAccountSettingRequest
DeleteAccountSettingResponse
DeleteAttributesRequest
DeleteAttributesResponse
DeleteClusterRequest
DeleteClusterResponse
DeleteServiceRequest
DeleteServiceResponse
DeleteTaskSetRequest
DeleteTaskSetResponse
Deployment

The details of an Amazon ECS service deployment. This is used only when a service uses the ECS deployment controller type.

DeploymentConfiguration

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

DeploymentController

The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

DeregisterContainerInstanceRequest
DeregisterContainerInstanceResponse
DeregisterTaskDefinitionRequest
DeregisterTaskDefinitionResponse
DescribeClustersRequest
DescribeClustersResponse
DescribeContainerInstancesRequest
DescribeContainerInstancesResponse
DescribeServicesRequest
DescribeServicesResponse
DescribeTaskDefinitionRequest
DescribeTaskDefinitionResponse
DescribeTaskSetsRequest
DescribeTaskSetsResponse
DescribeTasksRequest
DescribeTasksResponse
Device

An object representing a container instance host device.

DiscoverPollEndpointRequest
DiscoverPollEndpointResponse
DockerVolumeConfiguration

This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the local driver. To use bind mounts, specify a host instead.

EcsClient

A client for the Amazon ECS API.

Failure

A failed resource.

HealthCheck

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

The following are notes about container health check support:

  • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS Container Agent.

  • Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see AWS Fargate Platform Versions.

  • Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.

HostEntry

Hostnames and IP address entries that are added to the /etc/hosts file of a container via the extraHosts parameter of its ContainerDefinition.

HostVolumeProperties

Details on a container instance bind mount host volume.

KernelCapabilities

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For more information on the default capabilities and the non-default available capabilities, see Runtime privilege and Linux capabilities in the Docker run reference. For more detailed information on these Linux capabilities, see the capabilities(7) Linux manual page.

KeyValuePair

A key-value pair object.

LinuxParameters

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

ListAccountSettingsRequest
ListAccountSettingsResponse
ListAttributesRequest
ListAttributesResponse
ListClustersRequest
ListClustersResponse
ListContainerInstancesRequest
ListContainerInstancesResponse
ListServicesRequest
ListServicesResponse
ListTagsForResourceRequest
ListTagsForResourceResponse
ListTaskDefinitionFamiliesRequest
ListTaskDefinitionFamiliesResponse
ListTaskDefinitionsRequest
ListTaskDefinitionsResponse
ListTasksRequest
ListTasksResponse
LoadBalancer

Details on a load balancer to be used with a service or task set.

If the service is using the ECS deployment controller, you are limited to one load balancer or target group.

If the service is using the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.

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 are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. Tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

LogConfiguration

Log configuration options to send to a custom log driver for the container.

MountPoint

Details on a volume mount point that is used in a container definition.

NetworkBinding

Details on the network bindings between a container and its host container instance. After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

NetworkConfiguration

An object representing the network configuration for a task or service.

NetworkInterface

An object representing the elastic network interface for tasks that use the awsvpc network mode.

PlacementConstraint

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

PlacementStrategy

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

PlatformDevice

The devices that are available on the container instance. The only supported device type is a GPU.

PortMapping

Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition.

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

ProxyConfiguration

The configuration details for the App Mesh proxy.

For tasks using the EC2 launch type, 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 enable 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 Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.

PutAccountSettingDefaultRequest
PutAccountSettingDefaultResponse
PutAccountSettingRequest
PutAccountSettingResponse
PutAttributesRequest
PutAttributesResponse
RegisterContainerInstanceRequest
RegisterContainerInstanceResponse
RegisterTaskDefinitionRequest
RegisterTaskDefinitionResponse
RepositoryCredentials

The repository credentials for private registry authentication.

Resource

Describes the resources available for a container instance.

ResourceRequirement

The type and amount of a resource to assign to a container. The only supported resource is a GPU. For more information, see Working with GPUs on Amazon ECS in the Amazon Elastic Container Service Developer Guide

RunTaskRequest
RunTaskResponse
Scale

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

Secret

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

  • To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.

  • To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.

For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

Service

Details on a service within a cluster

ServiceEvent

Details on an event associated with a service.

ServiceRegistry

Details of the service registry.

Setting

The current account setting for a resource.

StartTaskRequest
StartTaskResponse
StopTaskRequest
StopTaskResponse
SubmitAttachmentStateChangesRequest
SubmitAttachmentStateChangesResponse
SubmitContainerStateChangeRequest
SubmitContainerStateChangeResponse
SubmitTaskStateChangeRequest
SubmitTaskStateChangeResponse
SystemControl

A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls in the Create a container section of the Docker Remote API and the --sysctl option to docker run.

It is not recommended that you specify network-related systemControls parameters for multiple containers in a single task that also uses either the awsvpc or host network mode for the following reasons:

  • For tasks that use the awsvpc network mode, if you set systemControls for any container, it applies to all containers in the task. If you set different systemControls for multiple containers in a single task, the container that is started last determines which systemControls take effect.

  • For tasks that use the host network mode, the systemControls parameter applies to the container instance's kernel parameter as well as that of all containers of any tasks running on that container instance.

Tag

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

TagResourceRequest
TagResourceResponse
Task

Details on a task in a cluster.

TaskDefinition

The details of a task definition which describes the container and volume definitions of an Amazon Elastic Container Service task. You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

TaskDefinitionPlacementConstraint

An object representing a constraint on task placement in the task definition.

If you are using the Fargate launch type, task placement constraints are not supported.

For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

TaskOverride

The overrides associated with a task.

TaskSet

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

Tmpfs

The container path, mount options, and size of the tmpfs mount.

Ulimit

The ulimit settings to pass to the container.

UntagResourceRequest
UntagResourceResponse
UpdateContainerAgentRequest
UpdateContainerAgentResponse
UpdateContainerInstancesStateRequest
UpdateContainerInstancesStateResponse
UpdateServicePrimaryTaskSetRequest
UpdateServicePrimaryTaskSetResponse
UpdateServiceRequest
UpdateServiceResponse
UpdateTaskSetRequest
UpdateTaskSetResponse
VersionInfo

The Docker and Amazon ECS container agent version information about a container instance.

Volume

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

VolumeFrom

Details on a data volume from another container in the same task definition.

Enums

CreateClusterError

Errors returned by CreateCluster

CreateServiceError

Errors returned by CreateService

CreateTaskSetError

Errors returned by CreateTaskSet

DeleteAccountSettingError

Errors returned by DeleteAccountSetting

DeleteAttributesError

Errors returned by DeleteAttributes

DeleteClusterError

Errors returned by DeleteCluster

DeleteServiceError

Errors returned by DeleteService

DeleteTaskSetError

Errors returned by DeleteTaskSet

DeregisterContainerInstanceError

Errors returned by DeregisterContainerInstance

DeregisterTaskDefinitionError

Errors returned by DeregisterTaskDefinition

DescribeClustersError

Errors returned by DescribeClusters

DescribeContainerInstancesError

Errors returned by DescribeContainerInstances

DescribeServicesError

Errors returned by DescribeServices

DescribeTaskDefinitionError

Errors returned by DescribeTaskDefinition

DescribeTaskSetsError

Errors returned by DescribeTaskSets

DescribeTasksError

Errors returned by DescribeTasks

DiscoverPollEndpointError

Errors returned by DiscoverPollEndpoint

ListAccountSettingsError

Errors returned by ListAccountSettings

ListAttributesError

Errors returned by ListAttributes

ListClustersError

Errors returned by ListClusters

ListContainerInstancesError

Errors returned by ListContainerInstances

ListServicesError

Errors returned by ListServices

ListTagsForResourceError

Errors returned by ListTagsForResource

ListTaskDefinitionFamiliesError

Errors returned by ListTaskDefinitionFamilies

ListTaskDefinitionsError

Errors returned by ListTaskDefinitions

ListTasksError

Errors returned by ListTasks

PutAccountSettingDefaultError

Errors returned by PutAccountSettingDefault

PutAccountSettingError

Errors returned by PutAccountSetting

PutAttributesError

Errors returned by PutAttributes

RegisterContainerInstanceError

Errors returned by RegisterContainerInstance

RegisterTaskDefinitionError

Errors returned by RegisterTaskDefinition

RunTaskError

Errors returned by RunTask

StartTaskError

Errors returned by StartTask

StopTaskError

Errors returned by StopTask

SubmitAttachmentStateChangesError

Errors returned by SubmitAttachmentStateChanges

SubmitContainerStateChangeError

Errors returned by SubmitContainerStateChange

SubmitTaskStateChangeError

Errors returned by SubmitTaskStateChange

TagResourceError

Errors returned by TagResource

UntagResourceError

Errors returned by UntagResource

UpdateContainerAgentError

Errors returned by UpdateContainerAgent

UpdateContainerInstancesStateError

Errors returned by UpdateContainerInstancesState

UpdateServiceError

Errors returned by UpdateService

UpdateServicePrimaryTaskSetError

Errors returned by UpdateServicePrimaryTaskSet

UpdateTaskSetError

Errors returned by UpdateTaskSet

Traits

Ecs

Trait representing the capabilities of the Amazon ECS API. Amazon ECS clients implement this trait.