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",
efs_volume_configuration: {
file_system_id: "String", # required
root_directory: "String",
transit_encryption: "ENABLED", # accepts ENABLED, DISABLED
transit_encryption_port: 1,
authorization_config: {
access_point_id: "String",
iam: "ENABLED", # accepts ENABLED, DISABLED
},
},
},
],
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 Batch can assume.
-
#fargate_platform_configuration ⇒ Types::FargatePlatformConfiguration
The platform configuration for jobs that are 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 Amazon Web Services 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, use
resourceRequirements
to specify the memory requirements for the job definition. -
#mount_points ⇒ Array<Types::MountPoint>
The mount points for data volumes in your container.
-
#network_configuration ⇒ Types::NetworkConfiguration
The network configuration for jobs that are 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, use
resourceRequirements
to specify the vCPU requirements for the job definition. -
#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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 Batch
service.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see Batch execution IAM role in the Batch User Guide.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 that are running on Fargate resources. Jobs that are running on EC2 resources must not specify this parameter.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 Public repositories use the full
registry/repository[:tag]
orregistry/repository[@digest]
naming conventions. For example,public.ecr.aws/registry_alias/my-web-app:latest
.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
).
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 Amazon Web Services permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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, use resourceRequirements
to specify
the memory requirements for the job definition. It's not supported
for jobs running on Fargate resources. For jobs running on EC2
resources, it specifies the memory hard limit (in MiB) for a
container. If your container attempts to exceed the specified
number, it's terminated. You must specify at least 4 MiB of memory
for a job using this parameter. The memory hard limit can be
specified in several places. It must be specified for each node at
least once.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 that are running on Fargate resources. Jobs that are running on EC2 resources must not specify this parameter.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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
.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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
.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 Batch User Guide.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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, use resourceRequirements
to specify
the vCPU requirements for the job definition. It's not supported
for jobs running on Fargate resources. For jobs running on EC2
resources, it specifies the number of vCPUs reserved for the job.
Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
CpuShares
in the Create a container section of the Docker
Remote API and the --cpu-shares
option to docker run. The
number of vCPUs must be specified but can be specified in several
places. You must specify it at least once for each node.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 |
# File 'gems/aws-sdk-batch/lib/aws-sdk-batch/types.rb', line 2028 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 |