String id
The unique identifier for the attachment.
String type
The type of the attachment, such as ElasticNetworkInterface
.
String status
The status of the attachment. Valid values are PRECREATED
, CREATED
,
ATTACHING
, ATTACHED
, DETACHING
, DETACHED
, and
DELETED
.
SdkInternalList<T> details
Details of the attachment. For Elastic Network Interfaces, this includes the network interface ID, the MAC address, the subnet ID, and the private IPv4 address.
String name
The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, and periods are allowed.
String value
The value of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, and spaces are allowed.
String targetType
The type of the target with which to attach the attribute. This parameter is required if you use the short form ID for a resource instead of the full ARN.
String targetId
The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).
SdkInternalList<T> subnets
The subnets associated with the task or service. There is a limit of 10 subnets able to be specified per AwsVpcConfiguration.
SdkInternalList<T> securityGroups
The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups able to be specified per AwsVpcConfiguration.
String assignPublicIp
Whether the task's elastic network interface receives a public IP address.
String clusterArn
The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs
namespace, followed by the region of the cluster, the AWS account ID of the cluster owner, the
cluster
namespace, and then the cluster name. For example,
arn:aws:ecs:region:012345678910:cluster/test
..
String clusterName
A user-generated string that you use to identify your cluster.
String status
The status of the cluster. The valid values are ACTIVE
or INACTIVE
. ACTIVE
indicates that you can register container instances with the cluster and the associated instances can accept
tasks.
Integer registeredContainerInstancesCount
The number of container instances registered into the cluster.
Integer runningTasksCount
The number of tasks in the cluster that are in the RUNNING
state.
Integer pendingTasksCount
The number of tasks in the cluster that are in the PENDING
state.
Integer activeServicesCount
The number of services that are running on the cluster in an ACTIVE
state. You can view these
services with ListServices.
SdkInternalList<T> statistics
Additional information about your clusters that are separated by launch type, including:
runningEC2TasksCount
RunningFargateTasksCount
pendingEC2TasksCount
pendingFargateTasksCount
activeEC2ServiceCount
activeFargateServiceCount
drainingEC2ServiceCount
drainingFargateServiceCount
String containerArn
The Amazon Resource Name (ARN) of the container.
String taskArn
The ARN of the task.
String name
The name of the container.
String lastStatus
The last known status of the container.
Integer exitCode
The exit code returned from the container.
String reason
A short (255 max characters) human-readable string to provide additional details about a running or stopped container.
SdkInternalList<T> networkBindings
The network bindings associated with the container.
SdkInternalList<T> networkInterfaces
The network interfaces associated with the container.
String healthStatus
The health status of the container. If health checks are not configured for this container in its task
definition, then it reports health status as UNKNOWN
.
String name
The name of a container. If you are linking multiple containers together in a task definition, the
name
of one container can be entered in the links
of another container to connect the
containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This
parameter maps to name
in the Create a
container section of the Docker Remote API and the
--name
option to docker run.
String image
The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker
Hub registry are available by default. Other repositories are specified with either
repository-url/image:tag
or
repository-url/image@digest
. Up to 255 letters (uppercase and lowercase),
numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter
maps to Image
in the Create a
container section of the Docker Remote API and the
IMAGE
parameter of docker run.
When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image are not propagated to already running tasks.
Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag
or registry/repository@digest
. For example,
012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest
or
012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE
.
Images in official repositories on Docker Hub use a single name (for example, ubuntu
or
mongo
).
Images in other repositories on Docker Hub are qualified with an organization name (for example,
amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name (for example,
quay.io/assemblyline/ubuntu
).
Integer cpu
The number of cpu
units reserved for the container. This parameter maps to CpuShares
in
the Create a
container section of the Docker Remote API and the
--cpu-shares
option to docker run.
This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount
of CPU reserved for all containers within a task be lower than the task-level cpu
value.
You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024.
For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.
Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.
On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:
Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to 2 CPU shares.
Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values of 1 are passed to Docker as 2.
On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that is described in the task definition.
Integer memory
The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory
specified here, the container is killed. This parameter maps to Memory
in the Create a
container section of the Docker Remote API and the
--memory
option to docker run.
If your containers are part of a task using the Fargate launch type, this field is optional and the only
requirement is that the total amount of memory reserved for all containers within a task be lower than the task
memory
value.
For containers that are part of a task using the EC2 launch type, you must specify a non-zero integer for one or
both of memory
or memoryReservation
in container definitions. If you specify both,
memory
must be greater than memoryReservation
. If you specify
memoryReservation
, then that value is subtracted from the available memory resources for the
container instance on which the container is placed; otherwise, the value of memory
is used.
The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.
Integer memoryReservation
The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention,
Docker attempts to keep the container memory to this soft limit; however, your container can consume more memory
when it needs to, up to either the hard limit specified with the memory
parameter (if applicable),
or all of the available memory on the container instance, whichever comes first. This parameter maps to
MemoryReservation
in the Create a
container section of the Docker Remote API and the
--memory-reservation
option to docker
run.
You must specify a non-zero integer for one or both of memory
or memoryReservation
in
container definitions. If you specify both, memory
must be greater than
memoryReservation
. If you specify memoryReservation
, then that value is subtracted from
the available memory resources for the container instance on which the container is placed; otherwise, the value
of memory
is used.
For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for
short periods of time, you can set a memoryReservation
of 128 MiB, and a memory
hard
limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the
remaining resources on the container instance, but also allow the container to consume more memory resources when
needed.
The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.
SdkInternalList<T> links
The link
parameter allows containers to communicate with each other without the need for port
mappings. Only supported if the network mode of a task definition is set to bridge
. The
name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. For more information about
linking Docker containers, go to https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to
Links
in the Create a
container section of the Docker Remote API and the
--link
option to
docker run
.
This parameter is not supported for Windows containers.
Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.
SdkInternalList<T> portMappings
The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.
For task definitions that use the awsvpc
network mode, you should only specify the
containerPort
. The hostPort
can be left blank or it must be the same value as the
containerPort
.
Port mappings on Windows use the NetNAT
gateway address rather than localhost
. There is
no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself.
This parameter maps to PortBindings
in the Create a
container section of the Docker Remote API and the
--publish
option to docker run. If the
network mode of a task definition is set to none
, then you can't specify port mappings. If the
network mode of a task definition is set to host
, then host ports must either be undefined or they
must match the container port in the port mapping.
After a task reaches the RUNNING
status, manual and automatic host and container port assignments
are visible in the Network Bindings section of a container description for a selected task in the Amazon
ECS console, or the networkBindings
section DescribeTasks responses.
Boolean essential
If the essential
parameter of a container is marked as true
, and that container fails
or stops for any reason, all other containers that are part of the task are stopped. If the
essential
parameter of a container is marked as false
, then its failure does not affect
the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.
All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide.
SdkInternalList<T> entryPoint
Early versions of the Amazon ECS container agent do not properly handle entryPoint
parameters. If
you have problems using entryPoint
, update your container agent or enter your commands and arguments
as command
array items instead.
The entry point that is passed to the container. This parameter maps to Entrypoint
in the Create a
container section of the Docker Remote API and the
--entrypoint
option to docker run. For
more information, see https://docs.docker.com
/engine/reference/builder/#entrypoint.
SdkInternalList<T> command
The command that is passed to the container. This parameter maps to Cmd
in the Create a
container section of the Docker Remote API and the
COMMAND
parameter to docker run. For
more information, see https://docs.docker.com/engine
/reference/builder/#cmd.
SdkInternalList<T> environment
The environment variables to pass to a container. This parameter maps to Env
in the Create a
container section of the Docker Remote API and the
--env
option to docker run.
We do not recommend using plaintext environment variables for sensitive information, such as credential data.
SdkInternalList<T> mountPoints
The mount points for data volumes in your container.
This parameter maps to Volumes
in the Create a
container section of the Docker Remote API and the
--volume
option to docker run.
Windows containers can mount whole directories on the same drive as $env:ProgramData
. Windows
containers cannot mount directories on a different drive, and mount point cannot be across drives.
SdkInternalList<T> volumesFrom
Data volumes to mount from another container. This parameter maps to VolumesFrom
in the Create a
container section of the Docker Remote API and the
--volumes-from
option to docker run.
LinuxParameters linuxParameters
Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities.
This parameter is not supported for Windows containers.
String hostname
The hostname to use for your container. This parameter maps to Hostname
in the Create a
container section of the Docker Remote API and the
--hostname
option to docker run.
The hostname
parameter is not supported if using the awsvpc
networkMode.
String user
The user name to use inside the container. This parameter maps to User
in the Create a
container section of the Docker Remote API and the
--user
option to docker run.
This parameter is not supported for Windows containers.
String workingDirectory
The working directory in which to run commands inside the container. This parameter maps to
WorkingDir
in the Create a
container section of the Docker Remote API and the
--workdir
option to docker run.
Boolean disableNetworking
When this parameter is true, networking is disabled within the container. This parameter maps to
NetworkDisabled
in the Create a
container section of the Docker Remote API.
This parameter is not supported for Windows containers.
Boolean privileged
When this parameter is true, the container is given elevated privileges on the host container instance (similar
to the root
user). This parameter maps to Privileged
in the Create a
container section of the Docker Remote API and the
--privileged
option to docker run.
This parameter is not supported for Windows containers or tasks using the Fargate launch type.
Boolean readonlyRootFilesystem
When this parameter is true, the container is given read-only access to its root file system. This parameter maps
to ReadonlyRootfs
in the Create a
container section of the Docker Remote API and the
--read-only
option to docker run
.
This parameter is not supported for Windows containers.
SdkInternalList<T> dnsServers
A list of DNS servers that are presented to the container. This parameter maps to Dns
in the Create a
container section of the Docker Remote API and the
--dns
option to docker run.
This parameter is not supported for Windows containers.
SdkInternalList<T> dnsSearchDomains
A list of DNS search domains that are presented to the container. This parameter maps to DnsSearch
in the Create
a container section of the Docker Remote API and the
--dns-search
option to docker run.
This parameter is not supported for Windows containers.
SdkInternalList<T> extraHosts
A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. If
using the Fargate launch type, this may be used to list non-Fargate hosts you want the container to talk to. This
parameter maps to ExtraHosts
in the Create a
container section of the Docker Remote API and the
--add-host
option to docker run.
This parameter is not supported for Windows containers.
SdkInternalList<T> dockerSecurityOptions
A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This field is not valid for containers in tasks using the Fargate launch type.
This parameter maps to SecurityOpt
in the Create a
container section of the Docker Remote API and the
--security-opt
option to docker run.
The Amazon ECS container agent running on a container instance must register with the
ECS_SELINUX_CAPABLE=true
or ECS_APPARMOR_CAPABLE=true
environment variables before
containers placed on that instance can use these security options. For more information, see Amazon ECS Container
Agent Configuration in the Amazon Elastic Container Service Developer Guide.
This parameter is not supported for Windows containers.
Map<K,V> dockerLabels
A key/value map of labels to add to the container. This parameter maps to Labels
in the Create a
container section of the Docker Remote API and the
--label
option to docker run. This
parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the
Docker Remote API version on your container instance, log in to your container instance and run the following
command: sudo docker version | grep "Server API version"
SdkInternalList<T> ulimits
A list of ulimits
to set in the container. This parameter maps to Ulimits
in the Create a
container section of the Docker Remote API and the
--ulimit
option to docker run. Valid
naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker
Remote API or greater on your container instance. To check the Docker Remote API version on your container
instance, log in to your container instance and run the following command:
sudo docker version | grep "Server API version"
This parameter is not supported for Windows containers.
LogConfiguration logConfiguration
The log configuration specification for the container.
If using the Fargate launch type, the only supported value is awslogs
.
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.
Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). 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. To check the
Docker Remote API version on your container instance, log in to your container instance and run the following
command: sudo docker version | grep "Server API version"
The Amazon ECS container agent running on a container instance must register the logging drivers available on
that instance with the ECS_AVAILABLE_LOGGING_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.
HealthCheck healthCheck
The health check command and associated configuration parameters for the container. This parameter maps to
HealthCheck
in the Create a
container section of the Docker Remote API and the
HEALTHCHECK
parameter of docker run.
String containerInstanceArn
The 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,
arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID
.
String ec2InstanceId
The EC2 instance ID of the container instance.
Long version
The version counter for the container instance. Every time a container instance experiences a change that
triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS container
instance state with CloudWatch Events, you can compare the version of a container instance reported by the Amazon
ECS APIs with the version reported in CloudWatch Events for the container instance (inside the
detail
object) to verify that the version in your event stream is current.
VersionInfo versionInfo
The version information for the Amazon ECS container agent and Docker daemon running on the container instance.
SdkInternalList<T> remainingResources
For CPU and memory resource types, this parameter describes the remaining CPU and memory that has not already
been allocated to tasks and is therefore available for new tasks. For port resource types, this parameter
describes the ports that were reserved by the Amazon ECS container agent (at instance registration time) and any
task containers that have reserved port mappings on the host (with the host
or bridge
network mode). Any port that is not specified here is available for new tasks.
SdkInternalList<T> registeredResources
For CPU and memory resource types, this parameter describes the amount of each resource that was available on the container instance when the container agent registered it with Amazon ECS; this value represents the total amount of CPU and memory that can be allocated on this container instance to tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.
String status
The status of the container instance. The valid values are ACTIVE
, INACTIVE
, or
DRAINING
. ACTIVE
indicates that the container instance can accept tasks.
DRAINING
indicates that new tasks are not placed on the container instance and any service tasks
running on the container instance are removed if possible. For more information, see Container
Instance Draining in the Amazon Elastic Container Service Developer Guide.
Boolean agentConnected
This parameter returns true
if the agent is connected to Amazon ECS. Registered instances with an
agent that may be unhealthy or stopped return false
. Instances without a connected agent can't
accept placement requests.
Integer runningTasksCount
The number of tasks on the container instance that are in the RUNNING
status.
Integer pendingTasksCount
The number of tasks on the container instance that are in the PENDING
status.
String agentUpdateStatus
The status of the most recent agent update. If an update has never been requested, this value is
NULL
.
SdkInternalList<T> attributes
The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the PutAttributes operation.
Date registeredAt
The Unix time stamp for when the container instance was registered.
SdkInternalList<T> attachments
The Elastic Network Interfaces associated with the container instance.
String name
The name of the container that receives the override. This parameter is required if any override is specified.
SdkInternalList<T> command
The command to send to the container that overrides the default command from the Docker image or the task definition. You must also specify a container name.
SdkInternalList<T> environment
The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. You must also specify a container name.
Integer cpu
The number of cpu
units reserved for the container, instead of the default value from the task
definition. You must also specify a container name.
Integer memory
The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. You must also specify a container name.
Integer memoryReservation
The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. You must also specify a container name.
String containerName
The name of the container.
Integer exitCode
The exit code for the container, if the state change is a result of the container exiting.
SdkInternalList<T> networkBindings
Any network bindings associated with the container.
String reason
The reason for the state change.
String status
The status of the container.
String clusterName
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 allowed.
Cluster cluster
The full description of your new cluster.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. If you do not specify a cluster, the default cluster is assumed.
String serviceName
The name of your service. Up to 255 letters (uppercase and lowercase), 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.
String taskDefinition
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.
SdkInternalList<T> loadBalancers
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 or target group ARN, container name, and container port specified in the service definition are immutable.
For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.
For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.
Services with tasks that use the awsvpc
network mode (for example, those with the Fargate launch
type) only support Application Load Balancers and Network Load Balancers; Classic Load Balancers are not
supported. Also, when you create any target groups for these services, you must choose ip
as the
target type, not instance
, because tasks that use the awsvpc
network mode are
associated with an elastic network interface, not an Amazon EC2 instance.
SdkInternalList<T> serviceRegistries
The details of the service discovery registries you want to assign to this service. For more information, see Service Discovery.
Service discovery is supported for Fargate tasks if using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions.
Integer desiredCount
The number of instantiations of the specified task definition to place and keep running on your cluster.
String clientToken
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.
String launchType
The launch type on which to run your service.
String platformVersion
The platform version on which to run your service. If one is not specified, the latest version is used by default.
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
network mode. If you specify the role
parameter, you must also specify a load balancer object with the loadBalancers
parameter.
If your account has already created the Amazon ECS service-linked role, that role is used 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 in the Amazon Elastic Container Service Developer Guide.
If your specified role has a path other than /
, then you must either specify the full role ARN (this
is recommended) or prefix the role name with the path. For example, if a role with the name bar
has
a path of /foo/
then you would specify /foo/bar
as the role name. For more information,
see Friendly Names and Paths in the IAM User Guide.
DeploymentConfiguration deploymentConfiguration
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
SdkInternalList<T> placementConstraints
An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time).
SdkInternalList<T> placementStrategy
The placement strategy objects to use for tasks in your service. You can specify a maximum of five strategy rules per service.
NetworkConfiguration networkConfiguration
The network configuration for the service. This parameter is required for task definitions that use the
awsvpc
network mode to receive their own Elastic Network Interface, and it is not supported for
other network modes. For more information, see Task Networking in the
Amazon Elastic Container Service Developer Guide.
Integer healthCheckGracePeriodSeconds
The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 1,800 seconds during which the ECS service scheduler ignores health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
String schedulingStrategy
The scheduling strategy to use for the service. For more information, see Services.
There are two service scheduler strategies available:
REPLICA
-The replica scheduling strategy places and maintains the desired number of tasks across your
cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement
strategies and constraints to customize task placement decisions.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each active container instance
that meets all of the task placement constraints that you specify in your cluster. When using this strategy,
there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling
policies.
Fargate tasks do not support the DAEMON
scheduling strategy.
Service service
The full description of your service following the create call.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed.
SdkInternalList<T> attributes
The attributes to delete from your resource. You can specify up to 10 attributes per request. For custom attributes, specify the attribute name and target ID, but do not specify the value. If you specify the target ID using the short form, you must also specify the target type.
SdkInternalList<T> attributes
A list of attribute objects that were successfully deleted from your resource.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster to delete.
Cluster cluster
The full description of the deleted cluster.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.
String service
The name of the service to delete.
Boolean force
If true
, allows you to delete a service even if it has not been scaled down to zero tasks. It is
only necessary to use this if the service is using the REPLICA
scheduling strategy.
Service service
The full description of the deleted service.
String id
The ID of the deployment.
String status
The status of the deployment. Valid values are PRIMARY
(for the most recent deployment),
ACTIVE
(for previous deployments that still have tasks running, but are being replaced with the
PRIMARY
deployment), and INACTIVE
(for deployments that have been completely replaced).
String taskDefinition
The most recent task definition that was specified for the service to use.
Integer desiredCount
The most recent desired count of tasks that was specified for the service to deploy or maintain.
Integer pendingCount
The number of tasks in the deployment that are in the PENDING
status.
Integer runningCount
The number of tasks in the deployment that are in the RUNNING
status.
Date createdAt
The Unix time stamp for when the service was created.
Date updatedAt
The Unix time stamp for when the service was last updated.
String launchType
The launch type on which your service is running.
String platformVersion
The platform version on which your service is running.
NetworkConfiguration networkConfiguration
The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by
using the awsvpc
networking mode.
Integer maximumPercent
The upper limit (as a percentage of the service's desiredCount
) of the number of tasks that are
allowed in the RUNNING
or PENDING
state in a service during a deployment. The maximum
number of tasks during a deployment is the desiredCount
multiplied by maximumPercent
/100, rounded down to the nearest integer value.
Integer minimumHealthyPercent
The lower limit (as a percentage of the service's desiredCount
) of the number of running tasks that
must remain in the RUNNING
state in a service during a deployment. The minimum number of healthy
tasks during a deployment is the desiredCount
multiplied by minimumHealthyPercent
/100,
rounded up to the nearest integer value.
String cluster
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.
String containerInstance
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
.
Boolean force
Forces the deregistration of the container instance. If you have tasks running on the container instance when you
deregister it with the force
option, these tasks remain running until you terminate the instance or
the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon
ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler
starts another copy of that task, on a different container instance if possible.
Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered. They begin connection draining according to the settings on the load balancer or target group.
ContainerInstance containerInstance
The container instance that was deregistered.
String taskDefinition
The family
and revision
(family:revision
) or full Amazon Resource Name
(ARN) of the task definition to deregister. You must specify a revision
.
TaskDefinition taskDefinition
The full description of the deregistered task.
SdkInternalList<T> 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.
SdkInternalList<T> include
Additional information about your clusters to be separated by launch type, including:
runningEC2TasksCount
runningFargateTasksCount
pendingEC2TasksCount
pendingFargateTasksCount
activeEC2ServiceCount
activeFargateServiceCount
drainingEC2ServiceCount
drainingFargateServiceCount
SdkInternalList<T> clusters
The list of clusters.
SdkInternalList<T> failures
Any failures associated with the call.
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.
SdkInternalList<T> containerInstances
A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.
SdkInternalList<T> containerInstances
The list of container instances.
SdkInternalList<T> failures
Any failures associated with the call.
String cluster
The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.
SdkInternalList<T> services
A list of services to describe. You may specify up to 10 services to describe in a single operation.
SdkInternalList<T> services
The list of services described.
SdkInternalList<T> failures
Any failures associated with the call.
String taskDefinition
The family
for the latest ACTIVE
revision, family
and
revision
(family:revision
) for a specific revision in the family, or full Amazon
Resource Name (ARN) of the task definition to describe.
TaskDefinition taskDefinition
The full task definition description.
String cluster
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.
SdkInternalList<T> tasks
A list of up to 100 task IDs or full ARN entries.
SdkInternalList<T> tasks
The list of tasks.
SdkInternalList<T> failures
Any failures associated with the call.
String hostPath
The path for the device on the host container instance.
String containerPath
The path inside the container at which to expose the host device.
SdkInternalList<T> permissions
The explicit permissions to provide to the container for the device. By default, the container has permissions
for read
, write
, and mknod
for the device.
String containerInstance
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
.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to.
SdkInternalList<T> command
A string array representing the command that the container runs to determine if it is healthy. The string array
must start with CMD
to execute the command arguments directly, or CMD-SHELL
to run the
command with the container's default shell. For example:
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see
HealthCheck
in the Create a
container section of the Docker Remote API.
Integer interval
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
Integer timeout
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
Integer retries
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3 retries.
Integer startPeriod
The optional grace period within which to provide containers time to bootstrap before failed health checks count
towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod
is
disabled by default.
If a health check succeeds within the startPeriod
, then the container is considered healthy and any
subsequent failures count toward the maximum number of retries.
String sourcePath
The path on the host container instance that is presented to the container. If this parameter is empty, then the
Docker daemon has assigned a host path for you. If the host
parameter contains a
sourcePath
file location, then the data volume persists at the specified location on the host
container instance until you delete it manually. If the sourcePath
value does not exist on the host
container instance, the Docker daemon creates it. If the location does exist, the contents of the source path
folder are exported.
If you are using the Fargate launch type, the sourcePath
parameter is not supported.
SdkInternalList<T> add
The Linux capabilities for the container that have been added to the default configuration provided by Docker.
This parameter maps to CapAdd
in the Create a
container section of the Docker Remote API and the
--cap-add
option to docker run.
If you are using tasks that use the Fargate launch type, the add
parameter is not supported.
Valid values:
"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
SdkInternalList<T> drop
The Linux capabilities for the container that have been removed from the default configuration provided by
Docker. This parameter maps to CapDrop
in the Create a
container section of the Docker Remote API and the
--cap-drop
option to docker run.
Valid values:
"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"
KernelCapabilities capabilities
The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.
If you are using tasks that use the Fargate launch type, capabilities
is supported but the
add
parameter is not supported.
SdkInternalList<T> devices
Any host devices to expose to the container. This parameter maps to Devices
in the Create a
container section of the Docker Remote API and the
--device
option to docker run.
If you are using tasks that use the Fargate launch type, the devices
parameter is not supported.
Boolean initProcessEnabled
Run an init
process inside the container that forwards signals and reaps processes. This parameter
maps to the --init
option to docker run.
This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the
Docker Remote API version on your container instance, log in to your container instance and run the following
command: sudo docker version | grep "Server API version"
Integer sharedMemorySize
The value for the size (in MiB) of the /dev/shm
volume. This parameter maps to the
--shm-size
option to docker run.
If you are using tasks that use the Fargate launch type, the sharedMemorySize
parameter is not
supported.
SdkInternalList<T> tmpfs
The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the
--tmpfs
option to docker run.
If you are using tasks that use the Fargate launch type, the tmpfs
parameter is not supported.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. If you do not specify a cluster, the default cluster is assumed.
String targetType
The type of the target with which to list attributes.
String attributeName
The name of the attribute with which to filter the results.
String attributeValue
The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter.
String nextToken
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 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.
Integer maxResults
The maximum number of cluster results returned by ListAttributes
in paginated output. When this
parameter is used, ListAttributes
only returns maxResults
results in a single page
along with a nextToken
response element. The remaining results of the initial request can be seen by
sending another ListAttributes
request with the returned nextToken
value. This value
can be between 1 and 100. If this parameter is not used, then ListAttributes
returns up to 100
results and a nextToken
value if applicable.
SdkInternalList<T> attributes
A list of attribute objects that meet the criteria of the request.
String nextToken
The nextToken
value to include in a future ListAttributes
request. When the results of
a ListAttributes
request exceed maxResults
, this value can be used to retrieve the next
page of results. This value is null
when there are no more results to return.
String nextToken
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 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.
Integer maxResults
The maximum number of cluster results returned by ListClusters
in paginated output. When this
parameter is used, ListClusters
only returns maxResults
results in a single page along
with a nextToken
response element. The remaining results of the initial request can be seen by
sending another ListClusters
request with the returned nextToken
value. This value can
be between 1 and 100. If this parameter is not used, then ListClusters
returns up to 100 results and
a nextToken
value if applicable.
SdkInternalList<T> clusterArns
The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account.
String nextToken
The nextToken
value to include in a future ListClusters
request. When the results of a
ListClusters
request exceed maxResults
, this value can be used to retrieve the next
page of results. This value is null
when there are no more results to return.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to list. If you do not specify a cluster, the default cluster is assumed.
String filter
You can filter the results of a ListContainerInstances
operation with cluster query language
statements. For more information, see Cluster Query
Language in the Amazon Elastic Container Service Developer Guide.
String nextToken
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 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.
Integer maxResults
The maximum number of container instance results returned by ListContainerInstances
in paginated
output. When this parameter is used, ListContainerInstances
only returns maxResults
results in a single page along with a nextToken
response element. The remaining results of the
initial request can be seen by sending another ListContainerInstances
request with the returned
nextToken
value. This value can be between 1 and 100. If this parameter is not used, then
ListContainerInstances
returns up to 100 results and a nextToken
value if applicable.
String status
Filters the container instances by status. For example, if you specify the DRAINING
status, the
results include only container instances that have been set to DRAINING
using
UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container
instances set to ACTIVE
and DRAINING
.
SdkInternalList<T> containerInstanceArns
The list of container instances with full ARN entries for each container instance associated with the specified cluster.
String nextToken
The nextToken
value to include in a future ListContainerInstances
request. When the
results of a ListContainerInstances
request exceed maxResults
, this value can be used
to retrieve the next page of results. This value is null
when there are no more results to return.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. If you do not specify a cluster, the default cluster is assumed.
String nextToken
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 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.
Integer maxResults
The maximum number of service results returned by ListServices
in paginated output. When this
parameter is used, ListServices
only returns maxResults
results in a single page along
with a nextToken
response element. The remaining results of the initial request can be seen by
sending another ListServices
request with the returned nextToken
value. This value can
be between 1 and 10. If this parameter is not used, then ListServices
returns up to 10 results and a
nextToken
value if applicable.
String launchType
The launch type for services you want to list.
String schedulingStrategy
The scheduling strategy for services to list.
SdkInternalList<T> serviceArns
The list of full ARN entries for each service associated with the specified cluster.
String nextToken
The nextToken
value to include in a future ListServices
request. When the results of a
ListServices
request exceed maxResults
, this value can be used to retrieve the next
page of results. This value is null
when there are no more results to return.
String familyPrefix
The familyPrefix
is a string that is used to filter the results of
ListTaskDefinitionFamilies
. If you specify a familyPrefix
, only task definition family
names that begin with the familyPrefix
string are returned.
String status
The task definition family status with which to filter the ListTaskDefinitionFamilies
results. By
default, both ACTIVE
and INACTIVE
task definition families are listed. If this
parameter is set to ACTIVE
, only task definition families that have an ACTIVE
task
definition revision are returned. If this parameter is set to INACTIVE
, only task definition
families that do not have any ACTIVE
task definition revisions are returned. If you paginate the
resulting output, be sure to keep the status
value constant in each subsequent request.
String nextToken
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 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.
Integer maxResults
The maximum number of task definition family results returned by ListTaskDefinitionFamilies
in
paginated output. When this parameter is used, ListTaskDefinitions
only returns
maxResults
results in a single page along with a nextToken
response element. The
remaining results of the initial request can be seen by sending another ListTaskDefinitionFamilies
request with the returned nextToken
value. This value can be between 1 and 100. If this parameter is
not used, then ListTaskDefinitionFamilies
returns up to 100 results and a nextToken
value if applicable.
SdkInternalList<T> families
The list of task definition family names that match the ListTaskDefinitionFamilies
request.
String nextToken
The nextToken
value to include in a future ListTaskDefinitionFamilies
request. When the
results of a ListTaskDefinitionFamilies
request exceed maxResults
, this value can be
used to retrieve the next page of results. This value is null
when there are no more results to
return.
String familyPrefix
The full family name with which to filter the ListTaskDefinitions
results. Specifying a
familyPrefix
limits the listed task definitions to task definition revisions that belong to that
family.
String status
The task definition status with which to filter the ListTaskDefinitions
results. By default, only
ACTIVE
task definitions are listed. By setting this parameter to INACTIVE
, you can view
task definitions that are INACTIVE
as long as an active task or service still references them. If
you paginate the resulting output, be sure to keep the status
value constant in each subsequent
request.
String sort
The order in which to sort the results. Valid values are ASC
and DESC
. By default (
ASC
), task definitions are listed lexicographically by family name and in ascending numerical order
by revision so that the newest task definitions in a family are listed last. Setting this parameter to
DESC
reverses the sort order on family name and revision so that the newest task definitions in a
family are listed first.
String nextToken
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 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.
Integer maxResults
The maximum number of task definition results returned by ListTaskDefinitions
in paginated output.
When this parameter is used, ListTaskDefinitions
only returns maxResults
results in a
single page along with a nextToken
response element. The remaining results of the initial request
can be seen by sending another ListTaskDefinitions
request with the returned nextToken
value. This value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions
returns up to 100 results and a nextToken
value if applicable.
SdkInternalList<T> taskDefinitionArns
The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions
request.
String nextToken
The nextToken
value to include in a future ListTaskDefinitions
request. When the
results of a ListTaskDefinitions
request exceed maxResults
, this value can be used to
retrieve the next page of results. This value is null
when there are no more results to return.
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.
String containerInstance
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.
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.
String nextToken
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 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.
Integer maxResults
The maximum number of task results returned by ListTasks
in paginated output. When this parameter is
used, ListTasks
only returns maxResults
results in a single page along with a
nextToken
response element. The remaining results of the initial request can be seen by sending
another ListTasks
request with the returned nextToken
value. This value can be between
1 and 100. If this parameter is not used, then ListTasks
returns up to 100 results and a
nextToken
value if applicable.
String startedBy
The startedBy
value with which to filter the task results. Specifying a startedBy
value
limits the results to tasks that were started with that value.
String serviceName
The name of the service with which to filter the ListTasks
results. Specifying a
serviceName
limits the results to tasks that belong to that service.
String desiredStatus
The task desired status with which to filter the ListTasks
results. Specifying a
desiredStatus
of STOPPED
limits the results to tasks 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
.
Although you can filter results based on a desired status of 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
).
String launchType
The launch type for services you want to list.
SdkInternalList<T> taskArns
The list of task ARN entries for the ListTasks
request.
String nextToken
The nextToken
value to include in a future ListTasks
request. When the results of a
ListTasks
request exceed maxResults
, this value can be used to retrieve the next page
of results. This value is null
when there are no more results to return.
String targetGroupArn
The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service.
If your service's task definition uses the awsvpc
network mode (which is required for the Fargate
launch type), you must choose ip
as the target type, not instance
, because tasks that
use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2
instance.
String loadBalancerName
The name of a load balancer.
String containerName
The name of the container (as it appears in a container definition) to associate with the load balancer.
Integer containerPort
The port on the container to associate with the load balancer. This port must correspond to a
containerPort
in the service's task definition. Your container instances must allow ingress traffic
on the hostPort
of the port mapping.
String logDriver
The log driver to use for the container. The valid values listed for this parameter are log drivers that the
Amazon ECS container agent can communicate with by default. If using the Fargate launch type, the only supported
value is awslogs
. For more information about using the awslogs
driver, see Using the awslogs Log
Driver in the Amazon Elastic Container Service Developer Guide.
If you have a custom driver that is not listed above that you would like to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, Amazon Web Services does not currently support running modified copies of this software.
This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the
Docker Remote API version on your container instance, log in to your container instance and run the following
command: sudo docker version | grep "Server API version"
Map<K,V> options
The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote
API or greater on your container instance. To check the Docker Remote API version on your container instance, log
in to your container instance and run the following command:
sudo docker version | grep "Server API version"
String sourceVolume
The name of the volume to mount.
String containerPath
The path on the container to mount the host volume at.
Boolean readOnly
If this value is true
, the container has read-only access to the volume. If this value is
false
, then the container can write to the volume. The default value is false
.
String bindIP
The IP address that the container is bound to on the container instance.
Integer containerPort
The port number on the container that is used with the network binding.
Integer hostPort
The port number on the host that is used with the network binding.
String protocol
The protocol used for the network binding.
AwsVpcConfiguration awsvpcConfiguration
The VPC subnets and security groups associated with a task.
String type
The type of constraint. Use distinctInstance
to ensure that each task in a particular group is
running on a different container instance. Use memberOf
to restrict the selection to a group of
valid candidates. The value distinctInstance
is not supported in task definitions.
String expression
A cluster query language expression to apply to the constraint. Note you cannot specify an expression if the
constraint type is distinctInstance
. For more information, see Cluster Query
Language in the Amazon Elastic Container Service Developer Guide.
String type
The type of placement strategy. The random
placement strategy randomly places tasks on available
candidates. The spread
placement strategy spreads placement across available candidates evenly based
on the field
parameter. The binpack
strategy places tasks on available candidates that
have the least available amount of the resource that is specified with the field
parameter. For
example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory
(but still enough to run the task).
String field
The field to apply the placement strategy against. For the spread
placement strategy, valid values
are instanceId
(or host
, which has the same effect), or any platform or custom
attribute that is applied to a container instance, such as attribute:ecs.availability-zone
. For the
binpack
placement strategy, valid values are cpu
and memory
. For the
random
placement strategy, this field is not used.
Integer containerPort
The port number on the container that is bound to the user-specified or automatically assigned host port.
If using containers in a task with the awsvpc
or host
network mode, exposed ports
should be specified using containerPort
.
If using containers in a task with the bridge
network mode and you specify a container port and not
a host port, your container automatically receives a host port in the ephemeral port range (for more information,
see hostPort
). Port mappings that are automatically assigned in this way do not count toward the 100
reserved ports limit of a container instance.
Integer hostPort
The port number on the container instance to reserve for your container.
If using containers in a task with the awsvpc
or host
network mode, the
hostPort
can either be left blank or set to the same value as the containerPort
.
If using containers in a task with the bridge
network mode, you can specify a non-reserved host port
for your container port mapping, or you can omit the hostPort
(or set it to 0
) while
specifying a containerPort
and your container automatically receives a port in the ephemeral port
range for your container instance operating system and Docker version.
The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under
/proc/sys/net/ipv4/ip_local_port_range
; if this kernel parameter is unavailable, the default
ephemeral port range from 49153 through 65535 is used. You should not attempt to specify a host port in the
ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of
the ephemeral port range.
The default ephemeral port range from 49153 through 65535 is always used for Docker versions before 1.6.0.
The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent
ports 51678 and 51679. Any host port that was previously specified in a running task is also reserved while the
task is running (after a task stops, the host port is released). The current reserved ports are displayed in the
remainingResources
of DescribeContainerInstances output, and a container instance may have up
to 100 reserved ports at a time, including the default reserved ports (automatically assigned ports do not count
toward the 100 reserved ports limit).
String protocol
The protocol used for the port mapping. Valid values are tcp
and udp
. The default is
tcp
.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed.
SdkInternalList<T> attributes
The attributes to apply to your resource. You can specify up to 10 custom attributes per resource. You can specify up to 10 attributes in a single call.
SdkInternalList<T> attributes
The attributes applied to your resource.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container instance. If you do not specify a cluster, the default cluster is assumed.
String instanceIdentityDocument
The instance identity document for the EC2 instance to register. This document can be found by running the
following command from the instance:
curl http://169.254.169.254/latest/dynamic/instance-identity/document/
String instanceIdentityDocumentSignature
The instance identity document signature for the EC2 instance to register. This signature can be found by running
the following command from the instance:
curl http://169.254.169.254/latest/dynamic/instance-identity/signature/
SdkInternalList<T> totalResources
The resources available on the instance.
VersionInfo versionInfo
The version information for the Amazon ECS container agent and Docker daemon running on the container instance.
String containerInstanceArn
The ARN of the container instance (if it was previously registered).
SdkInternalList<T> attributes
The container instance attributes that this container instance supports.
ContainerInstance containerInstance
The container instance that was registered.
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 and lowercase), numbers, hyphens, and underscores are allowed.
String taskRoleArn
The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.
String executionRoleArn
The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
String networkMode
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 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 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 in the Amazon Elastic Container Service Developer Guide.
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.
Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode.
For more information, see Network settings in the Docker run reference.
SdkInternalList<T> containerDefinitions
A list of container definitions in JSON format that describe the different containers that make up your task.
SdkInternalList<T> volumes
A list of volume definitions in JSON format that containers in your task may use.
SdkInternalList<T> placementConstraints
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).
SdkInternalList<T> requiresCompatibilities
The launch type required by the task. If no value is specified, it defaults to EC2
.
String cpu
The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example
1024
, or as a string using vCPUs, for example 1 vCPU
or 1 vcpu
, in a task
definition but will be converted to an integer indicating the CPU units when the task definition is registered.
Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.
If using the EC2 launch type, this field is optional. Supported values are between 128
CPU units (
0.125
vCPUs) and 10240
CPU units (10
vCPUs).
If using the Fargate launch type, this field is required and you must use one of the following values, which
determines your range of supported values for the memory
parameter:
256 (.25 vCPU) - Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6
GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024
(1 GB)
4096 (4 vCPU) - Available memory
values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024
(1 GB)
String memory
The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example
1024
, or as a string using GB, for example 1GB
or 1 GB
, in a task
definition but will be converted to an integer indicating the MiB when the task definition is registered.
Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.
If using the EC2 launch type, this field is optional.
If using the Fargate launch type, this field is required and you must use one of the following values, which
determines your range of supported values for the cpu
parameter:
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2
vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4
vCPU)
TaskDefinition taskDefinition
The full description of the registered task definition.
String name
The name of the resource, such as CPU
, MEMORY
, PORTS
,
PORTS_UDP
, or a user-defined resource.
String type
The type of the resource, such as INTEGER
, DOUBLE
, LONG
, or
STRINGSET
.
Double doubleValue
When the doubleValue
type is set, the value of the resource must be a double precision
floating-point type.
Long longValue
When the longValue
type is set, the value of the resource must be an extended precision
floating-point type.
Integer integerValue
When the integerValue
type is set, the value of the resource must be an integer.
SdkInternalList<T> stringSetValue
When the stringSetValue
type is set, the value of the resource must be a string type.
String cluster
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.
String taskDefinition
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.
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 (that is
specified in the task definition or Docker image) with a command
override. You can also override
existing environment variables (that are specified in the task definition or Docker image) on a container or add
new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.
Integer count
The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call.
String startedBy
An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch
process job, you could apply a unique identifier for that job to your task with the startedBy
parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks
call with the startedBy
value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and
underscores are allowed.
If a task is started by an Amazon ECS service, then the startedBy
parameter contains the deployment
ID of the service that starts it.
String group
The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).
SdkInternalList<T> placementConstraints
An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at run time).
SdkInternalList<T> placementStrategy
The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
String launchType
The launch type on which to run your task.
String platformVersion
The platform version on which to run your task. If one is not specified, the latest version is used by default.
NetworkConfiguration networkConfiguration
The network configuration for the task. This parameter is required for task definitions that use the
awsvpc
network mode to receive their own Elastic Network Interface, and it is not supported for
other network modes. For more information, see Task Networking in the
Amazon Elastic Container Service Developer Guide.
SdkInternalList<T> tasks
A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here.
SdkInternalList<T> failures
Any failures associated with the call.
String serviceArn
The ARN that identifies the service. The ARN contains the arn:aws:ecs
namespace, followed by the
region of the service, the AWS account ID of the service owner, the service
namespace, and then the
service name. For example, arn:aws:ecs:region:012345678910:service/my-service
.
String serviceName
The name of your service. Up to 255 letters (uppercase and lowercase), 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.
String clusterArn
The Amazon Resource Name (ARN) of the cluster that hosts the service.
SdkInternalList<T> loadBalancers
A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.
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
, because tasks that use the awsvpc
network mode are
associated with an elastic network interface, not an Amazon EC2 instance.
SdkInternalList<T> serviceRegistries
String status
The status of the service. The valid values are ACTIVE
, DRAINING
, or
INACTIVE
.
Integer desiredCount
The desired number of instantiations of the task definition to keep running on the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.
Integer runningCount
The number of tasks in the cluster that are in the RUNNING
state.
Integer pendingCount
The number of tasks in the cluster that are in the PENDING
state.
String launchType
The launch type on which your service is running.
String platformVersion
The platform version on which your task is running. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.
String taskDefinition
The task definition to use for tasks in the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.
DeploymentConfiguration deploymentConfiguration
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
SdkInternalList<T> deployments
The current state of deployments for the service.
String roleArn
The ARN of the IAM role associated with the service that allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.
SdkInternalList<T> events
The event stream for your service. A maximum of 100 of the latest events are displayed.
Date createdAt
The Unix time stamp for when the service was created.
SdkInternalList<T> placementConstraints
The placement constraints for the tasks in the service.
SdkInternalList<T> placementStrategy
The placement strategy that determines how tasks for the service are placed.
NetworkConfiguration networkConfiguration
The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by
using the awsvpc
networking mode.
Integer healthCheckGracePeriodSeconds
The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.
String schedulingStrategy
The scheduling strategy to use for the service. For more information, see Services.
There are two service scheduler strategies available:
REPLICA
-The replica scheduling strategy places and maintains the desired number of tasks across your
cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement
strategies and constraints to customize task placement decisions.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each container instance in your
cluster. When using this strategy, do not specify a desired number of tasks or any task placement strategies.
Fargate tasks do not support the DAEMON
scheduling strategy.
String registryArn
The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is Amazon Route 53 Auto Naming. For more information, see Service.
Integer port
The port value used if your service discovery service specified an SRV record. This field is required if both the
awsvpc
network mode and SRV records are used.
String containerName
The container name value, already specified in the task definition, to be used for your service discovery
service. If the task definition that your service task specifies uses the bridge
or
host
network mode, you must specify a containerName
and containerPort
combination from the task definition. If the task definition that your service task specifies uses the
awsvpc
network mode and a type SRV DNS record is used, you must specify either a
containerName
and containerPort
combination or a port
value, but not both.
Integer containerPort
The port value, already specified in the task definition, to be used for your service discovery service. If the
task definition your service task specifies uses the bridge
or host
network mode, you
must specify a containerName
and containerPort
combination from the task definition. If
the task definition your service task specifies uses the awsvpc
network mode and a type SRV DNS
record is used, you must specify either a containerName
and containerPort
combination
or a port
value, but not both.
String cluster
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.
String taskDefinition
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.
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 (that is
specified in the task definition or Docker image) with a command
override. You can also override
existing environment variables (that are specified in the task definition or Docker image) on a container or add
new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.
SdkInternalList<T> containerInstances
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.
String startedBy
An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch
process job, you could apply a unique identifier for that job to your task with the startedBy
parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks
call with the startedBy
value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and
underscores are allowed.
If a task is started by an Amazon ECS service, then the startedBy
parameter contains the deployment
ID of the service that starts it.
String group
The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).
NetworkConfiguration networkConfiguration
The VPC subnet and security group configuration for tasks that receive their own Elastic Network Interface by
using the awsvpc
networking mode.
SdkInternalList<T> tasks
A full description of the tasks that were started. Each task that was successfully placed on your container instances is described.
SdkInternalList<T> failures
Any failures associated with the call.
String cluster
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.
String task
The task ID or full ARN entry of the task to stop.
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 appears in subsequent DescribeTasks API operations on this task. Up to 255 characters are allowed in this message.
Task task
The task that was stopped.
String cluster
The short name or full ARN of the cluster that hosts the container.
String task
The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.
String containerName
The name of the container.
String status
The status of the state change request.
Integer exitCode
The exit code returned for the state change request.
String reason
The reason for the state change request.
SdkInternalList<T> networkBindings
The network bindings of the container.
String acknowledgment
Acknowledgement of the state change.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.
String task
The task ID or full ARN of the task in the state change request.
String status
The status of the state change request.
String reason
The reason for the state change request.
SdkInternalList<T> containers
Any containers associated with the state change request.
SdkInternalList<T> attachments
Any attachments associated with the state change request.
Date pullStartedAt
The Unix time stamp for when the container image pull began.
Date pullStoppedAt
The Unix time stamp for when the container image pull completed.
Date executionStoppedAt
The Unix time stamp for when the task execution stopped.
String acknowledgment
Acknowledgement of the state change.
String taskArn
The Amazon Resource Name (ARN) of the task.
String clusterArn
The ARN of the cluster that hosts the task.
String taskDefinitionArn
The ARN of the task definition that creates the task.
String containerInstanceArn
The ARN of the container instances that host the task.
TaskOverride overrides
One or more container overrides.
String lastStatus
The last known status of the task.
String desiredStatus
The desired status of the task.
String cpu
The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example
1024
, or as a string using vCPUs, for example 1 vCPU
or 1 vcpu
, in a task
definition but is converted to an integer indicating the CPU units when the task definition is registered.
If using the EC2 launch type, this field is optional. Supported values are between 128
CPU units (
0.125
vCPUs) and 10240
CPU units (10
vCPUs).
If using the Fargate launch type, this field is required and you must use one of the following values, which
determines your range of supported values for the memory
parameter:
256 (.25 vCPU) - Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6
GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024
(1 GB)
4096 (4 vCPU) - Available memory
values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024
(1 GB)
String memory
The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example
1024
, or as a string using GB, for example 1GB
or 1 GB
, in a task
definition but is converted to an integer indicating the MiB when the task definition is registered.
If using the EC2 launch type, this field is optional.
If using the Fargate launch type, this field is required and you must use one of the following values, which
determines your range of supported values for the cpu
parameter:
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2
vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4
vCPU)
SdkInternalList<T> containers
The containers associated with the task.
String startedBy
The tag specified when a task is started. If the task is started by an Amazon ECS service, then the
startedBy
parameter contains the deployment ID of the service that starts it.
Long version
The version counter for the task. Every time a task experiences a change that triggers a CloudWatch event, the
version counter is incremented. If you are replicating your Amazon ECS task state with CloudWatch Events, you can
compare the version of a task reported by the Amazon ECS APIs with the version reported in CloudWatch Events for
the task (inside the detail
object) to verify that the version in your event stream is current.
String stoppedReason
The reason the task was stopped.
String connectivity
The connectivity status of a task.
Date connectivityAt
The Unix time stamp for when the task last went into CONNECTED
status.
Date pullStartedAt
The Unix time stamp for when the container image pull began.
Date pullStoppedAt
The Unix time stamp for when the container image pull completed.
Date executionStoppedAt
The Unix time stamp for when the task execution stopped.
Date createdAt
The Unix time stamp for when the task was created (the task entered the PENDING
state).
Date startedAt
The Unix time stamp for when the task started (the task transitioned from the PENDING
state to the
RUNNING
state).
Date stoppingAt
The Unix time stamp for when the task will stop (transitions from the RUNNING
state to
STOPPED
).
Date stoppedAt
The Unix time stamp for when the task was stopped (the task transitioned from the RUNNING
state to
the STOPPED
state).
String group
The name of the task group associated with the task.
String launchType
The launch type on which your task is running.
String platformVersion
The platform version on which your task is running. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.
SdkInternalList<T> attachments
The Elastic Network Adapter associated with the task if the task uses the awsvpc
network mode.
String healthStatus
The health status for the task, which is determined by the health of the essential containers in the task. If all
essential containers in the task are reporting as HEALTHY
, then the task status also reports as
HEALTHY
. If any essential containers in the task are reporting as UNHEALTHY
or
UNKNOWN
, then the task status also reports as UNHEALTHY
or UNKNOWN
,
accordingly.
The Amazon ECS container agent does not monitor or report on Docker health checks that are embedded in a container image (such as those specified in a parent image or from the image's Dockerfile) and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.
String taskDefinitionArn
The full Amazon Resource Name (ARN) of the task definition.
SdkInternalList<T> containerDefinitions
A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.
String family
The family of your task definition, used as the definition name.
String taskRoleArn
The 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.
IAM roles for tasks on Windows require that the -EnableTaskIAMRole
option is set when you launch the
Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take
advantage of the feature. For more information, see Windows IAM Roles
for Tasks in the Amazon Elastic Container Service Developer Guide.
String executionRoleArn
The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
String networkMode
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 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 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 in the Amazon Elastic Container Service Developer Guide.
Currently, only the Amazon ECS-optimized AMI, other Amazon Linux variants with the ecs-init
package,
or AWS Fargate infrastructure support the awsvpc
network mode.
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.
Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with
Windows containers, you must not specify a network mode. If you use the console to register a task definition
with Windows containers, you must choose the <default>
network mode object.
For more information, see Network settings in the Docker run reference.
Integer revision
The revision of the task in a particular family. The revision is a version number of a task definition in a
family. When you register a task definition for the first time, the revision is 1
; each time you
register a new revision of a task definition in the same family, the revision value always increases by one (even
if you have deregistered previous revisions in this family).
SdkInternalList<T> volumes
The list of volumes in a task.
If you are using the Fargate launch type, the host
and sourcePath
parameters are not
supported.
For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.
String status
The status of the task definition.
SdkInternalList<T> requiresAttributes
The container instance attributes required by your task. This field is not valid if using the Fargate launch type for your task.
SdkInternalList<T> placementConstraints
An array of placement constraint objects to use for tasks. This field is not valid if using the Fargate launch type for your task.
SdkInternalList<T> compatibilities
The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.
SdkInternalList<T> requiresCompatibilities
The launch type the task is using.
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 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: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6
GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024
(1 GB)
4096 (4 vCPU) - Available memory
values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024
(1 GB)
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 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:
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2
vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4
vCPU)
String type
The type of constraint. The DistinctInstance
constraint ensures that each task in a particular group
is running on a different container instance. The MemberOf
constraint restricts selection to be from
a group of valid candidates.
String expression
A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.
SdkInternalList<T> containerOverrides
One or more container overrides sent to a task.
String taskRoleArn
The 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.
String executionRoleArn
The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
String containerPath
The absolute file path where the tmpfs volume will be mounted.
Integer size
The size (in MiB) of the tmpfs volume.
SdkInternalList<T> mountOptions
The list of tmpfs volume mount options.
Valid values:
"defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime"
String cluster
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.
String containerInstance
The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent.
ContainerInstance containerInstance
The container instance for which the container agent was updated.
String cluster
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.
SdkInternalList<T> containerInstances
A list of container instance IDs or full ARN entries.
String status
The container instance state with which to update the container instance.
SdkInternalList<T> containerInstances
The list of container instances.
SdkInternalList<T> failures
Any failures associated with the call.
String cluster
The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. If you do not specify a cluster, the default cluster is assumed.
String service
The name of the service to update.
Integer desiredCount
The number of instantiations of the task to place and keep running in your service.
String taskDefinition
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.
DeploymentConfiguration deploymentConfiguration
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
NetworkConfiguration networkConfiguration
The network configuration for the service. This parameter is required for task definitions that use the
awsvpc
network mode to receive their own elastic network interface, and it is not supported for
other network modes. For more information, see Task Networking in the
Amazon Elastic Container Service Developer Guide.
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 new service deployment.
String platformVersion
The platform version you want to update your service to run.
Boolean forceNewDeployment
Whether to force a new deployment of the service. Deployments are not forced by default. You can use this option
to trigger a new deployment with no service definition changes. For example, you can update a service's tasks to
use a newer Docker image with the same image/tag combination (my_image:latest
) or to roll Fargate
tasks onto a newer platform version.
Integer healthCheckGracePeriodSeconds
The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 1,800 seconds during which the ECS service scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
Service service
The full description of your service following the update call.
String agentVersion
The version number of the Amazon ECS container agent.
String agentHash
The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub repository.
String dockerVersion
The Docker version running on the container instance.
String name
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are
allowed. This name is referenced in the sourceVolume
parameter of container definition
mountPoints
.
HostVolumeProperties host
The contents of the host
parameter determine whether your data volume persists on the host container
instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for
your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.
Windows containers can mount whole directories on the same drive as $env:ProgramData
. Windows
containers cannot mount directories on a different drive, and mount point cannot be across drives. For example,
you can mount C:\my\path:C:\my\path
and D:\:D:\
, but not
D:\my\path:C:\my\path
or D:\:C:\my\path
.
String sourceContainer
The name of another container within the same task definition to mount volumes from.
Boolean readOnly
If this value is true
, the container has read-only access to the volume. If this value is
false
, then the container can write to the volume. The default value is false
.
Copyright © 2018. All rights reserved.