Class: Aws::Batch::Types::ContainerProperties
- Inherits:
-
Struct
- Object
- Struct
- Aws::Batch::Types::ContainerProperties
- Defined in:
- gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb
Overview
When making an API call, you may pass ContainerProperties data as a hash:
{
image: "String",
vcpus: 1,
memory: 1,
command: ["String"],
job_role_arn: "String",
execution_role_arn: "String",
volumes: [
{
host: {
source_path: "String",
},
name: "String",
},
],
environment: [
{
name: "String",
value: "String",
},
],
mount_points: [
{
container_path: "String",
read_only: false,
source_volume: "String",
},
],
readonly_root_filesystem: false,
privileged: false,
ulimits: [
{
hard_limit: 1, # required
name: "String", # required
soft_limit: 1, # required
},
],
user: "String",
instance_type: "String",
resource_requirements: [
{
value: "String", # required
type: "GPU", # required, accepts GPU, VCPU, MEMORY
},
],
linux_parameters: {
devices: [
{
host_path: "String", # required
container_path: "String",
permissions: ["READ"], # accepts READ, WRITE, MKNOD
},
],
init_process_enabled: false,
shared_memory_size: 1,
tmpfs: [
{
container_path: "String", # required
size: 1, # required
mount_options: ["String"],
},
],
max_swap: 1,
swappiness: 1,
},
log_configuration: {
log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
options: {
"String" => "String",
},
secret_options: [
{
name: "String", # required
value_from: "String", # required
},
],
},
secrets: [
{
name: "String", # required
value_from: "String", # required
},
],
network_configuration: {
assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
},
fargate_platform_configuration: {
platform_version: "String",
},
}
Container properties are used in job definitions to describe the container that's launched as part of a job.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#command ⇒ Array<String>
The command that's passed to the container.
-
#environment ⇒ Array<Types::KeyValuePair>
The environment variables to pass to a container.
-
#execution_role_arn ⇒ String
The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
-
#fargate_platform_configuration ⇒ Types::FargatePlatformConfiguration
The platform configuration for jobs running on Fargate resources.
-
#image ⇒ String
The image used to start a container.
-
#instance_type ⇒ String
The instance type to use for a multi-node parallel job.
-
#job_role_arn ⇒ String
The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.
-
#linux_parameters ⇒ Types::LinuxParameters
Linux-specific modifications that are applied to the container, such as details for device mappings.
-
#log_configuration ⇒ Types::LogConfiguration
The log configuration specification for the container.
-
#memory ⇒ Integer
This parameter is deprecated and not supported for jobs run on Fargate resources, use
ResourceRequirement
. -
#mount_points ⇒ Array<Types::MountPoint>
The mount points for data volumes in your container.
-
#network_configuration ⇒ Types::NetworkConfiguration
The network configuration for jobs running on Fargate resources.
-
#privileged ⇒ Boolean
When this parameter is true, the container is given elevated permissions on the host container instance (similar to the
root
user). -
#readonly_root_filesystem ⇒ Boolean
When this parameter is true, the container is given read-only access to its root file system.
-
#resource_requirements ⇒ Array<Types::ResourceRequirement>
The type and amount of resources to assign to a container.
-
#secrets ⇒ Array<Types::Secret>
The secrets for the container.
-
#ulimits ⇒ Array<Types::Ulimit>
A list of
ulimits
to set in the container. -
#user ⇒ String
The user name to use inside the container.
-
#vcpus ⇒ Integer
This parameter is deprecated and not supported for jobs run on Fargate resources, see
resourceRequirement
. -
#volumes ⇒ Array<Types::Volume>
A list of data volumes used in a job.
Instance Attribute Details
#command ⇒ Array<String>
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.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#environment ⇒ Array<Types::KeyValuePair>
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 using plaintext environment variables for sensitive information, such as credential data.
AWS_BATCH
; this naming
convention is reserved for variables that are set by the AWS Batch
service.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#execution_role_arn ⇒ String
The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. Jobs running on Fargate resources must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#fargate_platform_configuration ⇒ Types::FargatePlatformConfiguration
The platform configuration for jobs running on Fargate resources. Jobs running on EC2 resources must not specify this parameter.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#image ⇒ String
The image used to start a container. This string is passed directly
to the Docker daemon. Images in the Docker Hub registry are
available by default. Other repositories are specified with
repository-url/image:tag
. 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.
Images in Amazon ECR repositories use the full registry and repository URI (for example,
012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).Images in official repositories on Docker Hub use a single name (for example,
ubuntu
ormongo
).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
).
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#instance_type ⇒ String
The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#job_role_arn ⇒ String
The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#linux_parameters ⇒ Types::LinuxParameters
Linux-specific modifications that are applied to the container, such as details for device mappings.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#log_configuration ⇒ Types::LogConfiguration
The log configuration specification for the container.
This parameter maps to LogConfig
in the Create a container
section of the Docker Remote API and the --log-driver
option
to docker run. By default, containers use the same logging
driver that the Docker daemon uses. However the container might use
a different logging driver than the Docker daemon by specifying a
log driver with this parameter in the container definition. To use a
different logging driver for a container, the log system must be
configured properly on the container instance (or on a different log
server for remote logging options). For more information on the
options for different supported log drivers, see Configure logging
drivers in the Docker documentation.
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 into your container instance
and run the following command: sudo docker version | grep "Server
API version"
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.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#memory ⇒ Integer
This parameter is deprecated and not supported for jobs run on
Fargate resources, use ResourceRequirement
. For jobs run on EC2
resources can specify the memory requirement using the
ResourceRequirement
structure. The hard limit (in MiB) of memory
to present to the container. If your container attempts to exceed
the memory specified here, the container is killed. This parameter
maps to Memory
in the Create a container section of the
Docker Remote API and the --memory
option to docker run.
You must specify at least 4 MiB of memory for a job. This is
required but can be specified in several places; it must be
specified for each node at least once.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#mount_points ⇒ Array<Types::MountPoint>
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.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#network_configuration ⇒ Types::NetworkConfiguration
The network configuration for jobs running on Fargate resources. Jobs running on EC2 resources must not specify this parameter.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#privileged ⇒ Boolean
When this parameter is true, the container is given elevated
permissions 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. The default value is
false.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#readonly_root_filesystem ⇒ Boolean
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
.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#resource_requirements ⇒ Array<Types::ResourceRequirement>
The type and amount of resources to assign to a container. The
supported resources include GPU
, MEMORY
, and VCPU
.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#secrets ⇒ Array<Types::Secret>
The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#ulimits ⇒ Array<Types::Ulimit>
A list of ulimits
to set in the container. This parameter maps to
Ulimits
in the Create a container section of the Docker
Remote API and the --ulimit
option to docker run.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#user ⇒ String
The user name to use inside the container. This parameter maps to
User
in the Create a container section of the Docker Remote
API and the --user
option to docker run.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#vcpus ⇒ Integer
This parameter is deprecated and not supported for jobs run on
Fargate resources, see resourceRequirement
. The number of vCPUs
reserved for the container. Jobs running on EC2 resources can
specify the vCPU requirement for the job using
resourceRequirements
but the vCPU requirements can't be specified
both here and in the resourceRequirement
structure. This parameter
maps to CpuShares
in the Create a container section of the
Docker Remote API and the --cpu-shares
option to docker
run. Each vCPU is equivalent to 1,024 CPU shares. You must
specify at least one vCPU. This is required but can be specified in
several places. It must be specified for each node at least once.
resourceRequirements
.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |
#volumes ⇒ Array<Types::Volume>
A list of data volumes used in a job.
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 1616 class ContainerProperties < Struct.new( :image, :vcpus, :memory, :command, :job_role_arn, :execution_role_arn, :volumes, :environment, :mount_points, :readonly_root_filesystem, :privileged, :ulimits, :user, :instance_type, :resource_requirements, :linux_parameters, :log_configuration, :secrets, :network_configuration, :fargate_platform_configuration) SENSITIVE = [] include Aws::Structure end |