[][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.

AutoScalingGroupProvider

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

AwsVpcConfiguration

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

CapacityProvider

The details of a capacity provider.

CapacityProviderStrategyItem

The details of a capacity provider strategy.

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.

ClusterSetting

The settings to use when creating a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster.

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.

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

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.

CreateCapacityProviderRequest
CreateCapacityProviderResponse
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
DescribeCapacityProvidersRequest
DescribeCapacityProvidersResponse
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.

EFSAuthorizationConfig

The authorization configuration details for the Amazon EFS file system.

EFSVolumeConfiguration

This parameter is specified when you are using an Amazon Elastic File System file system for task storage. For more information, see Amazon EFS Volumes in the Amazon Elastic Container Service Developer Guide.

EcsClient

A client for the Amazon ECS API.

EnvironmentFile

A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a .env file extension. Each line in an environment file should contain an environment variable in VARIABLE=VALUE format. Lines beginning with # are treated as comments and are ignored. For more information on the environment variable file syntax, see Declare default environment variables in file.

If there are environment variables specified using the environment parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they are processed from the top down. It is recommended to use unique variable names. For more information, see Specifying Environment Variables in the Amazon Elastic Container Service Developer Guide.

This field is not valid for containers in tasks using the Fargate launch type.

Failure

A failed resource.

FirelensConfiguration

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

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).

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

  • HEALTHY-The container health check has passed successfully.

  • UNHEALTHY-The container health check has failed.

  • UNKNOWN-The container health check is being evaluated or there is no container health check defined.

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers do not have an effect on the health status of a task.

  • HEALTHY-All essential containers within the task have passed their health checks.

  • UNHEALTHY-One or more essential containers have failed their health check.

  • UNKNOWN-The essential containers within the task are still having their health checks evaluated or there are no container health checks defined.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

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.

InferenceAccelerator

Details on a Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

InferenceAcceleratorOverride

Details on an Elastic Inference accelerator task override. This parameter is used to override the Elastic Inference accelerator specified in the task definition. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

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

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

LogConfiguration

The log configuration specification for the container.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses; however the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

The following should be noted when specifying a log configuration for your containers:

  • Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the valid values below). Additional log drivers may be available in future releases of the Amazon ECS container agent.

  • This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.

  • For tasks using the EC2 launch type, the Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECSAVAILABLELOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

  • For tasks using the Fargate launch type, because you do not have access to the underlying infrastructure your tasks are hosted on, any additional software needed will have to be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.

ManagedScaling

The managed scaling settings for the Auto Scaling group capacity provider.

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity value as the target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling group.

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.

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

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
PutClusterCapacityProvidersRequest
PutClusterCapacityProvidersResponse
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 supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference 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.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

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

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

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

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

  • Tag keys and values are case-sensitive.

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

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. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

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

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
UpdateClusterSettingsRequest
UpdateClusterSettingsResponse
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

CreateCapacityProviderError

Errors returned by CreateCapacityProvider

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

DescribeCapacityProvidersError

Errors returned by DescribeCapacityProviders

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

PutClusterCapacityProvidersError

Errors returned by PutClusterCapacityProviders

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

UpdateClusterSettingsError

Errors returned by UpdateClusterSettings

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.