Class: AWSCDK::Batch::CfnJobDefinition::NodeRangePropertyProperty

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

Overview

This is an object that represents the properties of the node range for a multi-node parallel job.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_nodes:, consumable_resource_properties: nil, container: nil, ecs_properties: nil, eks_properties: nil, instance_types: nil) ⇒ NodeRangePropertyProperty

Returns a new instance of NodeRangePropertyProperty.

Parameters:



2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
# File 'batch/cfn_job_definition.rb', line 2880

def initialize(target_nodes:, consumable_resource_properties: nil, container: nil, ecs_properties: nil, eks_properties: nil, instance_types: nil)
  @target_nodes = target_nodes
  Jsii::Type.check_type(@target_nodes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetNodes")
  @consumable_resource_properties = consumable_resource_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::ConsumableResourcePropertiesProperty.new(**consumable_resource_properties.transform_keys(&:to_sym)) : consumable_resource_properties
  Jsii::Type.check_type(@consumable_resource_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLkNvbnN1bWFibGVSZXNvdXJjZVByb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "consumableResourceProperties") unless @consumable_resource_properties.nil?
  @container = container.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::ContainerPropertiesProperty.new(**container.transform_keys(&:to_sym)) : container
  Jsii::Type.check_type(@container, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLkNvbnRhaW5lclByb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "container") unless @container.nil?
  @ecs_properties = ecs_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::MultiNodeECSPropertiesProperty.new(**ecs_properties.transform_keys(&:to_sym)) : ecs_properties
  Jsii::Type.check_type(@ecs_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLk11bHRpTm9kZUVjc1Byb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "ecsProperties") unless @ecs_properties.nil?
  @eks_properties = eks_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::EKSPropertiesProperty.new(**eks_properties.transform_keys(&:to_sym)) : eks_properties
  Jsii::Type.check_type(@eks_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLkVrc1Byb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "eksProperties") unless @eks_properties.nil?
  @instance_types = instance_types
  Jsii::Type.check_type(@instance_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "instanceTypes") unless @instance_types.nil?
end

Instance Attribute Details

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

Contains a list of consumable resources required by a job.



2906
2907
2908
# File 'batch/cfn_job_definition.rb', line 2906

def consumable_resource_properties
  @consumable_resource_properties
end

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

The container details for the node range.



2911
2912
2913
# File 'batch/cfn_job_definition.rb', line 2911

def container
  @container
end

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

This is an object that represents the properties of the node range for a multi-node parallel job.



2916
2917
2918
# File 'batch/cfn_job_definition.rb', line 2916

def ecs_properties
  @ecs_properties
end

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

This is an object that represents the properties of the node range for a multi-node parallel job.



2921
2922
2923
# File 'batch/cfn_job_definition.rb', line 2921

def eks_properties
  @eks_properties
end

#instance_typesArray<String>? (readonly)

The instance types of the underlying host infrastructure of a multi-node parallel job.

This parameter isn't applicable to jobs that are running on Fargate resources.

In addition, this list object is currently limited to one element.



2930
2931
2932
# File 'batch/cfn_job_definition.rb', line 2930

def instance_types
  @instance_types
end

#target_nodesString (readonly)

The range of nodes, using node index values.

A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.



2901
2902
2903
# File 'batch/cfn_job_definition.rb', line 2901

def target_nodes
  @target_nodes
end

Class Method Details

.jsii_propertiesObject



2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
# File 'batch/cfn_job_definition.rb', line 2932

def self.jsii_properties
  {
    :target_nodes => "targetNodes",
    :consumable_resource_properties => "consumableResourceProperties",
    :container => "container",
    :ecs_properties => "ecsProperties",
    :eks_properties => "eksProperties",
    :instance_types => "instanceTypes",
  }
end

Instance Method Details

#to_jsiiObject



2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
# File 'batch/cfn_job_definition.rb', line 2943

def to_jsii
  result = {}
  result.merge!({
    "targetNodes" => @target_nodes,
    "consumableResourceProperties" => @consumable_resource_properties,
    "container" => @container,
    "ecsProperties" => @ecs_properties,
    "eksProperties" => @eks_properties,
    "instanceTypes" => @instance_types,
  })
  result.compact
end