Class: AWSCDK::Batch::CfnJobDefinitionProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Batch::CfnJobDefinitionProps
- Defined in:
- batch/cfn_job_definition_props.rb
Overview
Properties for defining a CfnJobDefinition.
Instance Attribute Summary collapse
-
#consumable_resource_properties ⇒ AWSCDK::IResolvable, ...
readonly
Contains a list of consumable resources required by the job.
-
#container_properties ⇒ AWSCDK::IResolvable, ...
readonly
An object with properties specific to Amazon ECS-based jobs.
-
#ecs_properties ⇒ AWSCDK::IResolvable, ...
readonly
An object that contains the properties for the Amazon ECS resources of a job.When
ecsPropertiesis used in the job definition, it can't be used in addition tocontainerProperties,eksProperties, ornodeProperties. -
#eks_properties ⇒ AWSCDK::IResolvable, ...
readonly
An object with properties that are specific to Amazon EKS-based jobs.
-
#job_definition_name ⇒ String?
readonly
The name of the job definition.
-
#node_properties ⇒ AWSCDK::IResolvable, ...
readonly
An object with properties that are specific to multi-node parallel jobs.
-
#parameters ⇒ Object?
readonly
Default parameters or parameter substitution placeholders that are set in the job definition.
-
#platform_capabilities ⇒ Array<String>?
readonly
The platform capabilities required by the job definition.
-
#propagate_tags ⇒ Boolean, ...
readonly
Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task.
-
#resource_retention_policy ⇒ AWSCDK::IResolvable, ...
readonly
Specifies the resource retention policy settings for the job definition.
-
#retry_strategy ⇒ AWSCDK::IResolvable, ...
readonly
The retry strategy to use for failed jobs that are submitted with this job definition.
-
#scheduling_priority ⇒ Numeric?
readonly
The scheduling priority of the job definition.
-
#tags ⇒ Object?
readonly
The tags that are applied to the job definition.
-
#timeout ⇒ AWSCDK::IResolvable, ...
readonly
The timeout time for jobs that are submitted with this job definition.
-
#type ⇒ String
readonly
The type of job definition.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(type:, consumable_resource_properties: nil, container_properties: nil, ecs_properties: nil, eks_properties: nil, job_definition_name: nil, node_properties: nil, parameters: nil, platform_capabilities: nil, propagate_tags: nil, resource_retention_policy: nil, retry_strategy: nil, scheduling_priority: nil, tags: nil, timeout: nil) ⇒ CfnJobDefinitionProps
constructor
A new instance of CfnJobDefinitionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(type:, consumable_resource_properties: nil, container_properties: nil, ecs_properties: nil, eks_properties: nil, job_definition_name: nil, node_properties: nil, parameters: nil, platform_capabilities: nil, propagate_tags: nil, resource_retention_policy: nil, retry_strategy: nil, scheduling_priority: nil, tags: nil, timeout: nil) ⇒ CfnJobDefinitionProps
Returns a new instance of CfnJobDefinitionProps.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'batch/cfn_job_definition_props.rb', line 24 def initialize(type:, consumable_resource_properties: nil, container_properties: nil, ecs_properties: nil, eks_properties: nil, job_definition_name: nil, node_properties: nil, parameters: nil, platform_capabilities: nil, propagate_tags: nil, resource_retention_policy: nil, retry_strategy: nil, scheduling_priority: nil, tags: nil, timeout: nil) @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @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_properties = container_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::ContainerPropertiesProperty.new(**container_properties.transform_keys(&:to_sym)) : container_properties Jsii::Type.check_type(@container_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLkNvbnRhaW5lclByb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "containerProperties") unless @container_properties.nil? @ecs_properties = ecs_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::ECSPropertiesProperty.new(**ecs_properties.transform_keys(&:to_sym)) : ecs_properties Jsii::Type.check_type(@ecs_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLkVjc1Byb3BlcnRpZXNQcm9wZXJ0eSJ9XX19")), "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? @job_definition_name = job_definition_name Jsii::Type.check_type(@job_definition_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jobDefinitionName") unless @job_definition_name.nil? @node_properties = node_properties.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::NodePropertiesProperty.new(**node_properties.transform_keys(&:to_sym)) : node_properties Jsii::Type.check_type(@node_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLk5vZGVQcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "nodeProperties") unless @node_properties.nil? @parameters = parameters Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "parameters") unless @parameters.nil? @platform_capabilities = platform_capabilities Jsii::Type.check_type(@platform_capabilities, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "platformCapabilities") unless @platform_capabilities.nil? @propagate_tags = Jsii::Type.check_type(@propagate_tags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "propagateTags") unless @propagate_tags.nil? @resource_retention_policy = resource_retention_policy.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::ResourceRetentionPolicyProperty.new(**resource_retention_policy.transform_keys(&:to_sym)) : resource_retention_policy Jsii::Type.check_type(@resource_retention_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLlJlc291cmNlUmV0ZW50aW9uUG9saWN5UHJvcGVydHkifV19fQ==")), "resourceRetentionPolicy") unless @resource_retention_policy.nil? @retry_strategy = retry_strategy.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::RetryStrategyProperty.new(**retry_strategy.transform_keys(&:to_sym)) : retry_strategy Jsii::Type.check_type(@retry_strategy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLlJldHJ5U3RyYXRlZ3lQcm9wZXJ0eSJ9XX19")), "retryStrategy") unless @retry_strategy.nil? @scheduling_priority = scheduling_priority Jsii::Type.check_type(@scheduling_priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "schedulingPriority") unless @scheduling_priority.nil? @tags = Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "tags") unless @tags.nil? @timeout = timeout.is_a?(Hash) ? ::AWSCDK::Batch::CfnJobDefinition::TimeoutProperty.new(**timeout.transform_keys(&:to_sym)) : timeout Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5DZm5Kb2JEZWZpbml0aW9uLlRpbWVvdXRQcm9wZXJ0eSJ9XX19")), "timeout") unless @timeout.nil? end |
Instance Attribute Details
#consumable_resource_properties ⇒ AWSCDK::IResolvable, ... (readonly)
Contains a list of consumable resources required by the job.
73 74 75 |
# File 'batch/cfn_job_definition_props.rb', line 73 def consumable_resource_properties @consumable_resource_properties end |
#container_properties ⇒ AWSCDK::IResolvable, ... (readonly)
An object with properties specific to Amazon ECS-based jobs.
When container_properties is used in the job definition, it can't be used in addition to eks_properties , ecs_properties , or node_properties .
80 81 82 |
# File 'batch/cfn_job_definition_props.rb', line 80 def container_properties @container_properties end |
#ecs_properties ⇒ AWSCDK::IResolvable, ... (readonly)
An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
85 86 87 |
# File 'batch/cfn_job_definition_props.rb', line 85 def ecs_properties @ecs_properties end |
#eks_properties ⇒ AWSCDK::IResolvable, ... (readonly)
An object with properties that are specific to Amazon EKS-based jobs.
When eks_properties is used in the job definition, it can't be used in addition to container_properties , ecs_properties , or node_properties .
92 93 94 |
# File 'batch/cfn_job_definition_props.rb', line 92 def eks_properties @eks_properties end |
#job_definition_name ⇒ String? (readonly)
The name of the job definition.
97 98 99 |
# File 'batch/cfn_job_definition_props.rb', line 97 def job_definition_name @job_definition_name end |
#node_properties ⇒ AWSCDK::IResolvable, ... (readonly)
An object with properties that are specific to multi-node parallel jobs.
When node_properties is used in the job definition, it can't be used in addition to container_properties , ecs_properties , or eks_properties .
If the job runs on Fargate resources, don't specify
node_properties. Usecontainer_propertiesinstead.
106 107 108 |
# File 'batch/cfn_job_definition_props.rb', line 106 def node_properties @node_properties end |
#parameters ⇒ Object? (readonly)
Default parameters or parameter substitution placeholders that are set in the job definition.
Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .
113 114 115 |
# File 'batch/cfn_job_definition_props.rb', line 113 def parameters @parameters end |
#platform_capabilities ⇒ Array<String>? (readonly)
The platform capabilities required by the job definition.
If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
120 121 122 |
# File 'batch/cfn_job_definition_props.rb', line 120 def platform_capabilities @platform_capabilities end |
#propagate_tags ⇒ Boolean, ... (readonly)
Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task.
If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
127 128 129 |
# File 'batch/cfn_job_definition_props.rb', line 127 def @propagate_tags end |
#resource_retention_policy ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies the resource retention policy settings for the job definition.
132 133 134 |
# File 'batch/cfn_job_definition_props.rb', line 132 def resource_retention_policy @resource_retention_policy end |
#retry_strategy ⇒ AWSCDK::IResolvable, ... (readonly)
The retry strategy to use for failed jobs that are submitted with this job definition.
137 138 139 |
# File 'batch/cfn_job_definition_props.rb', line 137 def retry_strategy @retry_strategy end |
#scheduling_priority ⇒ Numeric? (readonly)
The scheduling priority of the job definition.
This only affects jobs in job queues with a fair-share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
144 145 146 |
# File 'batch/cfn_job_definition_props.rb', line 144 def scheduling_priority @scheduling_priority end |
#tags ⇒ Object? (readonly)
The tags that are applied to the job definition.
149 150 151 |
# File 'batch/cfn_job_definition_props.rb', line 149 def @tags end |
#timeout ⇒ AWSCDK::IResolvable, ... (readonly)
The timeout time for jobs that are submitted with this job definition.
After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
156 157 158 |
# File 'batch/cfn_job_definition_props.rb', line 156 def timeout @timeout end |
#type ⇒ String (readonly)
The type of job definition.
For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .
- If the value is
container, then one of the following is required:container_properties,ecs_properties, oreks_properties. - If the value is
multinode, thennode_propertiesis required.
If the job is run on Fargate resources, then
multinodeisn't supported.
68 69 70 |
# File 'batch/cfn_job_definition_props.rb', line 68 def type @type end |
Class Method Details
.jsii_properties ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'batch/cfn_job_definition_props.rb', line 158 def self.jsii_properties { :type => "type", :consumable_resource_properties => "consumableResourceProperties", :container_properties => "containerProperties", :ecs_properties => "ecsProperties", :eks_properties => "eksProperties", :job_definition_name => "jobDefinitionName", :node_properties => "nodeProperties", :parameters => "parameters", :platform_capabilities => "platformCapabilities", :propagate_tags => "propagateTags", :resource_retention_policy => "resourceRetentionPolicy", :retry_strategy => "retryStrategy", :scheduling_priority => "schedulingPriority", :tags => "tags", :timeout => "timeout", } end |
Instance Method Details
#to_jsii ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'batch/cfn_job_definition_props.rb', line 178 def to_jsii result = {} result.merge!({ "type" => @type, "consumableResourceProperties" => @consumable_resource_properties, "containerProperties" => @container_properties, "ecsProperties" => @ecs_properties, "eksProperties" => @eks_properties, "jobDefinitionName" => @job_definition_name, "nodeProperties" => @node_properties, "parameters" => @parameters, "platformCapabilities" => @platform_capabilities, "propagateTags" => @propagate_tags, "resourceRetentionPolicy" => @resource_retention_policy, "retryStrategy" => @retry_strategy, "schedulingPriority" => @scheduling_priority, "tags" => @tags, "timeout" => @timeout, }) result.compact end |