Crate rusoto_ecs

Source
Expand description

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 on AWS Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

Amazon ECS makes it easy to 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.

AutoScalingGroupProviderUpdate

The details of the Auto Scaling group capacity provider to update.

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. A capacity provider strategy can be set when using the RunTask or CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.

Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.

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

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in 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.

ClusterConfiguration

The execute command configuration for the cluster.

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
DeleteCapacityProviderRequest
DeleteCapacityProviderResponse
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.

DeploymentCircuitBreaker

The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type that are not behind a Classic Load Balancer.

The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If enabled, a service deployment will transition to a failed state and stop launching new tasks. You can also enable Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide.

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 only valid for containers in Fargate tasks that use platform version 1.4.0 or later.

EphemeralStorage

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

This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later.

ExecuteCommandConfiguration

The details of the execute command configuration.

ExecuteCommandLogConfiguration

The log configuration for the results of the execute command actions. The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.

ExecuteCommandRequest
ExecuteCommandResponse
FSxWindowsFileServerAuthorizationConfig

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon Elastic Container Service API Reference.

For more information and the input format, see Amazon FSx for Windows File Server Volumes in the Amazon Elastic Container Service Developer Guide.

FSxWindowsFileServerVolumeConfiguration

This parameter is specified when you are using Amazon FSx for Windows File Server file system for task storage.

For more information and the input format, see Amazon FSx for Windows File Server Volumes in the Amazon Elastic Container Service Developer Guide.

Failure

A failed resource. For a list of common causes, see API failure reasons in the Amazon Elastic Container Service Developer Guide.

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 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 configuration in the container definition. 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 hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers 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 on AWS Fargate, 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.

ManagedAgent

Details about the managed agent status for the container.

ManagedAgentStateChange

An object representing a change in state for a managed agent.

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.

You cannot expose the same container port for multiple protocols. An error will be returned if this is attempted

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

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.

Session

The details of the execute command session.

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.

Task placement constraints are not supported for tasks run on AWS Fargate.

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.

Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and hard limit is 4096.

UntagResourceRequest
UntagResourceResponse
UpdateCapacityProviderRequest
UpdateCapacityProviderResponse
UpdateClusterRequest
UpdateClusterResponse
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 the Amazon Elastic File System (Amazon EFS), specify an efsVolumeConfiguration. For Windows tasks that use Amazon FSx for Windows File Server file system, specify a fsxWindowsFileServerVolumeConfiguration. 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
DeleteCapacityProviderError
Errors returned by DeleteCapacityProvider
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
ExecuteCommandError
Errors returned by ExecuteCommand
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
UpdateCapacityProviderError
Errors returned by UpdateCapacityProvider
UpdateClusterError
Errors returned by UpdateCluster
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.