Class: AWSCDK::Batch::CfnJobDefinition::MultiNodeECSTaskPropertiesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
batch/cfn_job_definition.rb

Overview

The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.

You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(containers: nil, enable_execute_command: nil, execution_role_arn: nil, ipc_mode: nil, pid_mode: nil, task_role_arn: nil, volumes: nil) ⇒ MultiNodeECSTaskPropertiesProperty

Returns a new instance of MultiNodeECSTaskPropertiesProperty.

Parameters:



2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
# File 'batch/cfn_job_definition.rb', line 2670

def initialize(containers: nil, enable_execute_command: nil, execution_role_arn: nil, ipc_mode: nil, pid_mode: nil, task_role_arn: nil, volumes: nil)
  @containers = containers
  Jsii::Type.check_type(@containers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guQ2ZuSm9iRGVmaW5pdGlvbi5UYXNrQ29udGFpbmVyUHJvcGVydGllc1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "containers") unless @containers.nil?
  @enable_execute_command = enable_execute_command
  Jsii::Type.check_type(@enable_execute_command, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableExecuteCommand") unless @enable_execute_command.nil?
  @execution_role_arn = execution_role_arn
  Jsii::Type.check_type(@execution_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRoleArn") unless @execution_role_arn.nil?
  @ipc_mode = ipc_mode
  Jsii::Type.check_type(@ipc_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipcMode") unless @ipc_mode.nil?
  @pid_mode = pid_mode
  Jsii::Type.check_type(@pid_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pidMode") unless @pid_mode.nil?
  @task_role_arn = task_role_arn
  Jsii::Type.check_type(@task_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "taskRoleArn") unless @task_role_arn.nil?
  @volumes = volumes
  Jsii::Type.check_type(@volumes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guQ2ZuSm9iRGVmaW5pdGlvbi5Wb2x1bWVzUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "volumes") unless @volumes.nil?
end

Instance Attribute Details

#enable_execute_commandBoolean, ... (readonly)

Determines whether execute command functionality is turned on for this task.

If true , execute command functionality is turned on all the containers in the task.



2698
2699
2700
# File 'batch/cfn_job_definition.rb', line 2698

def enable_execute_command
  @enable_execute_command
end

#execution_role_arnString? (readonly)

The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.

For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .



2705
2706
2707
# File 'batch/cfn_job_definition.rb', line 2705

def execution_role_arn
  @execution_role_arn
end

#ipc_modeString? (readonly)

The IPC resource namespace to use for the containers in the task.

The valid values are host , task , or none .

If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

If task is specified, all containers within the specified task share the same IPC resources.

If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.



2720
2721
2722
# File 'batch/cfn_job_definition.rb', line 2720

def ipc_mode
  @ipc_mode
end

#pid_modeString? (readonly)

The process namespace to use for the containers in the task.

The valid values are host or task . For example, monitoring sidecars might need pid_mode to access information about other containers running in the same task.

If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

If task is specified, all containers within the specified task share the same process namespace.

If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.



2733
2734
2735
# File 'batch/cfn_job_definition.rb', line 2733

def pid_mode
  @pid_mode
end

#task_role_arnString? (readonly)

The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

This is object is comparable to ContainerProperties:jobRoleArn .



2740
2741
2742
# File 'batch/cfn_job_definition.rb', line 2740

def task_role_arn
  @task_role_arn
end

#volumesAWSCDK::IResolvable, ... (readonly)

A list of volumes that are associated with the job.



2745
2746
2747
# File 'batch/cfn_job_definition.rb', line 2745

def volumes
  @volumes
end

Class Method Details

.jsii_propertiesObject



2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
# File 'batch/cfn_job_definition.rb', line 2747

def self.jsii_properties
  {
    :containers => "containers",
    :enable_execute_command => "enableExecuteCommand",
    :execution_role_arn => "executionRoleArn",
    :ipc_mode => "ipcMode",
    :pid_mode => "pidMode",
    :task_role_arn => "taskRoleArn",
    :volumes => "volumes",
  }
end

Instance Method Details

#to_jsiiObject



2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
# File 'batch/cfn_job_definition.rb', line 2759

def to_jsii
  result = {}
  result.merge!({
    "containers" => @containers,
    "enableExecuteCommand" => @enable_execute_command,
    "executionRoleArn" => @execution_role_arn,
    "ipcMode" => @ipc_mode,
    "pidMode" => @pid_mode,
    "taskRoleArn" => @task_role_arn,
    "volumes" => @volumes,
  })
  result.compact
end