Class: AWSCDK::ECS::ContainerDefinitionProps
- Inherits:
-
ContainerDefinitionOptions
- Object
- ContainerDefinitionOptions
- AWSCDK::ECS::ContainerDefinitionProps
- Defined in:
- ecs/container_definition_props.rb
Overview
The properties in a container definition.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#command ⇒ Array<String>?
readonly
The command that is passed to the container.
-
#container_name ⇒ String?
readonly
The name of the container.
-
#cpu ⇒ Numeric?
readonly
The minimum number of CPU units to reserve for the container.
-
#credential_specs ⇒ Array<AWSCDK::ECS::CredentialSpec>?
readonly
A list of ARNs in SSM or Amazon S3 to a credential spec (
CredSpec) file that configures the container for Active Directory authentication. -
#disable_networking ⇒ Boolean?
readonly
Specifies whether networking is disabled within the container.
-
#dns_search_domains ⇒ Array<String>?
readonly
A list of DNS search domains that are presented to the container.
-
#dns_servers ⇒ Array<String>?
readonly
A list of DNS servers that are presented to the container.
-
#docker_labels ⇒ Hash{String => String}?
readonly
A key/value map of labels to add to the container.
-
#docker_security_options ⇒ Array<String>?
readonly
A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
-
#enable_restart_policy ⇒ Boolean?
readonly
Enable a restart policy for a container.
-
#entry_point ⇒ Array<String>?
readonly
The ENTRYPOINT value to pass to the container.
-
#environment ⇒ Hash{String => String}?
readonly
The environment variables to pass to the container.
-
#environment_files ⇒ Array<AWSCDK::ECS::EnvironmentFile>?
readonly
The environment files to pass to the container.
-
#essential ⇒ Boolean?
readonly
Specifies whether the container is marked essential.
-
#extra_hosts ⇒ Hash{String => String}?
readonly
A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
-
#gpu_count ⇒ Numeric?
readonly
The number of GPUs assigned to the container.
-
#health_check ⇒ AWSCDK::ECS::HealthCheck?
readonly
The health check command and associated configuration parameters for the container.
-
#hostname ⇒ String?
readonly
The hostname to use for your container.
-
#image ⇒ AWSCDK::ECS::ContainerImage
readonly
The image used to start a container.
-
#inference_accelerator_resources ⇒ Array<String>?
readonly
The inference accelerators referenced by the container.
-
#interactive ⇒ Boolean?
readonly
When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
-
#linux_parameters ⇒ AWSCDK::ECS::LinuxParameters?
readonly
Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
-
#logging ⇒ AWSCDK::ECS::LogDriver?
readonly
The log configuration specification for the container.
-
#memory_limit_mib ⇒ Numeric?
readonly
The amount (in MiB) of memory to present to the container.
-
#memory_reservation_mib ⇒ Numeric?
readonly
The soft limit (in MiB) of memory to reserve for the container.
-
#port_mappings ⇒ Array<AWSCDK::ECS::PortMapping>?
readonly
The port mappings to add to the container definition.
-
#privileged ⇒ Boolean?
readonly
Specifies whether the container is marked as privileged.
-
#pseudo_terminal ⇒ Boolean?
readonly
When this parameter is true, a TTY is allocated.
-
#readonly_root_filesystem ⇒ Boolean?
readonly
When this parameter is true, the container is given read-only access to its root file system.
-
#restart_attempt_period ⇒ AWSCDK::Duration?
readonly
A period of time that the container must run for before a restart can be attempted.
-
#restart_ignored_exit_codes ⇒ Array<Numeric>?
readonly
A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
-
#secrets ⇒ Hash{String => AWSCDK::ECS::Secret}?
readonly
The secret environment variables to pass to the container.
-
#start_timeout ⇒ AWSCDK::Duration?
readonly
Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
-
#stop_timeout ⇒ AWSCDK::Duration?
readonly
Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
-
#system_controls ⇒ Array<AWSCDK::ECS::SystemControl>?
readonly
A list of namespaced kernel parameters to set in the container.
-
#task_definition ⇒ AWSCDK::ECS::TaskDefinition
readonly
The name of the task definition that includes this container definition.
-
#ulimits ⇒ Array<AWSCDK::ECS::Ulimit>?
readonly
An array of ulimits to set in the container.
-
#user ⇒ String?
readonly
The user to use inside the container.
-
#version_consistency ⇒ AWSCDK::ECS::VersionConsistency?
readonly
Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest.
-
#working_directory ⇒ String?
readonly
The working directory in which to run commands inside the container.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(image:, command: nil, container_name: nil, cpu: nil, credential_specs: nil, disable_networking: nil, dns_search_domains: nil, dns_servers: nil, docker_labels: nil, docker_security_options: nil, enable_restart_policy: nil, entry_point: nil, environment: nil, environment_files: nil, essential: nil, extra_hosts: nil, gpu_count: nil, health_check: nil, hostname: nil, inference_accelerator_resources: nil, interactive: nil, linux_parameters: nil, logging: nil, memory_limit_mib: nil, memory_reservation_mib: nil, port_mappings: nil, privileged: nil, pseudo_terminal: nil, readonly_root_filesystem: nil, restart_attempt_period: nil, restart_ignored_exit_codes: nil, secrets: nil, start_timeout: nil, stop_timeout: nil, system_controls: nil, ulimits: nil, user: nil, version_consistency: nil, working_directory: nil, task_definition:) ⇒ ContainerDefinitionProps
constructor
A new instance of ContainerDefinitionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(image:, command: nil, container_name: nil, cpu: nil, credential_specs: nil, disable_networking: nil, dns_search_domains: nil, dns_servers: nil, docker_labels: nil, docker_security_options: nil, enable_restart_policy: nil, entry_point: nil, environment: nil, environment_files: nil, essential: nil, extra_hosts: nil, gpu_count: nil, health_check: nil, hostname: nil, inference_accelerator_resources: nil, interactive: nil, linux_parameters: nil, logging: nil, memory_limit_mib: nil, memory_reservation_mib: nil, port_mappings: nil, privileged: nil, pseudo_terminal: nil, readonly_root_filesystem: nil, restart_attempt_period: nil, restart_ignored_exit_codes: nil, secrets: nil, start_timeout: nil, stop_timeout: nil, system_controls: nil, ulimits: nil, user: nil, version_consistency: nil, working_directory: nil, task_definition:) ⇒ ContainerDefinitionProps
Returns a new instance of ContainerDefinitionProps.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'ecs/container_definition_props.rb', line 47 def initialize(image:, command: nil, container_name: nil, cpu: nil, credential_specs: nil, disable_networking: nil, dns_search_domains: nil, dns_servers: nil, docker_labels: nil, docker_security_options: nil, enable_restart_policy: nil, entry_point: nil, environment: nil, environment_files: nil, essential: nil, extra_hosts: nil, gpu_count: nil, health_check: nil, hostname: nil, inference_accelerator_resources: nil, interactive: nil, linux_parameters: nil, logging: nil, memory_limit_mib: nil, memory_reservation_mib: nil, port_mappings: nil, privileged: nil, pseudo_terminal: nil, readonly_root_filesystem: nil, restart_attempt_period: nil, restart_ignored_exit_codes: nil, secrets: nil, start_timeout: nil, stop_timeout: nil, system_controls: nil, ulimits: nil, user: nil, version_consistency: nil, working_directory: nil, task_definition:) @image = image Jsii::Type.check_type(@image, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkNvbnRhaW5lckltYWdlIn0=")), "image") @command = command Jsii::Type.check_type(@command, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "command") unless @command.nil? @container_name = container_name Jsii::Type.check_type(@container_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "containerName") unless @container_name.nil? @cpu = cpu Jsii::Type.check_type(@cpu, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "cpu") unless @cpu.nil? @credential_specs = credential_specs Jsii::Type.check_type(@credential_specs, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuQ3JlZGVudGlhbFNwZWMifSwia2luZCI6ImFycmF5In19")), "credentialSpecs") unless @credential_specs.nil? @disable_networking = disable_networking Jsii::Type.check_type(@disable_networking, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "disableNetworking") unless @disable_networking.nil? @dns_search_domains = dns_search_domains Jsii::Type.check_type(@dns_search_domains, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dnsSearchDomains") unless @dns_search_domains.nil? @dns_servers = dns_servers Jsii::Type.check_type(@dns_servers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dnsServers") unless @dns_servers.nil? @docker_labels = docker_labels Jsii::Type.check_type(@docker_labels, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "dockerLabels") unless @docker_labels.nil? @docker_security_options = Jsii::Type.check_type(@docker_security_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dockerSecurityOptions") unless @docker_security_options.nil? @enable_restart_policy = enable_restart_policy Jsii::Type.check_type(@enable_restart_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableRestartPolicy") unless @enable_restart_policy.nil? @entry_point = entry_point Jsii::Type.check_type(@entry_point, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "entryPoint") unless @entry_point.nil? @environment = environment Jsii::Type.check_type(@environment, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "environment") unless @environment.nil? @environment_files = environment_files Jsii::Type.check_type(@environment_files, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuRW52aXJvbm1lbnRGaWxlIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "environmentFiles") unless @environment_files.nil? @essential = essential Jsii::Type.check_type(@essential, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "essential") unless @essential.nil? @extra_hosts = extra_hosts Jsii::Type.check_type(@extra_hosts, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "extraHosts") unless @extra_hosts.nil? @gpu_count = gpu_count Jsii::Type.check_type(@gpu_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "gpuCount") unless @gpu_count.nil? @health_check = health_check.is_a?(Hash) ? ::AWSCDK::ECS::HealthCheck.new(**health_check.transform_keys(&:to_sym)) : health_check Jsii::Type.check_type(@health_check, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkhlYWx0aENoZWNrIn0=")), "healthCheck") unless @health_check.nil? @hostname = hostname Jsii::Type.check_type(@hostname, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hostname") unless @hostname.nil? @inference_accelerator_resources = inference_accelerator_resources Jsii::Type.check_type(@inference_accelerator_resources, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "inferenceAcceleratorResources") unless @inference_accelerator_resources.nil? @interactive = interactive Jsii::Type.check_type(@interactive, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "interactive") unless @interactive.nil? @linux_parameters = linux_parameters Jsii::Type.check_type(@linux_parameters, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkxpbnV4UGFyYW1ldGVycyJ9")), "linuxParameters") unless @linux_parameters.nil? @logging = logging Jsii::Type.check_type(@logging, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkxvZ0RyaXZlciJ9")), "logging") unless @logging.nil? @memory_limit_mib = memory_limit_mib Jsii::Type.check_type(@memory_limit_mib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "memoryLimitMiB") unless @memory_limit_mib.nil? @memory_reservation_mib = memory_reservation_mib Jsii::Type.check_type(@memory_reservation_mib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "memoryReservationMiB") unless @memory_reservation_mib.nil? @port_mappings = port_mappings.is_a?(Array) ? port_mappings.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ECS::PortMapping.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : port_mappings Jsii::Type.check_type(@port_mappings, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuUG9ydE1hcHBpbmcifSwia2luZCI6ImFycmF5In19")), "portMappings") unless @port_mappings.nil? @privileged = privileged Jsii::Type.check_type(@privileged, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "privileged") unless @privileged.nil? @pseudo_terminal = pseudo_terminal Jsii::Type.check_type(@pseudo_terminal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "pseudoTerminal") unless @pseudo_terminal.nil? @readonly_root_filesystem = readonly_root_filesystem Jsii::Type.check_type(@readonly_root_filesystem, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "readonlyRootFilesystem") unless @readonly_root_filesystem.nil? @restart_attempt_period = restart_attempt_period Jsii::Type.check_type(@restart_attempt_period, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "restartAttemptPeriod") unless @restart_attempt_period.nil? @restart_ignored_exit_codes = restart_ignored_exit_codes Jsii::Type.check_type(@restart_ignored_exit_codes, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6Im51bWJlciJ9LCJraW5kIjoiYXJyYXkifX0=")), "restartIgnoredExitCodes") unless @restart_ignored_exit_codes.nil? @secrets = secrets Jsii::Type.check_type(@secrets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuU2VjcmV0In0sImtpbmQiOiJtYXAifX0=")), "secrets") unless @secrets.nil? @start_timeout = start_timeout Jsii::Type.check_type(@start_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "startTimeout") unless @start_timeout.nil? @stop_timeout = stop_timeout Jsii::Type.check_type(@stop_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "stopTimeout") unless @stop_timeout.nil? @system_controls = system_controls.is_a?(Array) ? system_controls.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ECS::SystemControl.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : system_controls Jsii::Type.check_type(@system_controls, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuU3lzdGVtQ29udHJvbCJ9LCJraW5kIjoiYXJyYXkifX0=")), "systemControls") unless @system_controls.nil? @ulimits = ulimits.is_a?(Array) ? ulimits.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ECS::Ulimit.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : ulimits Jsii::Type.check_type(@ulimits, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3MuVWxpbWl0In0sImtpbmQiOiJhcnJheSJ9fQ==")), "ulimits") unless @ulimits.nil? @user = user Jsii::Type.check_type(@user, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "user") unless @user.nil? @version_consistency = version_consistency Jsii::Type.check_type(@version_consistency, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLlZlcnNpb25Db25zaXN0ZW5jeSJ9")), "versionConsistency") unless @version_consistency.nil? @working_directory = working_directory Jsii::Type.check_type(@working_directory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workingDirectory") unless @working_directory.nil? @task_definition = task_definition Jsii::Type.check_type(@task_definition, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLlRhc2tEZWZpbml0aW9uIn0=")), "taskDefinition") end |
Instance Attribute Details
#command ⇒ Array<String>? (readonly)
Default: - CMD value built into container image.
The command that is passed to the container.
If you provide a shell command as a single string, you have to quote command-line arguments.
145 146 147 |
# File 'ecs/container_definition_props.rb', line 145 def command @command end |
#container_name ⇒ String? (readonly)
Default: - id of node associated with ContainerDefinition.
The name of the container.
150 151 152 |
# File 'ecs/container_definition_props.rb', line 150 def container_name @container_name end |
#cpu ⇒ Numeric? (readonly)
Default: - No minimum CPU units reserved.
The minimum number of CPU units to reserve for the container.
155 156 157 |
# File 'ecs/container_definition_props.rb', line 155 def cpu @cpu end |
#credential_specs ⇒ Array<AWSCDK::ECS::CredentialSpec>? (readonly)
Default: - No credential specs.
A list of ARNs in SSM or Amazon S3 to a credential spec (CredSpec) file that configures the container for Active Directory authentication.
We recommend that you use this parameter instead of the docker_security_options.
Currently, only one credential spec is allowed per container definition.
164 165 166 |
# File 'ecs/container_definition_props.rb', line 164 def credential_specs @credential_specs end |
#disable_networking ⇒ Boolean? (readonly)
Default: false
Specifies whether networking is disabled within the container.
When this parameter is true, networking is disabled within the container.
171 172 173 |
# File 'ecs/container_definition_props.rb', line 171 def disable_networking @disable_networking end |
#dns_search_domains ⇒ Array<String>? (readonly)
Default: - No search domains.
A list of DNS search domains that are presented to the container.
176 177 178 |
# File 'ecs/container_definition_props.rb', line 176 def dns_search_domains @dns_search_domains end |
#dns_servers ⇒ Array<String>? (readonly)
Default: - Default DNS servers.
A list of DNS servers that are presented to the container.
181 182 183 |
# File 'ecs/container_definition_props.rb', line 181 def dns_servers @dns_servers end |
#docker_labels ⇒ Hash{String => String}? (readonly)
Default: - No labels.
A key/value map of labels to add to the container.
186 187 188 |
# File 'ecs/container_definition_props.rb', line 186 def docker_labels @docker_labels end |
#docker_security_options ⇒ Array<String>? (readonly)
Default: - No security labels.
A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
191 192 193 |
# File 'ecs/container_definition_props.rb', line 191 def @docker_security_options end |
#enable_restart_policy ⇒ Boolean? (readonly)
Default: - false unless restartIgnoredExitCodes or restartAttemptPeriod is set.
Enable a restart policy for a container.
When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task.
199 200 201 |
# File 'ecs/container_definition_props.rb', line 199 def enable_restart_policy @enable_restart_policy end |
#entry_point ⇒ Array<String>? (readonly)
Default: - Entry point configured in container.
The ENTRYPOINT value to pass to the container.
205 206 207 |
# File 'ecs/container_definition_props.rb', line 205 def entry_point @entry_point end |
#environment ⇒ Hash{String => String}? (readonly)
Default: - No environment variables.
The environment variables to pass to the container.
210 211 212 |
# File 'ecs/container_definition_props.rb', line 210 def environment @environment end |
#environment_files ⇒ Array<AWSCDK::ECS::EnvironmentFile>? (readonly)
Default: - No environment files.
The environment files to pass to the container.
216 217 218 |
# File 'ecs/container_definition_props.rb', line 216 def environment_files @environment_files end |
#essential ⇒ Boolean? (readonly)
Default: true
Specifies whether the container is marked essential.
If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. All tasks must have at least one essential container.
If this parameter is omitted, a container is assumed to be essential.
228 229 230 |
# File 'ecs/container_definition_props.rb', line 228 def essential @essential end |
#extra_hosts ⇒ Hash{String => String}? (readonly)
Default: - No extra hosts.
A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
233 234 235 |
# File 'ecs/container_definition_props.rb', line 233 def extra_hosts @extra_hosts end |
#gpu_count ⇒ Numeric? (readonly)
Default: - No GPUs assigned.
The number of GPUs assigned to the container.
238 239 240 |
# File 'ecs/container_definition_props.rb', line 238 def gpu_count @gpu_count end |
#health_check ⇒ AWSCDK::ECS::HealthCheck? (readonly)
Default: - Health check configuration from container.
The health check command and associated configuration parameters for the container.
243 244 245 |
# File 'ecs/container_definition_props.rb', line 243 def health_check @health_check end |
#hostname ⇒ String? (readonly)
Default: - Automatic hostname.
The hostname to use for your container.
248 249 250 |
# File 'ecs/container_definition_props.rb', line 248 def hostname @hostname end |
#image ⇒ AWSCDK::ECS::ContainerImage (readonly)
The image used to start a container.
This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest. TODO: Update these to specify using classes of IContainerImage
138 139 140 |
# File 'ecs/container_definition_props.rb', line 138 def image @image end |
#inference_accelerator_resources ⇒ Array<String>? (readonly)
Default: - No inference accelerators assigned.
The inference accelerators referenced by the container.
253 254 255 |
# File 'ecs/container_definition_props.rb', line 253 def inference_accelerator_resources @inference_accelerator_resources end |
#interactive ⇒ Boolean? (readonly)
Default: - false
When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
259 260 261 |
# File 'ecs/container_definition_props.rb', line 259 def interactive @interactive end |
#linux_parameters ⇒ AWSCDK::ECS::LinuxParameters? (readonly)
Default: - No Linux parameters.
Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
For more information see KernelCapabilities.
266 267 268 |
# File 'ecs/container_definition_props.rb', line 266 def linux_parameters @linux_parameters end |
#logging ⇒ AWSCDK::ECS::LogDriver? (readonly)
Default: - Containers use the same logging driver that the Docker daemon uses.
The log configuration specification for the container.
271 272 273 |
# File 'ecs/container_definition_props.rb', line 271 def logging @logging end |
#memory_limit_mib ⇒ Numeric? (readonly)
Default: - No memory limit.
The amount (in MiB) of memory to present to the container.
If your container attempts to exceed the allocated memory, the container is terminated.
At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
281 282 283 |
# File 'ecs/container_definition_props.rb', line 281 def memory_limit_mib @memory_limit_mib end |
#memory_reservation_mib ⇒ Numeric? (readonly)
Default: - No memory reserved.
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.
At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
294 295 296 |
# File 'ecs/container_definition_props.rb', line 294 def memory_reservation_mib @memory_reservation_mib end |
#port_mappings ⇒ Array<AWSCDK::ECS::PortMapping>? (readonly)
Default: - No ports are mapped.
The port mappings to add to the container definition.
299 300 301 |
# File 'ecs/container_definition_props.rb', line 299 def port_mappings @port_mappings end |
#privileged ⇒ Boolean? (readonly)
Default: false
Specifies whether the container is marked as privileged.
When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).
306 307 308 |
# File 'ecs/container_definition_props.rb', line 306 def privileged @privileged end |
#pseudo_terminal ⇒ Boolean? (readonly)
Default: - false
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.
315 316 317 |
# File 'ecs/container_definition_props.rb', line 315 def pseudo_terminal @pseudo_terminal end |
#readonly_root_filesystem ⇒ Boolean? (readonly)
Default: false
When this parameter is true, the container is given read-only access to its root file system.
320 321 322 |
# File 'ecs/container_definition_props.rb', line 320 def readonly_root_filesystem @readonly_root_filesystem end |
#restart_attempt_period ⇒ AWSCDK::Duration? (readonly)
Default: - Duration.seconds(300) if enableRestartPolicy is true, otherwise no period.
A period of time that the container must run for before a restart can be attempted.
A container can be restarted only once every restart_attempt_period seconds.
If a container isn't able to run for this time period and exits early, it will not be restarted.
This property can't be used if enable_restart_policy is set to false.
You can set a minimum restart_attempt_period of 60 seconds and a maximum restart_attempt_period
of 1800 seconds.
333 334 335 |
# File 'ecs/container_definition_props.rb', line 333 def restart_attempt_period @restart_attempt_period end |
#restart_ignored_exit_codes ⇒ Array<Numeric>? (readonly)
Default: - No exit codes are ignored.
A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
This property can't be used if enable_restart_policy is set to false.
You can specify a maximum of 50 container exit codes.
342 343 344 |
# File 'ecs/container_definition_props.rb', line 342 def restart_ignored_exit_codes @restart_ignored_exit_codes end |
#secrets ⇒ Hash{String => AWSCDK::ECS::Secret}? (readonly)
Default: - No secret environment variables.
The secret environment variables to pass to the container.
347 348 349 |
# File 'ecs/container_definition_props.rb', line 347 def secrets @secrets end |
#start_timeout ⇒ AWSCDK::Duration? (readonly)
Default: - none
Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
352 353 354 |
# File 'ecs/container_definition_props.rb', line 352 def start_timeout @start_timeout end |
#stop_timeout ⇒ AWSCDK::Duration? (readonly)
Default: - none
Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
357 358 359 |
# File 'ecs/container_definition_props.rb', line 357 def stop_timeout @stop_timeout end |
#system_controls ⇒ Array<AWSCDK::ECS::SystemControl>? (readonly)
Default: - No system controls are set.
A list of namespaced kernel parameters to set in the container.
363 364 365 |
# File 'ecs/container_definition_props.rb', line 363 def system_controls @system_controls end |
#task_definition ⇒ AWSCDK::ECS::TaskDefinition (readonly)
The name of the task definition that includes this container definition.
[disable-awslint:ref-via-interface]
396 397 398 |
# File 'ecs/container_definition_props.rb', line 396 def task_definition @task_definition end |
#ulimits ⇒ Array<AWSCDK::ECS::Ulimit>? (readonly)
An array of ulimits to set in the container.
367 368 369 |
# File 'ecs/container_definition_props.rb', line 367 def ulimits @ulimits end |
#user ⇒ String? (readonly)
Default: root
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.
375 376 377 |
# File 'ecs/container_definition_props.rb', line 375 def user @user end |
#version_consistency ⇒ AWSCDK::ECS::VersionConsistency? (readonly)
Default: VersionConsistency.DISABLED if image is a CDK asset, VersionConsistency.ENABLED otherwise
Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest.
If you set the value for a container as disabled, Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment.
385 386 387 |
# File 'ecs/container_definition_props.rb', line 385 def version_consistency @version_consistency end |
#working_directory ⇒ String? (readonly)
Default: /
The working directory in which to run commands inside the container.
390 391 392 |
# File 'ecs/container_definition_props.rb', line 390 def working_directory @working_directory end |
Class Method Details
.jsii_properties ⇒ Object
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 |
# File 'ecs/container_definition_props.rb', line 398 def self.jsii_properties { :image => "image", :command => "command", :container_name => "containerName", :cpu => "cpu", :credential_specs => "credentialSpecs", :disable_networking => "disableNetworking", :dns_search_domains => "dnsSearchDomains", :dns_servers => "dnsServers", :docker_labels => "dockerLabels", :docker_security_options => "dockerSecurityOptions", :enable_restart_policy => "enableRestartPolicy", :entry_point => "entryPoint", :environment => "environment", :environment_files => "environmentFiles", :essential => "essential", :extra_hosts => "extraHosts", :gpu_count => "gpuCount", :health_check => "healthCheck", :hostname => "hostname", :inference_accelerator_resources => "inferenceAcceleratorResources", :interactive => "interactive", :linux_parameters => "linuxParameters", :logging => "logging", :memory_limit_mib => "memoryLimitMiB", :memory_reservation_mib => "memoryReservationMiB", :port_mappings => "portMappings", :privileged => "privileged", :pseudo_terminal => "pseudoTerminal", :readonly_root_filesystem => "readonlyRootFilesystem", :restart_attempt_period => "restartAttemptPeriod", :restart_ignored_exit_codes => "restartIgnoredExitCodes", :secrets => "secrets", :start_timeout => "startTimeout", :stop_timeout => "stopTimeout", :system_controls => "systemControls", :ulimits => "ulimits", :user => "user", :version_consistency => "versionConsistency", :working_directory => "workingDirectory", :task_definition => "taskDefinition", } end |
Instance Method Details
#to_jsii ⇒ Object
443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 |
# File 'ecs/container_definition_props.rb', line 443 def to_jsii result = {} result.merge!(super) result.merge!({ "image" => @image, "command" => @command, "containerName" => @container_name, "cpu" => @cpu, "credentialSpecs" => @credential_specs, "disableNetworking" => @disable_networking, "dnsSearchDomains" => @dns_search_domains, "dnsServers" => @dns_servers, "dockerLabels" => @docker_labels, "dockerSecurityOptions" => @docker_security_options, "enableRestartPolicy" => @enable_restart_policy, "entryPoint" => @entry_point, "environment" => @environment, "environmentFiles" => @environment_files, "essential" => @essential, "extraHosts" => @extra_hosts, "gpuCount" => @gpu_count, "healthCheck" => @health_check, "hostname" => @hostname, "inferenceAcceleratorResources" => @inference_accelerator_resources, "interactive" => @interactive, "linuxParameters" => @linux_parameters, "logging" => @logging, "memoryLimitMiB" => @memory_limit_mib, "memoryReservationMiB" => @memory_reservation_mib, "portMappings" => @port_mappings, "privileged" => @privileged, "pseudoTerminal" => @pseudo_terminal, "readonlyRootFilesystem" => @readonly_root_filesystem, "restartAttemptPeriod" => @restart_attempt_period, "restartIgnoredExitCodes" => @restart_ignored_exit_codes, "secrets" => @secrets, "startTimeout" => @start_timeout, "stopTimeout" => @stop_timeout, "systemControls" => @system_controls, "ulimits" => @ulimits, "user" => @user, "versionConsistency" => @version_consistency, "workingDirectory" => @working_directory, "taskDefinition" => @task_definition, }) result.compact end |