/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ecs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Container definitions are used in task definitions to describe the different containers that are launched as part of * a task. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ContainerDefinition implements Serializable, Cloneable, StructuredPojo { /** *
* The name of a container. If you're 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, underscores, and hyphens 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.
*
* The image used to start a container. This string is passed directly to the Docker daemon. By default, images in
* the Docker Hub registry are available. 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 aren't 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
).
*
* The private repository authentication credentials to use. *
*/ private RepositoryCredentials repositoryCredentials; /** *
* 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. *
** 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's 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 is guaranteed a minimum of 512 CPU units when needed. Moreover, * each container could float to higher CPU usage if the other container was not using it. 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 * isn't 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 two 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's described in the task definition. A null or zero CPU value
* is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*
* The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory
* specified here, the container is killed. The total amount of memory reserved for all containers within a task
* must be lower than the task memory
value, if one is specified. This parameter maps to
* Memory
in the Create a
* container section of the Docker Remote API and the
* --memory
option to docker run.
*
* If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory
* value. If you specify both a container-level memory
and memoryReservation
value,
* memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
*/ private Integer memory; /** *
* 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
*/ private Integer memoryReservation; /** *
* The links
parameter allows containers to communicate with each other without the need for port
* mappings. This parameter is only supported if the network mode of a task definition is bridge
. The
* name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
* letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about
* linking Docker containers, go to Legacy container links in
* the Docker documentation. 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. *
** 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, 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's
* no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
section DescribeTasks
* responses.
*
* 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
, its failure doesn't 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's composed of multiple * containers, 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. *
*/ private Boolean essential; /** *
* Early versions of the Amazon ECS container agent don't 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's 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.
*
* The command that's 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. If there are multiple arguments, each argument is a separated string in the array.
*
* 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 don't recommend that you use plaintext environment variables for sensitive information, such as credential * data. *
*
* A list of files containing the environment variables to pass to a container. This parameter maps to the
* --env-file
option to docker run.
*
* You can specify up to ten environment files. The file must have a .env
file extension. Each line in
* an environment file contains an environment variable in VARIABLE=VALUE
format. Lines beginning with
* #
are treated as comments and are ignored. For more information about the environment variable file
* syntax, see Declare default environment variables in
* file.
*
* If there are environment variables specified using the environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple environment
* files are specified that contain the same variable, they're processed from the top down. We recommend that you
* use unique variable names. For more information, see Specifying Environment
* Variables in the Amazon Elastic Container Service Developer Guide.
*
* 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 can't mount directories on a different drive, and mount point can't be across drives.
*
* 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.
*
* Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more * information see KernelCapabilities. *
** This parameter is not supported for Windows containers. *
** The secrets to pass to the container. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer Guide. *
*/ private com.amazonaws.internal.SdkInternalList* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on * other containers in a task definition. When a dependency is defined for container startup, for container shutdown * it is reversed. *
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container
* agent to turn on container dependencies. However, we recommend using the latest container agent version. For
* information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you
* specify two containers in a task definition with containerA having a dependency on containerB reaching a
* COMPLETE
, SUCCESS
, or HEALTHY
status. If a startTimeout
value
* is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and
* not start. This results in the task transitioning to a STOPPED
state.
*
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's enforced
* independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
of the
* container agent to use a container start timeout value. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the ecs-init
* package. If your container instances are launched from version 20190301
or later, then they contain
* the required versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its * own. *
** For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds * is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the value set
* for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT
is used. If
* neither the stopTimeout
parameter or the ECS_CONTAINER_STOP_TIMEOUT
agent configuration
* variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers
* are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop
* timeout value. However, we recommend using the latest container agent version. For information about checking
* your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* 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 you're using the awsvpc
network mode.
*
* The user 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.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID 0). We
* recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must specify
* it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*
* The working directory to run commands inside the container in. This parameter maps to WorkingDir
in
* the Create a container section
* of the Docker Remote API and the --workdir
* option to docker run.
*
* When this parameter is true, networking is off 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. *
*
* 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 run on Fargate. *
*
* 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. *
*
* 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. *
*
* 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. *
*
* A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network mode.
*
* A list of strings to provide custom configuration for multiple security systems. For more information about valid * values, see Docker Run Security * Configuration. This field isn't valid for containers in tasks using the Fargate launch type. *
** For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container * for Active Directory authentication. For more information, see Using gMSAs for Windows * Containers and Using * gMSAs for Linux Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
** Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" *
*/ private com.amazonaws.internal.SdkInternalList
* When this parameter is true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in the Create a container section of the
* Docker Remote API and the --interactive
* option to docker run.
*
* When this parameter is true
, a TTY is allocated. This parameter maps to Tty
in the Create a container section of the
* Docker Remote API and the --tty
option to docker run.
*
* 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 --format '{{.Server.APIVersion}}'
*
* A list of ulimits
to set in the container. If a ulimit
value is specified in a task
* definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the
* exception of the nofile
resource limit parameter which Fargate overrides. The nofile
* resource limit sets a restriction on the number of open files that a container can use. The default
* nofile
soft limit is 1024
and the default hard limit is 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
** The log configuration specification for the container. *
*
* This parameter maps to LogConfig
in the Create a container section of the
* Docker Remote API and the --log-driver
* option to docker run. By
* default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* The container 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.
*
* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls
in
* the Create a container section
* of the Docker Remote API and the --sysctl
* option to docker run.
*
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network modes. For
* tasks that use the awsvpc
network mode, the container that's started last determines which
* systemControls
parameters take effect. For tasks that use the host
network mode, it
* changes the container instance's namespaced kernel parameters as well as the containers.
*
* The type and amount of a resource to assign to a container. The only supported resource is a GPU. *
*/ private com.amazonaws.internal.SdkInternalList* The FireLens configuration for the container. This is used to specify and configure a log router for container * logs. For more information, see Custom Log Routing in * the Amazon Elastic Container Service Developer Guide. *
*/ private FirelensConfiguration firelensConfiguration; /** *
* A list of ARNs in SSM or Amazon S3 to a credential spec (credspec
code>) file that configures a
* container for Active Directory authentication. This parameter is only used with domainless authentication.
*
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with the ARN
* in SSM or Amazon S3.
*
* The credspec
must provide a ARN in Secrets Manager for a secret containing the username, password,
* and the domain to connect to. For better security, the instance isn't joined to the domain for domainless
* authentication. Other applications on the instance can't use the domainless credentials. You can use this
* parameter to run tasks on the same instance, even it the tasks need to join different domains. For more
* information, see Using
* gMSAs for Windows Containers and Using gMSAs for Linux
* Containers.
*
* The name of a container. If you're 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, underscores, and hyphens 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.
*
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, underscores, and hyphens 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.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name of a container. If you're 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, underscores, and hyphens 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.
*
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, underscores, and hyphens
* 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.
*/
public String getName() {
return this.name;
}
/**
*
* The name of a container. If you're 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, underscores, and hyphens 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.
*
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, underscores, and hyphens 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withName(String name) {
setName(name);
return this;
}
/**
*
* The image used to start a container. This string is passed directly to the Docker daemon. By default, images in
* the Docker Hub registry are available. 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 aren't 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
).
*
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 aren't 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
).
*
* The image used to start a container. This string is passed directly to the Docker daemon. By default, images in
* the Docker Hub registry are available. 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 aren't 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
).
*
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 aren't 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
).
*
* The image used to start a container. This string is passed directly to the Docker daemon. By default, images in
* the Docker Hub registry are available. 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 aren't 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
).
*
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 aren't 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
).
*
* The private repository authentication credentials to use. *
* * @param repositoryCredentials * The private repository authentication credentials to use. */ public void setRepositoryCredentials(RepositoryCredentials repositoryCredentials) { this.repositoryCredentials = repositoryCredentials; } /** ** The private repository authentication credentials to use. *
* * @return The private repository authentication credentials to use. */ public RepositoryCredentials getRepositoryCredentials() { return this.repositoryCredentials; } /** ** The private repository authentication credentials to use. *
* * @param repositoryCredentials * The private repository authentication credentials to use. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withRepositoryCredentials(RepositoryCredentials repositoryCredentials) { setRepositoryCredentials(repositoryCredentials); return this; } /** *
* 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. *
** 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's 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 is guaranteed a minimum of 512 CPU units when needed. Moreover, * each container could float to higher CPU usage if the other container was not using it. 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 * isn't 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 two 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's described in the task definition. A null or zero CPU value
* is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*
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. *
** 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's 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 is guaranteed a minimum of * 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container * was not using it. 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 isn't 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 two 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's described in the task definition. A null
* or zero CPU value is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*/
public void setCpu(Integer cpu) {
this.cpu = 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. *
** 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's 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 is guaranteed a minimum of 512 CPU units when needed. Moreover, * each container could float to higher CPU usage if the other container was not using it. 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 * isn't 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 two 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's described in the task definition. A null or zero CPU value
* is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*
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. *
** 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's 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 is guaranteed a minimum * of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other * container was not using it. 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 isn't 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 two 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's described in the task definition. A
* null or zero CPU value is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*/
public Integer getCpu() {
return this.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. *
** 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's 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 is guaranteed a minimum of 512 CPU units when needed. Moreover, * each container could float to higher CPU usage if the other container was not using it. 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 * isn't 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 two 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's described in the task definition. A null or zero CPU value
* is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
*
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. *
** 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's 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 is guaranteed a minimum of * 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container * was not using it. 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 isn't 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 two 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's described in the task definition. A null
* or zero CPU value is passed to Docker as 0
, which Windows interprets as 1% of one CPU.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withCpu(Integer cpu) {
setCpu(cpu);
return this;
}
/**
*
* The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory
* specified here, the container is killed. The total amount of memory reserved for all containers within a task
* must be lower than the task memory
value, if one is specified. This parameter maps to
* Memory
in the Create a
* container section of the Docker Remote API and the
* --memory
option to docker run.
*
* If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory
* value. If you specify both a container-level memory
and memoryReservation
value,
* memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @param memory * The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory * specified here, the container is killed. The total amount of memory reserved for all containers within a * task must be lower than the taskmemory
value, if one is specified. This parameter maps to
* Memory
in the Create a container section
* of the Docker Remote API and the
* --memory
option to docker run.
* * If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level
* memory value. If you specify both a container-level memory
and memoryReservation
* value, memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. */ public void setMemory(Integer memory) { this.memory = memory; } /** *
* The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory
* specified here, the container is killed. The total amount of memory reserved for all containers within a task
* must be lower than the task memory
value, if one is specified. This parameter maps to
* Memory
in the Create a
* container section of the Docker Remote API and the
* --memory
option to docker run.
*
* If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory
* value. If you specify both a container-level memory
and memoryReservation
value,
* memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @return The amount (in MiB) of memory to present to the container. If your container attempts to exceed the * memory specified here, the container is killed. The total amount of memory reserved for all containers * within a task must be lower than the taskmemory
value, if one is specified. This parameter
* maps to Memory
in the Create a container section
* of the Docker Remote API and the
* --memory
option to docker run.
* * If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level
* memory value. If you specify both a container-level memory
and
* memoryReservation
value, memory
must be greater than
* memoryReservation
. If you specify memoryReservation
, then that value is
* subtracted from the available memory resources for the container instance where the container is placed.
* Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. */ public Integer getMemory() { return this.memory; } /** *
* The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory
* specified here, the container is killed. The total amount of memory reserved for all containers within a task
* must be lower than the task memory
value, if one is specified. This parameter maps to
* Memory
in the Create a
* container section of the Docker Remote API and the
* --memory
option to docker run.
*
* If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory
* value. If you specify both a container-level memory
and memoryReservation
value,
* memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @param memory * The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory * specified here, the container is killed. The total amount of memory reserved for all containers within a * task must be lower than the taskmemory
value, if one is specified. This parameter maps to
* Memory
in the Create a container section
* of the Docker Remote API and the
* --memory
option to docker run.
* * If using the Fargate launch type, this parameter is optional. *
*
* If using the EC2 launch type, you must specify either a task-level memory value or a container-level
* memory value. If you specify both a container-level memory
and memoryReservation
* value, memory
must be greater than memoryReservation
. If you specify
* memoryReservation
, then that value is subtracted from the available memory resources for the
* container instance where the container is placed. Otherwise, the value of memory
is used.
*
* The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withMemory(Integer memory) { setMemory(memory); return this; } /** *
* 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @param 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 thememory
* 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. */ public void setMemoryReservation(Integer memoryReservation) { this.memoryReservation = 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @return 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 thememory
* 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. */ public Integer getMemoryReservation() { return this.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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less * than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify * less than 4 MiB of memory for your containers. *
* * @param 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 thememory
* 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.
*
* If a task-level memory value is not specified, you must specify a non-zero integer for one or both of
* memory
or memoryReservation
in a container definition. 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 where 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 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't * specify less than 6 MiB of memory for your containers. *
** The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't * specify less than 4 MiB of memory for your containers. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withMemoryReservation(Integer memoryReservation) { setMemoryReservation(memoryReservation); return this; } /** *
* The links
parameter allows containers to communicate with each other without the need for port
* mappings. This parameter is only supported if the network mode of a task definition is bridge
. The
* name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
* letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about
* linking Docker containers, go to Legacy container links in
* the Docker documentation. 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. *
*links
parameter allows containers to communicate with each other without the need for
* port mappings. This parameter is only supported if the network mode of a task definition is
* bridge
. The name:internalName
construct is analogous to name:alias
* in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are
* allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation.
* 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. *
*/ public java.util.List
* The links
parameter allows containers to communicate with each other without the need for port
* mappings. This parameter is only supported if the network mode of a task definition is bridge
. The
* name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
* letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about
* linking Docker containers, go to Legacy container links in
* the Docker documentation. 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. *
*links
parameter allows containers to communicate with each other without the need for
* port mappings. This parameter is only supported if the network mode of a task definition is
* bridge
. The name:internalName
construct is analogous to name:alias
* in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are
* allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation. 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. *
*/ public void setLinks(java.util.Collection
* The links
parameter allows containers to communicate with each other without the need for port
* mappings. This parameter is only supported if the network mode of a task definition is bridge
. The
* name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
* letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about
* linking Docker containers, go to Legacy container links in
* the Docker documentation. 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setLinks(java.util.Collection)} or {@link #withLinks(java.util.Collection)} if you want to override the * existing values. *
* * @param links * Thelinks
parameter allows containers to communicate with each other without the need for
* port mappings. This parameter is only supported if the network mode of a task definition is
* bridge
. The name:internalName
construct is analogous to name:alias
* in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are
* allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation. 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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withLinks(String... links) { if (this.links == null) { setLinks(new com.amazonaws.internal.SdkInternalList
* The links
parameter allows containers to communicate with each other without the need for port
* mappings. This parameter is only supported if the network mode of a task definition is bridge
. The
* name:internalName
construct is analogous to name:alias
in Docker links. Up to 255
* letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about
* linking Docker containers, go to Legacy container links in
* the Docker documentation. 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. *
*links
parameter allows containers to communicate with each other without the need for
* port mappings. This parameter is only supported if the network mode of a task definition is
* bridge
. The name:internalName
construct is analogous to name:alias
* in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are
* allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation. 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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withLinks(java.util.Collection* 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, 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's
* no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
section DescribeTasks
* responses.
*
* For task definitions that use the awsvpc
network mode, 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's no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
* section DescribeTasks responses.
*
* 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, 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's
* no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
section DescribeTasks
* responses.
*
* For task definitions that use the awsvpc
network mode, 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's no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
* section DescribeTasks responses.
*
* 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, 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's
* no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
section DescribeTasks
* responses.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setPortMappings(java.util.Collection)} or {@link #withPortMappings(java.util.Collection)} if you want to * override the existing values. *
* * @param 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, 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's no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
* section DescribeTasks responses.
*
* 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, 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's
* no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
section DescribeTasks
* responses.
*
* For task definitions that use the awsvpc
network mode, 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's no loopback for port mappings on Windows, so you can't 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. The assignments are also visible in the networkBindings
* section DescribeTasks responses.
*
* 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
, its failure doesn't 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's composed of multiple * containers, 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. *
* * @param essential * If theessential
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
, its failure doesn't
* 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's composed of * multiple containers, 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. */ public void setEssential(Boolean essential) { this.essential = 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
, its failure doesn't 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's composed of multiple * containers, 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. *
* * @return If theessential
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
, its failure doesn't
* 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's composed of * multiple containers, 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. */ public Boolean getEssential() { return this.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
, its failure doesn't 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's composed of multiple * containers, 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. *
* * @param essential * If theessential
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
, its failure doesn't
* 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's composed of * multiple containers, 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withEssential(Boolean essential) { setEssential(essential); return this; } /** *
* 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
, its failure doesn't 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's composed of multiple * containers, 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. *
* * @return If theessential
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
, its failure doesn't
* 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's composed of
* multiple containers, 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.
*/
public Boolean isEssential() {
return this.essential;
}
/**
*
* Early versions of the Amazon ECS container agent don't 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's 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.
*
* Early versions of the Amazon ECS container agent don't 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's passed to the container. This parameter maps to
* Early versions of the Amazon ECS container agent don't properly handle
* The entry point that's passed to the container. This parameter maps to
* Early versions of the Amazon ECS container agent don't properly handle 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.
*/
public java.util.ListentryPoint
parameters. If you
* have problems using entryPoint
, update your container agent or enter your commands and arguments as
* command
array items instead.
* 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.
* 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's passed to the container. This parameter maps to
* Early versions of the Amazon ECS container agent don't properly handle
* The entry point that's passed to the container. This parameter maps to
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEntryPoint(java.util.Collection)} or {@link #withEntryPoint(java.util.Collection)} if you want to
* override the existing values.
*
* Early versions of the Amazon ECS container agent don't properly handle 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.
*/
public void setEntryPoint(java.util.CollectionentryPoint
parameters. If you
* have problems using entryPoint
, update your container agent or enter your commands and arguments as
* command
array items instead.
* 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.
* 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's passed to the container. This parameter maps to
* Early versions of the Amazon ECS container agent don't properly handle
* The entry point that's passed to the container. This parameter maps to
* Early versions of the Amazon ECS container agent don't properly handle 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withEntryPoint(String... entryPoint) {
if (this.entryPoint == null) {
setEntryPoint(new com.amazonaws.internal.SdkInternalListentryPoint
parameters. If you
* have problems using entryPoint
, update your container agent or enter your commands and arguments as
* command
array items instead.
* 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.
* 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's passed to the container. This parameter maps to
* The command that's passed to the container. This parameter maps to
* The command that's passed to the container. This parameter maps to
* The command that's passed to the container. This parameter maps to
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCommand(java.util.Collection)} or {@link #withCommand(java.util.Collection)} if you want to override
* the existing values.
*
* The command that's passed to the container. This parameter maps to
* The environment variables to pass to a container. This parameter maps to
* We don't recommend that you use plaintext environment variables for sensitive information, such as credential
* data.
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withEntryPoint(java.util.CollectionCmd
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. If there are multiple arguments, each argument is a separated string in the array.
* 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. If there are multiple arguments, each argument is a separated string in the
* array.
*/
public java.util.ListCmd
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. If there are multiple arguments, each argument is a separated string in the array.
* 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. If there are multiple arguments, each argument is a separated string in the
* array.
*/
public void setCommand(java.util.CollectionCmd
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. If there are multiple arguments, each argument is a separated string in the array.
* 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. If there are multiple arguments, each argument is a separated string in the
* array.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withCommand(String... command) {
if (this.command == null) {
setCommand(new com.amazonaws.internal.SdkInternalListCmd
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. If there are multiple arguments, each argument is a separated string in the array.
* 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. If there are multiple arguments, each argument is a separated string in the
* array.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withCommand(java.util.CollectionEnv
in the Create a container section of the
* Docker Remote API and the --env
option to docker run.
* Env
in the Create a container section
* of the Docker Remote API and the
* --env
option to docker run.
* We don't recommend that you use plaintext environment variables for sensitive information, such as * credential data. *
*/ public java.util.List
* 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 don't recommend that you use plaintext environment variables for sensitive information, such as credential * data. *
*Env
in the Create a container section
* of the Docker Remote API and the
* --env
option to docker run.
* * We don't recommend that you use plaintext environment variables for sensitive information, such as * credential data. *
*/ public void setEnvironment(java.util.Collection
* 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 don't recommend that you use plaintext environment variables for sensitive information, such as credential * data. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnvironment(java.util.Collection)} or {@link #withEnvironment(java.util.Collection)} if you want to * override the existing values. *
* * @param environment * The environment variables to pass to a container. This parameter maps toEnv
in the Create a container section
* of the Docker Remote API and the
* --env
option to docker run.
* * We don't recommend that you use plaintext environment variables for sensitive information, such as * credential data. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withEnvironment(KeyValuePair... environment) { if (this.environment == null) { setEnvironment(new com.amazonaws.internal.SdkInternalList
* 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 don't recommend that you use plaintext environment variables for sensitive information, such as credential * data. *
*Env
in the Create a container section
* of the Docker Remote API and the
* --env
option to docker run.
* * We don't recommend that you use plaintext environment variables for sensitive information, such as * credential data. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withEnvironment(java.util.Collection
* A list of files containing the environment variables to pass to a container. This parameter maps to the
* --env-file
option to docker run.
*
* You can specify up to ten environment files. The file must have a .env
file extension. Each line in
* an environment file contains an environment variable in VARIABLE=VALUE
format. Lines beginning with
* #
are treated as comments and are ignored. For more information about the environment variable file
* syntax, see Declare default environment variables in
* file.
*
* If there are environment variables specified using the environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple environment
* files are specified that contain the same variable, they're processed from the top down. We recommend that you
* use unique variable names. For more information, see Specifying Environment
* Variables in the Amazon Elastic Container Service Developer Guide.
*
--env-file
option to docker run.
*
* You can specify up to ten environment files. The file must have a .env
file extension. Each
* line in an environment file contains an environment variable in VARIABLE=VALUE
format. Lines
* beginning with #
are treated as comments and are ignored. For more information about the
* environment variable file syntax, see Declare default
* environment variables in file.
*
* If there are environment variables specified using the
* A list of files containing the environment variables to pass to a container. This parameter maps to the
*
* You can specify up to ten environment files. The file must have a
* If there are environment variables specified using the environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple
* environment files are specified that contain the same variable, they're processed from the top down. We
* recommend that you use unique variable names. For more information, see Specifying
* Environment Variables in the Amazon Elastic Container Service Developer Guide.
*/
public java.util.List--env-file
option to docker run.
* .env
file extension. Each line in
* an environment file contains an environment variable in VARIABLE=VALUE
format. Lines beginning with
* #
are treated as comments and are ignored. For more information about the environment variable file
* syntax, see Declare default environment variables in
* file.
* environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple environment
* files are specified that contain the same variable, they're processed from the top down. We recommend that you
* use unique variable names. For more information, see Specifying Environment
* Variables in the Amazon Elastic Container Service Developer Guide.
* --env-file
option to docker run.
* You can specify up to ten environment files. The file must have a .env
file extension. Each
* line in an environment file contains an environment variable in VARIABLE=VALUE
format. Lines
* beginning with #
are treated as comments and are ignored. For more information about the
* environment variable file syntax, see Declare default
* environment variables in file.
*
* If there are environment variables specified using the
* A list of files containing the environment variables to pass to a container. This parameter maps to the
*
* You can specify up to ten environment files. The file must have a
* If there are environment variables specified using the
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEnvironmentFiles(java.util.Collection)} or {@link #withEnvironmentFiles(java.util.Collection)} if you
* want to override the existing values.
* environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple
* environment files are specified that contain the same variable, they're processed from the top down. We
* recommend that you use unique variable names. For more information, see Specifying
* Environment Variables in the Amazon Elastic Container Service Developer Guide.
*/
public void setEnvironmentFiles(java.util.Collection--env-file
option to docker run.
* .env
file extension. Each line in
* an environment file contains an environment variable in VARIABLE=VALUE
format. Lines beginning with
* #
are treated as comments and are ignored. For more information about the environment variable file
* syntax, see Declare default environment variables in
* file.
* environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple environment
* files are specified that contain the same variable, they're processed from the top down. We recommend that you
* use unique variable names. For more information, see Specifying Environment
* Variables in the Amazon Elastic Container Service Developer Guide.
* --env-file
option to docker run.
* You can specify up to ten environment files. The file must have a .env
file extension. Each
* line in an environment file contains an environment variable in VARIABLE=VALUE
format. Lines
* beginning with #
are treated as comments and are ignored. For more information about the
* environment variable file syntax, see Declare default
* environment variables in file.
*
* If there are environment variables specified using the
* A list of files containing the environment variables to pass to a container. This parameter maps to the
*
* You can specify up to ten environment files. The file must have a
* If there are environment variables specified using the environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple
* environment files are specified that contain the same variable, they're processed from the top down. We
* recommend that you use unique variable names. For more information, see Specifying
* Environment Variables in the Amazon Elastic Container Service Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withEnvironmentFiles(EnvironmentFile... environmentFiles) {
if (this.environmentFiles == null) {
setEnvironmentFiles(new com.amazonaws.internal.SdkInternalList--env-file
option to docker run.
* .env
file extension. Each line in
* an environment file contains an environment variable in VARIABLE=VALUE
format. Lines beginning with
* #
are treated as comments and are ignored. For more information about the environment variable file
* syntax, see Declare default environment variables in
* file.
* environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple environment
* files are specified that contain the same variable, they're processed from the top down. We recommend that you
* use unique variable names. For more information, see Specifying Environment
* Variables in the Amazon Elastic Container Service Developer Guide.
* --env-file
option to docker run.
* You can specify up to ten environment files. The file must have a .env
file extension. Each
* line in an environment file contains an environment variable in VARIABLE=VALUE
format. Lines
* beginning with #
are treated as comments and are ignored. For more information about the
* environment variable file syntax, see Declare default
* environment variables in file.
*
* If there are environment variables specified using the
* The mount points for data volumes in your container.
*
* This parameter maps to
* Windows containers can mount whole directories on the same drive as environment
parameter in a container
* definition, they take precedence over the variables contained within an environment file. If multiple
* environment files are specified that contain the same variable, they're processed from the top down. We
* recommend that you use unique variable names. For more information, see Specifying
* Environment Variables in the Amazon Elastic Container Service Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withEnvironmentFiles(java.util.CollectionVolumes
in the Create a container section of the
* Docker Remote API and the --volume
option to
* docker run.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
*
* 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
* The mount points for data volumes in your container.
*
* This parameter maps to
* Windows containers can mount whole directories on the same drive as $env:ProgramData
.
* Windows containers can't mount directories on a different drive, and mount point can't be across drives.
*/
public java.util.ListVolumes
in the Create a container section of the
* Docker Remote API and the --volume
option to
* docker run.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
*
* 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
* The mount points for data volumes in your container.
*
* This parameter maps to
* Windows containers can mount whole directories on the same drive as
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setMountPoints(java.util.Collection)} or {@link #withMountPoints(java.util.Collection)} if you want to
* override the existing values.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
*/
public void setMountPoints(java.util.CollectionVolumes
in the Create a container section of the
* Docker Remote API and the --volume
option to
* docker run.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
*
* 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
* The mount points for data volumes in your container.
*
* This parameter maps to
* Windows containers can mount whole directories on the same drive as $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withMountPoints(MountPoint... mountPoints) {
if (this.mountPoints == null) {
setMountPoints(new com.amazonaws.internal.SdkInternalListVolumes
in the Create a container section of the
* Docker Remote API and the --volume
option to
* docker run.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
*
* 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
* Data volumes to mount from another container. This parameter maps to
* Data volumes to mount from another container. This parameter maps to
* Data volumes to mount from another container. This parameter maps to
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setVolumesFrom(java.util.Collection)} or {@link #withVolumesFrom(java.util.Collection)} if you want to
* override the existing values.
*
* Data volumes to mount from another container. This parameter maps to
* Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more
* information see KernelCapabilities.
*
* This parameter is not supported for Windows containers.
* $env:ProgramData
. Windows
* containers can't mount directories on a different drive, and mount point can't be across drives.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withMountPoints(java.util.CollectionVolumesFrom
in the Create a container section of the
* Docker Remote API and the --volumes-from
* option to docker run.
* VolumesFrom
in the Create a container section
* of the Docker Remote API and the
* --volumes-from
option to docker run.
*/
public java.util.ListVolumesFrom
in the Create a container section of the
* Docker Remote API and the --volumes-from
* option to docker run.
* VolumesFrom
in the Create a container section
* of the Docker Remote API and the
* --volumes-from
option to docker run.
*/
public void setVolumesFrom(java.util.CollectionVolumesFrom
in the Create a container section of the
* Docker Remote API and the --volumes-from
* option to docker run.
* VolumesFrom
in the Create a container section
* of the Docker Remote API and the
* --volumes-from
option to docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withVolumesFrom(VolumeFrom... volumesFrom) {
if (this.volumesFrom == null) {
setVolumesFrom(new com.amazonaws.internal.SdkInternalListVolumesFrom
in the Create a container section of the
* Docker Remote API and the --volumes-from
* option to docker run.
* VolumesFrom
in the Create a container section
* of the Docker Remote API and the
* --volumes-from
option to docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withVolumesFrom(java.util.Collection
* This parameter is not supported for Windows containers. *
*/ public void setLinuxParameters(LinuxParameters linuxParameters) { this.linuxParameters = linuxParameters; } /** ** Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more * information see KernelCapabilities. *
** This parameter is not supported for Windows containers. *
** This parameter is not supported for Windows containers. *
*/ public LinuxParameters getLinuxParameters() { return this.linuxParameters; } /** ** Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more * information see KernelCapabilities. *
** This parameter is not supported for Windows containers. *
** This parameter is not supported for Windows containers. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withLinuxParameters(LinuxParameters linuxParameters) { setLinuxParameters(linuxParameters); return this; } /** ** The secrets to pass to the container. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer Guide. *
* * @return The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide. */ public java.util.List* The secrets to pass to the container. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer Guide. *
* * @param secrets * The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide. */ public void setSecrets(java.util.Collection* The secrets to pass to the container. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer Guide. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecrets(java.util.Collection)} or {@link #withSecrets(java.util.Collection)} if you want to override * the existing values. *
* * @param secrets * The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withSecrets(Secret... secrets) { if (this.secrets == null) { setSecrets(new com.amazonaws.internal.SdkInternalList* The secrets to pass to the container. For more information, see Specifying * Sensitive Data in the Amazon Elastic Container Service Developer Guide. *
* * @param secrets * The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withSecrets(java.util.Collection* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on * other containers in a task definition. When a dependency is defined for container startup, for container shutdown * it is reversed. *
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container
* agent to turn on container dependencies. However, we recommend using the latest container agent version. For
* information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the
* container agent to turn on container dependencies. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version
* 20190301
or later, then they contain the required versions of the container agent and
* ecs-init
. For more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on * other containers in a task definition. When a dependency is defined for container startup, for container shutdown * it is reversed. *
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container
* agent to turn on container dependencies. However, we recommend using the latest container agent version. For
* information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the
* container agent to turn on container dependencies. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on * other containers in a task definition. When a dependency is defined for container startup, for container shutdown * it is reversed. *
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container
* agent to turn on container dependencies. However, we recommend using the latest container agent version. For
* information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDependsOn(java.util.Collection)} or {@link #withDependsOn(java.util.Collection)} if you want to * override the existing values. *
* * @param dependsOn * The dependencies defined for container startup and shutdown. A container can contain multiple dependencies * on other containers in a task definition. When a dependency is defined for container startup, for * container shutdown it is reversed. *
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the
* container agent to turn on container dependencies. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies on * other containers in a task definition. When a dependency is defined for container startup, for container shutdown * it is reversed. *
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container
* agent to turn on container dependencies. However, we recommend using the latest container agent version. For
* information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the
* container agent to turn on container dependencies. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you
* specify two containers in a task definition with containerA having a dependency on containerB reaching a
* COMPLETE
, SUCCESS
, or HEALTHY
status. If a startTimeout
value
* is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and
* not start. This results in the task transitioning to a STOPPED
state.
*
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's enforced
* independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
of the
* container agent to use a container start timeout value. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the ecs-init
* package. If your container instances are launched from version 20190301
or later, then they contain
* the required versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
COMPLETE
, SUCCESS
, or HEALTHY
status. If a
* startTimeout
value is specified for containerB and it doesn't reach the desired status within
* that time then containerA gives up and not start. This results in the task transitioning to a
* STOPPED
state.
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's
* enforced independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
* of the container agent to use a container start timeout value. However, we recommend using the latest
* container agent version. For information about checking your agent version and updating to the latest
* version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*/
public void setStartTimeout(Integer startTimeout) {
this.startTimeout = startTimeout;
}
/**
*
* Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you
* specify two containers in a task definition with containerA having a dependency on containerB reaching a
* COMPLETE
, SUCCESS
, or HEALTHY
status. If a startTimeout
value
* is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and
* not start. This results in the task transitioning to a STOPPED
state.
*
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's enforced
* independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
of the
* container agent to use a container start timeout value. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the ecs-init
* package. If your container instances are launched from version 20190301
or later, then they contain
* the required versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
COMPLETE
, SUCCESS
, or HEALTHY
status. If a
* startTimeout
value is specified for containerB and it doesn't reach the desired status
* within that time then containerA gives up and not start. This results in the task transitioning to a
* STOPPED
state.
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's
* enforced independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version
* 1.26.0
of the container agent to use a container start timeout value. However, we recommend
* using the latest container agent version. For information about checking your agent version and updating
* to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of
* the ecs-init
package. If your container instances are launched from version
* 20190301
or later, then they contain the required versions of the container agent and
* ecs-init
. For more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*/
public Integer getStartTimeout() {
return this.startTimeout;
}
/**
*
* Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you
* specify two containers in a task definition with containerA having a dependency on containerB reaching a
* COMPLETE
, SUCCESS
, or HEALTHY
status. If a startTimeout
value
* is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and
* not start. This results in the task transitioning to a STOPPED
state.
*
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's enforced
* independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
of the
* container agent to use a container start timeout value. However, we recommend using the latest container agent
* version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the ecs-init
* package. If your container instances are launched from version 20190301
or later, then they contain
* the required versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
COMPLETE
, SUCCESS
, or HEALTHY
status. If a
* startTimeout
value is specified for containerB and it doesn't reach the desired status within
* that time then containerA gives up and not start. This results in the task transitioning to a
* STOPPED
state.
* When the ECS_CONTAINER_START_TIMEOUT
container agent configuration variable is used, it's
* enforced independently from this start timeout value.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* For tasks using the EC2 launch type, your container instances require at least version 1.26.0
* of the container agent to use a container start timeout value. However, we recommend using the latest
* container agent version. For information about checking your agent version and updating to the latest
* version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withStartTimeout(Integer startTimeout) {
setStartTimeout(startTimeout);
return this;
}
/**
*
* Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its * own. *
** For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds * is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the value set
* for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT
is used. If
* neither the stopTimeout
parameter or the ECS_CONTAINER_STOP_TIMEOUT
agent configuration
* variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers
* are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop
* timeout value. However, we recommend using the latest container agent version. For information about checking
* your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 * seconds is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the
* value set for the Amazon ECS container agent configuration variable
* ECS_CONTAINER_STOP_TIMEOUT
is used. If neither the stopTimeout
parameter or the
* ECS_CONTAINER_STOP_TIMEOUT
agent configuration variable are set, then the default values of
* 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances
* require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we
* recommend using the latest container agent version. For information about checking your agent version and
* updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*/
public void setStopTimeout(Integer stopTimeout) {
this.stopTimeout = stopTimeout;
}
/**
*
* Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its * own. *
** For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds * is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the value set
* for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT
is used. If
* neither the stopTimeout
parameter or the ECS_CONTAINER_STOP_TIMEOUT
agent configuration
* variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers
* are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop
* timeout value. However, we recommend using the latest container agent version. For information about checking
* your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 * seconds is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the
* value set for the Amazon ECS container agent configuration variable
* ECS_CONTAINER_STOP_TIMEOUT
is used. If neither the stopTimeout
parameter or the
* ECS_CONTAINER_STOP_TIMEOUT
agent configuration variable are set, then the default values of
* 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances
* require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we
* recommend using the latest container agent version. For information about checking your agent version and
* updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version
* 20190301
or later, then they contain the required versions of the container agent and
* ecs-init
. For more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
*/
public Integer getStopTimeout() {
return this.stopTimeout;
}
/**
*
* Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its * own. *
** For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds * is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the value set
* for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT
is used. If
* neither the stopTimeout
parameter or the ECS_CONTAINER_STOP_TIMEOUT
agent configuration
* variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers
* are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop
* timeout value. However, we recommend using the latest container agent version. For information about checking
* your agent version and updating to the latest version, see Updating the Amazon ECS
* Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon
* ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init
package. If
* your container instances are launched from version 20190301
or later, then they contain the required
* versions of the container agent and ecs-init
. For more information, see Amazon ECS-optimized
* Linux AMI in the Amazon Elastic Container Service Developer Guide.
*
* For tasks using the Fargate launch type, the task or service requires the following platforms: *
*
* Linux platform version 1.3.0
or later.
*
* Windows platform version 1.0.0
or later.
*
* The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 * seconds is used. *
*
* For tasks that use the EC2 launch type, if the stopTimeout
parameter isn't specified, the
* value set for the Amazon ECS container agent configuration variable
* ECS_CONTAINER_STOP_TIMEOUT
is used. If neither the stopTimeout
parameter or the
* ECS_CONTAINER_STOP_TIMEOUT
agent configuration variable are set, then the default values of
* 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances
* require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we
* recommend using the latest container agent version. For information about checking your agent version and
* updating to the latest version, see Updating the
* Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're
* using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the
* ecs-init
package. If your container instances are launched from version 20190301
* or later, then they contain the required versions of the container agent and ecs-init
. For
* more information, see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withStopTimeout(Integer stopTimeout) {
setStopTimeout(stopTimeout);
return this;
}
/**
*
* 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 you're using the awsvpc
network mode.
*
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 you're using the awsvpc
network mode.
*
* 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 you're using the awsvpc
network mode.
*
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 you're using the awsvpc
network
* mode.
*
* 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 you're using the awsvpc
network mode.
*
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 you're using the awsvpc
network mode.
*
* The user 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.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID 0). We
* recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must specify
* it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*User
in the Create a container section
* of the Docker Remote API and the
* --user
option to docker run.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID
* 0). We recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must
* specify it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*/ public void setUser(String user) { this.user = user; } /** *
* The user 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.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID 0). We
* recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must specify
* it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*User
in the Create a container section
* of the Docker Remote API and the
* --user
option to docker run.
*
* When running tasks using the host
network mode, don't run containers using the root user
* (UID 0). We recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must
* specify it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*/ public String getUser() { return this.user; } /** *
* The user 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.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID 0). We
* recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must specify
* it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
*User
in the Create a container section
* of the Docker Remote API and the
* --user
option to docker run.
*
* When running tasks using the host
network mode, don't run containers using the root user (UID
* 0). We recommend using a non-root user for better security.
*
* You can specify the user
using the following formats. If specifying a UID or GID, you must
* specify it as a positive integer.
*
* user
*
* user:group
*
* uid
*
* uid:gid
*
* user:gid
*
* uid:group
*
* This parameter is not supported for Windows containers. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withUser(String user) { setUser(user); return this; } /** *
* The working directory to run commands inside the container in. This parameter maps to WorkingDir
in
* the Create a container section
* of the Docker Remote API and the --workdir
* option to docker run.
*
WorkingDir
in the Create a container section
* of the Docker Remote API and the
* --workdir
option to docker run.
*/
public void setWorkingDirectory(String workingDirectory) {
this.workingDirectory = workingDirectory;
}
/**
*
* The working directory to run commands inside the container in. This parameter maps to WorkingDir
in
* the Create a container section
* of the Docker Remote API and the --workdir
* option to docker run.
*
WorkingDir
in the Create a container section
* of the Docker Remote API and the
* --workdir
option to docker run.
*/
public String getWorkingDirectory() {
return this.workingDirectory;
}
/**
*
* The working directory to run commands inside the container in. This parameter maps to WorkingDir
in
* the Create a container section
* of the Docker Remote API and the --workdir
* option to docker run.
*
WorkingDir
in the Create a container section
* of the Docker Remote API and the
* --workdir
option to docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withWorkingDirectory(String workingDirectory) {
setWorkingDirectory(workingDirectory);
return this;
}
/**
*
* When this parameter is true, networking is off 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. *
*NetworkDisabled
in the Create a container section
* of the Docker Remote API. * This parameter is not supported for Windows containers. *
*/ public void setDisableNetworking(Boolean disableNetworking) { this.disableNetworking = disableNetworking; } /** *
* When this parameter is true, networking is off 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. *
*NetworkDisabled
in the Create a container section
* of the Docker Remote API. * This parameter is not supported for Windows containers. *
*/ public Boolean getDisableNetworking() { return this.disableNetworking; } /** *
* When this parameter is true, networking is off 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. *
*NetworkDisabled
in the Create a container section
* of the Docker Remote API. * This parameter is not supported for Windows containers. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withDisableNetworking(Boolean disableNetworking) { setDisableNetworking(disableNetworking); return this; } /** *
* When this parameter is true, networking is off 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. *
*NetworkDisabled
in the Create a container section
* of the Docker Remote API. * This parameter is not supported for Windows containers. *
*/ public Boolean isDisableNetworking() { return this.disableNetworking; } /** *
* 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 run on Fargate. *
*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 run on Fargate. *
*/ public void setPrivileged(Boolean privileged) { this.privileged = 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 run on Fargate. *
*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 run on Fargate. *
*/ public Boolean getPrivileged() { return this.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 run on Fargate. *
*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 run on Fargate. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withPrivileged(Boolean privileged) { setPrivileged(privileged); return this; } /** *
* 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 run on Fargate. *
*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 run on Fargate. *
*/ public Boolean isPrivileged() { return this.privileged; } /** *
* 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. *
*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. *
*/ public void setReadonlyRootFilesystem(Boolean readonlyRootFilesystem) { this.readonlyRootFilesystem = 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. *
*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. *
*/ public Boolean getReadonlyRootFilesystem() { return this.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. *
*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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withReadonlyRootFilesystem(Boolean readonlyRootFilesystem) { setReadonlyRootFilesystem(readonlyRootFilesystem); return this; } /** *
* 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. *
*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. *
*/ public Boolean isReadonlyRootFilesystem() { return this.readonlyRootFilesystem; } /** *
* 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. *
*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. *
*/ public java.util.List
* 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. *
*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. *
*/ public void setDnsServers(java.util.Collection
* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDnsServers(java.util.Collection)} or {@link #withDnsServers(java.util.Collection)} if you want to * override the existing values. *
* * @param dnsServers * A list of DNS servers that are presented to the container. This parameter maps toDns
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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withDnsServers(String... dnsServers) { if (this.dnsServers == null) { setDnsServers(new com.amazonaws.internal.SdkInternalList
* 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. *
*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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withDnsServers(java.util.Collection
* 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. *
*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. *
*/ public java.util.List
* 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. *
*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. *
*/ public void setDnsSearchDomains(java.util.Collection
* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDnsSearchDomains(java.util.Collection)} or {@link #withDnsSearchDomains(java.util.Collection)} if you * want to override the existing values. *
* * @param 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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withDnsSearchDomains(String... dnsSearchDomains) { if (this.dnsSearchDomains == null) { setDnsSearchDomains(new com.amazonaws.internal.SdkInternalList
* 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. *
*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. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withDnsSearchDomains(java.util.Collection
* A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network mode.
*
/etc/hosts
file on the
* container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network
* mode.
*
* A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network mode.
*
/etc/hosts
file on the
* container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network
* mode.
*
* A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network mode.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setExtraHosts(java.util.Collection)} or {@link #withExtraHosts(java.util.Collection)} if you want to * override the existing values. *
* * @param extraHosts * A list of hostnames and IP address mappings to append to the/etc/hosts
file on the
* container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network
* mode.
*
* A list of hostnames and IP address mappings to append to the /etc/hosts
file on the container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network mode.
*
/etc/hosts
file on the
* container. 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 isn't supported for Windows containers or tasks that use the awsvpc
network
* mode.
*
* A list of strings to provide custom configuration for multiple security systems. For more information about valid * values, see Docker Run Security * Configuration. This field isn't valid for containers in tasks using the Fargate launch type. *
** For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container * for Active Directory authentication. For more information, see Using gMSAs for Windows * Containers and Using * gMSAs for Linux Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
** Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" *
* * @return A list of strings to provide custom configuration for multiple security systems. For more information * about valid values, see Docker Run Security * Configuration. This field isn't valid for containers in tasks using the Fargate launch type. ** For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a * container for Active Directory authentication. For more information, see Using gMSAs for * Windows Containers and Using gMSAs for Linux * Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" |
* "credentialspec:CredentialSpecFilePath"
*/
public java.util.List
* A list of strings to provide custom configuration for multiple security systems. For more information about valid
* values, see Docker Run Security
* Configuration. This field isn't valid for containers in tasks using the Fargate launch type.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor
* multi-level security systems.
*
* For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container
* for Active Directory authentication. For more information, see Using gMSAs for Windows
* Containers and Using
* gMSAs for Linux Containers in the Amazon Elastic Container Service Developer Guide.
*
* This parameter maps to
* The Amazon ECS container agent running on a container instance must register with the
*
* For more information about valid values, see Docker Run Security
* Configuration.
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
* SecurityOpt
in the Create a container section of the
* Docker Remote API and the --security-opt
* option to docker run.
* 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.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a * container for Active Directory authentication. For more information, see Using gMSAs for * Windows Containers and Using gMSAs for Linux * Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" |
* "credentialspec:CredentialSpecFilePath"
*/
public void setDockerSecurityOptions(java.util.Collection
* A list of strings to provide custom configuration for multiple security systems. For more information about valid
* values, see Docker Run Security
* Configuration. This field isn't valid for containers in tasks using the Fargate launch type.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor
* multi-level security systems.
*
* For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container
* for Active Directory authentication. For more information, see Using gMSAs for Windows
* Containers and Using
* gMSAs for Linux Containers in the Amazon Elastic Container Service Developer Guide.
*
* This parameter maps to
* The Amazon ECS container agent running on a container instance must register with the
*
* For more information about valid values, see Docker Run Security
* Configuration.
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setDockerSecurityOptions(java.util.Collection)} or
* {@link #withDockerSecurityOptions(java.util.Collection)} if you want to override the existing values.
* SecurityOpt
in the Create a container section of the
* Docker Remote API and the --security-opt
* option to docker run.
* 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.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a * container for Active Directory authentication. For more information, see Using gMSAs for * Windows Containers and Using gMSAs for Linux * Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" |
* "credentialspec:CredentialSpecFilePath"
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withDockerSecurityOptions(String... dockerSecurityOptions) {
if (this.dockerSecurityOptions == null) {
setDockerSecurityOptions(new com.amazonaws.internal.SdkInternalList
* A list of strings to provide custom configuration for multiple security systems. For more information about valid
* values, see Docker Run Security
* Configuration. This field isn't valid for containers in tasks using the Fargate launch type.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor
* multi-level security systems.
*
* For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container
* for Active Directory authentication. For more information, see Using gMSAs for Windows
* Containers and Using
* gMSAs for Linux Containers in the Amazon Elastic Container Service Developer Guide.
*
* This parameter maps to
* The Amazon ECS container agent running on a container instance must register with the
*
* For more information about valid values, see Docker Run Security
* Configuration.
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
* SecurityOpt
in the Create a container section of the
* Docker Remote API and the --security-opt
* option to docker run.
* 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.
*
* For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor * multi-level security systems. *
** For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a * container for Active Directory authentication. For more information, see Using gMSAs for * Windows Containers and Using gMSAs for Linux * Containers in the Amazon Elastic Container Service Developer Guide. *
*
* 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.
*
* For more information about valid values, see Docker Run Security * Configuration. *
*
* Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" |
* "credentialspec:CredentialSpecFilePath"
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withDockerSecurityOptions(java.util.Collection
* When this parameter is
* When this parameter is
* When this parameter is
* When this parameter is
* When this parameter is
* When this parameter is
* When this parameter is
* When this parameter is
* A key/value map of labels to add to the container. This parameter maps to
* A key/value map of labels to add to the container. This parameter maps to
* A key/value map of labels to add to the container. This parameter maps to
* A list of
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the
* exception of the
* 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:
* This parameter is not supported for Windows containers.
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in the Create a container section of the
* Docker Remote API and the --interactive
* option to docker run.
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in
* the Create a container
* section of the Docker Remote API and the
* --interactive
option to docker run.
*/
public void setInteractive(Boolean interactive) {
this.interactive = interactive;
}
/**
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in the Create a container section of the
* Docker Remote API and the --interactive
* option to docker run.
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
* in the Create a
* container section of the Docker Remote API
* and the --interactive
option to docker run.
*/
public Boolean getInteractive() {
return this.interactive;
}
/**
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in the Create a container section of the
* Docker Remote API and the --interactive
* option to docker run.
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in
* the Create a container
* section of the Docker Remote API and the
* --interactive
option to docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withInteractive(Boolean interactive) {
setInteractive(interactive);
return this;
}
/**
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
in the Create a container section of the
* Docker Remote API and the --interactive
* option to docker run.
* true
, you can deploy containerized applications that require
* stdin
or a tty
to be allocated. This parameter maps to OpenStdin
* in the Create a
* container section of the Docker Remote API
* and the --interactive
option to docker run.
*/
public Boolean isInteractive() {
return this.interactive;
}
/**
* true
, a TTY is allocated. This parameter maps to Tty
in the Create a container section of the
* Docker Remote API and the --tty
option to docker run.
* true
, a TTY is allocated. This parameter maps to Tty
in
* the Create a container
* section of the Docker Remote API and the
* --tty
option to docker run.
*/
public void setPseudoTerminal(Boolean pseudoTerminal) {
this.pseudoTerminal = pseudoTerminal;
}
/**
* true
, a TTY is allocated. This parameter maps to Tty
in the Create a container section of the
* Docker Remote API and the --tty
option to docker run.
* true
, a TTY is allocated. This parameter maps to Tty
in
* the Create a container
* section of the Docker Remote API and the
* --tty
option to docker run.
*/
public Boolean getPseudoTerminal() {
return this.pseudoTerminal;
}
/**
* true
, a TTY is allocated. This parameter maps to Tty
in the Create a container section of the
* Docker Remote API and the --tty
option to docker run.
* true
, a TTY is allocated. This parameter maps to Tty
in
* the Create a container
* section of the Docker Remote API and the
* --tty
option to docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withPseudoTerminal(Boolean pseudoTerminal) {
setPseudoTerminal(pseudoTerminal);
return this;
}
/**
* true
, a TTY is allocated. This parameter maps to Tty
in the Create a container section of the
* Docker Remote API and the --tty
option to docker run.
* true
, a TTY is allocated. This parameter maps to Tty
in
* the Create a container
* section of the Docker Remote API and the
* --tty
option to docker run.
*/
public Boolean isPseudoTerminal() {
return this.pseudoTerminal;
}
/**
* 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 --format '{{.Server.APIVersion}}'
* 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 --format '{{.Server.APIVersion}}'
*/
public java.util.MapLabels
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 --format '{{.Server.APIVersion}}'
* 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 --format '{{.Server.APIVersion}}'
*/
public void setDockerLabels(java.util.MapLabels
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 --format '{{.Server.APIVersion}}'
* 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 --format '{{.Server.APIVersion}}'
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withDockerLabels(java.util.Mapulimits
to set in the container. If a ulimit
value is specified in a task
* definition, it overrides the default values set by Docker. 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.
* nofile
resource limit parameter which Fargate overrides. The nofile
* resource limit sets a restriction on the number of open files that a container can use. The default
* nofile
soft limit is 1024
and the default hard limit is 4096
.
* sudo docker version --format '{{.Server.APIVersion}}'
* ulimits
to set in the container. If a ulimit
value is specified in a
* task definition, it overrides the default values set by Docker. 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.
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with
* the exception of the nofile
resource limit parameter which Fargate overrides. The
* nofile
resource limit sets a restriction on the number of open files that a container can
* use. The default nofile
soft limit is 1024
and the default hard limit is
* 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
*/ public java.util.List
* A list of ulimits
to set in the container. If a ulimit
value is specified in a task
* definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the
* exception of the nofile
resource limit parameter which Fargate overrides. The nofile
* resource limit sets a restriction on the number of open files that a container can use. The default
* nofile
soft limit is 1024
and the default hard limit is 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
*ulimits
to set in the container. If a ulimit
value is specified in a
* task definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with
* the exception of the nofile
resource limit parameter which Fargate overrides. The
* nofile
resource limit sets a restriction on the number of open files that a container can
* use. The default nofile
soft limit is 1024
and the default hard limit is
* 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
*/ public void setUlimits(java.util.Collection
* A list of ulimits
to set in the container. If a ulimit
value is specified in a task
* definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the
* exception of the nofile
resource limit parameter which Fargate overrides. The nofile
* resource limit sets a restriction on the number of open files that a container can use. The default
* nofile
soft limit is 1024
and the default hard limit is 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setUlimits(java.util.Collection)} or {@link #withUlimits(java.util.Collection)} if you want to override * the existing values. *
* * @param ulimits * A list ofulimits
to set in the container. If a ulimit
value is specified in a
* task definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with
* the exception of the nofile
resource limit parameter which Fargate overrides. The
* nofile
resource limit sets a restriction on the number of open files that a container can
* use. The default nofile
soft limit is 1024
and the default hard limit is
* 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withUlimits(Ulimit... ulimits) { if (this.ulimits == null) { setUlimits(new com.amazonaws.internal.SdkInternalList
* A list of ulimits
to set in the container. If a ulimit
value is specified in a task
* definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the
* exception of the nofile
resource limit parameter which Fargate overrides. The nofile
* resource limit sets a restriction on the number of open files that a container can use. The default
* nofile
soft limit is 1024
and the default hard limit is 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
*ulimits
to set in the container. If a ulimit
value is specified in a
* task definition, it overrides the default values set by Docker. 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.
*
* Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with
* the exception of the nofile
resource limit parameter which Fargate overrides. The
* nofile
resource limit sets a restriction on the number of open files that a container can
* use. The default nofile
soft limit is 1024
and the default hard limit is
* 4096
.
*
* 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 --format '{{.Server.APIVersion}}'
*
* This parameter is not supported for Windows containers. *
* @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withUlimits(java.util.Collection* The log configuration specification for the container. *
*
* This parameter maps to LogConfig
in the Create a container section of the
* Docker Remote API and the --log-driver
* option to docker run. By
* default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* 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 can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* The log configuration specification for the container. *
*
* This parameter maps to LogConfig
in the Create a container section of the
* Docker Remote API and the --log-driver
* option to docker run. By
* default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* 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 can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* The log configuration specification for the container. *
*
* This parameter maps to LogConfig
in the Create a container section of the
* Docker Remote API and the --log-driver
* option to docker run. By
* default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* 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 can 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 about 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 --format '{{.Server.APIVersion}}'
*
* 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.
*
* The container 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.
*
HealthCheck
in the Create a container section
* of the Docker Remote API and the
* HEALTHCHECK
parameter of docker run.
*/
public void setHealthCheck(HealthCheck healthCheck) {
this.healthCheck = healthCheck;
}
/**
*
* The container 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.
*
HealthCheck
in the Create a container section
* of the Docker Remote API and the
* HEALTHCHECK
parameter of docker run.
*/
public HealthCheck getHealthCheck() {
return this.healthCheck;
}
/**
*
* The container 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.
*
HealthCheck
in the Create a container section
* of the Docker Remote API and the
* HEALTHCHECK
parameter of docker run.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withHealthCheck(HealthCheck healthCheck) {
setHealthCheck(healthCheck);
return this;
}
/**
*
* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls
in
* the Create a container section
* of the Docker Remote API and the --sysctl
* option to docker run.
*
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network modes. For
* tasks that use the awsvpc
network mode, the container that's started last determines which
* systemControls
parameters take effect. For tasks that use the host
network mode, it
* changes the container instance's namespaced kernel parameters as well as the containers.
*
Sysctls
in the Create a container section
* of the Docker Remote API and the
* --sysctl
option to docker run.
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network
* modes. For tasks that use the awsvpc
network mode, the container that's started last
* determines which systemControls
parameters take effect. For tasks that use the
* host
network mode, it changes the container instance's namespaced kernel parameters as well
* as the containers.
*
* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls
in
* the Create a container section
* of the Docker Remote API and the --sysctl
* option to docker run.
*
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network modes. For
* tasks that use the awsvpc
network mode, the container that's started last determines which
* systemControls
parameters take effect. For tasks that use the host
network mode, it
* changes the container instance's namespaced kernel parameters as well as the containers.
*
Sysctls
in the Create a container section
* of the Docker Remote API and the
* --sysctl
option to docker run.
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network
* modes. For tasks that use the awsvpc
network mode, the container that's started last
* determines which systemControls
parameters take effect. For tasks that use the
* host
network mode, it changes the container instance's namespaced kernel parameters as well
* as the containers.
*
* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls
in
* the Create a container section
* of the Docker Remote API and the --sysctl
* option to docker run.
*
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network modes. For
* tasks that use the awsvpc
network mode, the container that's started last determines which
* systemControls
parameters take effect. For tasks that use the host
network mode, it
* changes the container instance's namespaced kernel parameters as well as the containers.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSystemControls(java.util.Collection)} or {@link #withSystemControls(java.util.Collection)} if you want * to override the existing values. *
* * @param systemControls * A list of namespaced kernel parameters to set in the container. This parameter maps to *Sysctls
in the Create a container section
* of the Docker Remote API and the
* --sysctl
option to docker run.
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network
* modes. For tasks that use the awsvpc
network mode, the container that's started last
* determines which systemControls
parameters take effect. For tasks that use the
* host
network mode, it changes the container instance's namespaced kernel parameters as well
* as the containers.
*
* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls
in
* the Create a container section
* of the Docker Remote API and the --sysctl
* option to docker run.
*
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network modes. For
* tasks that use the awsvpc
network mode, the container that's started last determines which
* systemControls
parameters take effect. For tasks that use the host
network mode, it
* changes the container instance's namespaced kernel parameters as well as the containers.
*
Sysctls
in the Create a container section
* of the Docker Remote API and the
* --sysctl
option to docker run.
* We don't recommended that you specify network-related systemControls
parameters for multiple
* containers in a single task that also uses either the awsvpc
or host
network
* modes. For tasks that use the awsvpc
network mode, the container that's started last
* determines which systemControls
parameters take effect. For tasks that use the
* host
network mode, it changes the container instance's namespaced kernel parameters as well
* as the containers.
*
* The type and amount of a resource to assign to a container. The only supported resource is a GPU. *
* * @return The type and amount of a resource to assign to a container. The only supported resource is a GPU. */ public java.util.List* The type and amount of a resource to assign to a container. The only supported resource is a GPU. *
* * @param resourceRequirements * The type and amount of a resource to assign to a container. The only supported resource is a GPU. */ public void setResourceRequirements(java.util.Collection* The type and amount of a resource to assign to a container. The only supported resource is a GPU. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setResourceRequirements(java.util.Collection)} or {@link #withResourceRequirements(java.util.Collection)} * if you want to override the existing values. *
* * @param resourceRequirements * The type and amount of a resource to assign to a container. The only supported resource is a GPU. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withResourceRequirements(ResourceRequirement... resourceRequirements) { if (this.resourceRequirements == null) { setResourceRequirements(new com.amazonaws.internal.SdkInternalList* The type and amount of a resource to assign to a container. The only supported resource is a GPU. *
* * @param resourceRequirements * The type and amount of a resource to assign to a container. The only supported resource is a GPU. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withResourceRequirements(java.util.Collection* The FireLens configuration for the container. This is used to specify and configure a log router for container * logs. For more information, see Custom Log Routing in * the Amazon Elastic Container Service Developer Guide. *
* * @param firelensConfiguration * The FireLens configuration for the container. This is used to specify and configure a log router for * container logs. For more information, see Custom Log * Routing in the Amazon Elastic Container Service Developer Guide. */ public void setFirelensConfiguration(FirelensConfiguration firelensConfiguration) { this.firelensConfiguration = firelensConfiguration; } /** ** The FireLens configuration for the container. This is used to specify and configure a log router for container * logs. For more information, see Custom Log Routing in * the Amazon Elastic Container Service Developer Guide. *
* * @return The FireLens configuration for the container. This is used to specify and configure a log router for * container logs. For more information, see Custom Log * Routing in the Amazon Elastic Container Service Developer Guide. */ public FirelensConfiguration getFirelensConfiguration() { return this.firelensConfiguration; } /** ** The FireLens configuration for the container. This is used to specify and configure a log router for container * logs. For more information, see Custom Log Routing in * the Amazon Elastic Container Service Developer Guide. *
* * @param firelensConfiguration * The FireLens configuration for the container. This is used to specify and configure a log router for * container logs. For more information, see Custom Log * Routing in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDefinition withFirelensConfiguration(FirelensConfiguration firelensConfiguration) { setFirelensConfiguration(firelensConfiguration); return this; } /** *
* A list of ARNs in SSM or Amazon S3 to a credential spec (credspec
code>) file that configures a
* container for Active Directory authentication. This parameter is only used with domainless authentication.
*
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with the ARN
* in SSM or Amazon S3.
*
* The credspec
must provide a ARN in Secrets Manager for a secret containing the username, password,
* and the domain to connect to. For better security, the instance isn't joined to the domain for domainless
* authentication. Other applications on the instance can't use the domainless credentials. You can use this
* parameter to run tasks on the same instance, even it the tasks need to join different domains. For more
* information, see Using
* gMSAs for Windows Containers and Using gMSAs for Linux
* Containers.
*
credspec
code>) file that
* configures a container for Active Directory authentication. This parameter is only used with domainless
* authentication.
*
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with
* the ARN in SSM or Amazon S3.
*
* The
* A list of ARNs in SSM or Amazon S3 to a credential spec (
* The format for each ARN is
* The credspec
must provide a ARN in Secrets Manager for a secret containing the username,
* password, and the domain to connect to. For better security, the instance isn't joined to the domain for
* domainless authentication. Other applications on the instance can't use the domainless credentials. You
* can use this parameter to run tasks on the same instance, even it the tasks need to join different
* domains. For more information, see Using gMSAs for
* Windows Containers and Using gMSAs for Linux
* Containers.
*/
public java.util.Listcredspec
code>) file that configures a
* container for Active Directory authentication. This parameter is only used with domainless authentication.
* credentialspecdomainless:MyARN
. Replace MyARN
with the ARN
* in SSM or Amazon S3.
* credspec
must provide a ARN in Secrets Manager for a secret containing the username, password,
* and the domain to connect to. For better security, the instance isn't joined to the domain for domainless
* authentication. Other applications on the instance can't use the domainless credentials. You can use this
* parameter to run tasks on the same instance, even it the tasks need to join different domains. For more
* information, see Using
* gMSAs for Windows Containers and Using gMSAs for Linux
* Containers.
* credspec
code>) file that
* configures a container for Active Directory authentication. This parameter is only used with domainless
* authentication.
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with
* the ARN in SSM or Amazon S3.
*
* The
* A list of ARNs in SSM or Amazon S3 to a credential spec (
* The format for each ARN is
* The
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCredentialSpecs(java.util.Collection)} or {@link #withCredentialSpecs(java.util.Collection)} if you
* want to override the existing values.
* credspec
must provide a ARN in Secrets Manager for a secret containing the username,
* password, and the domain to connect to. For better security, the instance isn't joined to the domain for
* domainless authentication. Other applications on the instance can't use the domainless credentials. You
* can use this parameter to run tasks on the same instance, even it the tasks need to join different
* domains. For more information, see Using gMSAs for
* Windows Containers and Using gMSAs for Linux
* Containers.
*/
public void setCredentialSpecs(java.util.Collectioncredspec
code>) file that configures a
* container for Active Directory authentication. This parameter is only used with domainless authentication.
* credentialspecdomainless:MyARN
. Replace MyARN
with the ARN
* in SSM or Amazon S3.
* credspec
must provide a ARN in Secrets Manager for a secret containing the username, password,
* and the domain to connect to. For better security, the instance isn't joined to the domain for domainless
* authentication. Other applications on the instance can't use the domainless credentials. You can use this
* parameter to run tasks on the same instance, even it the tasks need to join different domains. For more
* information, see Using
* gMSAs for Windows Containers and Using gMSAs for Linux
* Containers.
* credspec
code>) file that
* configures a container for Active Directory authentication. This parameter is only used with domainless
* authentication.
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with
* the ARN in SSM or Amazon S3.
*
* The
* A list of ARNs in SSM or Amazon S3 to a credential spec (
* The format for each ARN is
* The credspec
must provide a ARN in Secrets Manager for a secret containing the username,
* password, and the domain to connect to. For better security, the instance isn't joined to the domain for
* domainless authentication. Other applications on the instance can't use the domainless credentials. You
* can use this parameter to run tasks on the same instance, even it the tasks need to join different
* domains. For more information, see Using gMSAs for
* Windows Containers and Using gMSAs for Linux
* Containers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withCredentialSpecs(String... credentialSpecs) {
if (this.credentialSpecs == null) {
setCredentialSpecs(new com.amazonaws.internal.SdkInternalListcredspec
code>) file that configures a
* container for Active Directory authentication. This parameter is only used with domainless authentication.
* credentialspecdomainless:MyARN
. Replace MyARN
with the ARN
* in SSM or Amazon S3.
* credspec
must provide a ARN in Secrets Manager for a secret containing the username, password,
* and the domain to connect to. For better security, the instance isn't joined to the domain for domainless
* authentication. Other applications on the instance can't use the domainless credentials. You can use this
* parameter to run tasks on the same instance, even it the tasks need to join different domains. For more
* information, see Using
* gMSAs for Windows Containers and Using gMSAs for Linux
* Containers.
* credspec
code>) file that
* configures a container for Active Directory authentication. This parameter is only used with domainless
* authentication.
* The format for each ARN is credentialspecdomainless:MyARN
. Replace MyARN
with
* the ARN in SSM or Amazon S3.
*
* The credspec
must provide a ARN in Secrets Manager for a secret containing the username,
* password, and the domain to connect to. For better security, the instance isn't joined to the domain for
* domainless authentication. Other applications on the instance can't use the domainless credentials. You
* can use this parameter to run tasks on the same instance, even it the tasks need to join different
* domains. For more information, see Using gMSAs for
* Windows Containers and Using gMSAs for Linux
* Containers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ContainerDefinition withCredentialSpecs(java.util.Collection