Class: AWSCDK::Batch::ECSJobDefinition
- Inherits:
-
Resource
- Object
- Resource
- AWSCDK::Batch::ECSJobDefinition
- Includes:
- IJobDefinition
- Defined in:
- batch/ecs_job_definition.rb
Overview
A JobDefinition that uses ECS orchestration.
Class Method Summary collapse
-
.from_job_definition_arn(scope, id, job_definition_arn) ⇒ AWSCDK::Batch::IJobDefinition
Import a JobDefinition by its arn.
- .jsii_overridable_methods ⇒ Object
-
.PROPERTY_INJECTION_ID ⇒ String
Uniquely identifies this class.
Instance Method Summary collapse
-
#add_retry_strategy(strategy) ⇒ void
Add a RetryStrategy to this JobDefinition.
-
#apply_cross_stack_reference_strength(strength) ⇒ void
Override the cross-stack reference strength for this resource.
-
#apply_removal_policy(policy) ⇒ void
Apply the given removal policy to this resource.
-
#container ⇒ AWSCDK::Batch::IECSContainerDefinition
The container that this job will run.
-
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
The environment this resource belongs to.
- #generate_physical_name ⇒ String
-
#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g.
bucket.bucketArn). -
#get_resource_name_attribute(name_attr) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g.
bucket.bucketName). -
#grant_submit_job(identity, queue) ⇒ void
Grants the
batch:submitJobpermission to the identity on both this job definition and thequeue. -
#initialize(scope, id, props) ⇒ ECSJobDefinition
constructor
A new instance of ECSJobDefinition.
-
#job_definition_arn ⇒ String
The ARN of this job definition.
-
#job_definition_name ⇒ String
The name of this job definition.
-
#job_definition_ref ⇒ AWSCDK::Interfaces::AWSBatch::JobDefinitionReference
A reference to a JobDefinition resource.
-
#node ⇒ Constructs::Node
The tree node.
-
#parameters ⇒ Hash{String => Object}?
The default parameters passed to the container These parameters can be referenced in the
commandthat you give to the container. -
#physical_name ⇒ String
Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
-
#propagate_tags ⇒ Boolean?
Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.
-
#retry_attempts ⇒ Numeric?
The number of times to retry a job.
-
#retry_strategies ⇒ Array<AWSCDK::Batch::RetryStrategy>
Defines the retry behavior for this job.
-
#scheduling_priority ⇒ Numeric?
The priority of this Job.
-
#skip_deregister_on_update ⇒ Boolean?
Specifies whether the previous revision of the job definition is retained in an active status after UPDATE events for the resource.
-
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
-
#timeout ⇒ AWSCDK::Duration?
The timeout time for jobs that are submitted with this job definition.
-
#to_string ⇒ String
Returns a string representation of this construct.
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props) ⇒ ECSJobDefinition
Returns a new instance of ECSJobDefinition.
12 13 14 15 16 17 18 |
# File 'batch/ecs_job_definition.rb', line 12 def initialize(scope, id, props) props = props.is_a?(Hash) ? ::AWSCDK::Batch::ECSJobDefinitionProps.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guRWNzSm9iRGVmaW5pdGlvblByb3BzIn0=")), "props") Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.from_job_definition_arn(scope, id, job_definition_arn) ⇒ AWSCDK::Batch::IJobDefinition
Import a JobDefinition by its arn.
55 56 57 58 59 60 |
# File 'batch/ecs_job_definition.rb', line 55 def self.from_job_definition_arn(scope, id, job_definition_arn) Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(job_definition_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jobDefinitionArn") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_batch.EcsJobDefinition", "fromJobDefinitionArn", [scope, id, job_definition_arn]) end |
.jsii_overridable_methods ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'batch/ecs_job_definition.rb', line 20 def self.jsii_overridable_methods { :node => { kind: :property, name: "node", is_optional: false }, :env => { kind: :property, name: "env", is_optional: false }, :physical_name => { kind: :property, name: "physicalName", is_optional: false }, :stack => { kind: :property, name: "stack", is_optional: false }, :container => { kind: :property, name: "container", is_optional: false }, :job_definition_arn => { kind: :property, name: "jobDefinitionArn", is_optional: false }, :job_definition_name => { kind: :property, name: "jobDefinitionName", is_optional: false }, :job_definition_ref => { kind: :property, name: "jobDefinitionRef", is_optional: false }, :retry_strategies => { kind: :property, name: "retryStrategies", is_optional: false }, :parameters => { kind: :property, name: "parameters", is_optional: true }, :propagate_tags => { kind: :property, name: "propagateTags", is_optional: true }, :retry_attempts => { kind: :property, name: "retryAttempts", is_optional: true }, :scheduling_priority => { kind: :property, name: "schedulingPriority", is_optional: true }, :skip_deregister_on_update => { kind: :property, name: "skipDeregisterOnUpdate", is_optional: true }, :timeout => { kind: :property, name: "timeout", is_optional: true }, :to_string => { kind: :method, name: "toString", is_optional: false }, :with => { kind: :method, name: "with", is_optional: false }, :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false }, :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false }, :generate_physical_name => { kind: :method, name: "generatePhysicalName", is_optional: false }, :get_resource_arn_attribute => { kind: :method, name: "getResourceArnAttribute", is_optional: false }, :get_resource_name_attribute => { kind: :method, name: "getResourceNameAttribute", is_optional: false }, :add_retry_strategy => { kind: :method, name: "addRetryStrategy", is_optional: false }, :grant_submit_job => { kind: :method, name: "grantSubmitJob", is_optional: false }, } end |
.PROPERTY_INJECTION_ID ⇒ String
Uniquely identifies this class.
108 109 110 |
# File 'batch/ecs_job_definition.rb', line 108 def self.PROPERTY_INJECTION_ID() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_batch.EcsJobDefinition", "PROPERTY_INJECTION_ID") end |
Instance Method Details
#add_retry_strategy(strategy) ⇒ void
This method returns an undefined value.
Add a RetryStrategy to this JobDefinition.
293 294 295 296 |
# File 'batch/ecs_job_definition.rb', line 293 def add_retry_strategy(strategy) Jsii::Type.check_type(strategy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guUmV0cnlTdHJhdGVneSJ9")), "strategy") jsii_call_method("addRetryStrategy", [strategy]) end |
#apply_cross_stack_reference_strength(strength) ⇒ void
This method returns an undefined value.
Override the cross-stack reference strength for this resource.
When set, any cross-stack reference to this resource will use the specified
mechanism instead of the global default determined by the
@aws-cdk/core:defaultCrossStackReferences context key. This is useful for
selectively weakening specific references to avoid the "deadly embrace" problem
without changing the app-wide default.
232 233 234 235 |
# File 'batch/ecs_job_definition.rb', line 232 def apply_cross_stack_reference_strength(strength) Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength") jsii_call_method("applyCrossStackReferenceStrength", [strength]) end |
#apply_removal_policy(policy) ⇒ void
This method returns an undefined value.
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN).
249 250 251 252 |
# File 'batch/ecs_job_definition.rb', line 249 def apply_removal_policy(policy) Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") jsii_call_method("applyRemovalPolicy", [policy]) end |
#container ⇒ AWSCDK::Batch::IECSContainerDefinition
The container that this job will run.
115 116 117 |
# File 'batch/ecs_job_definition.rb', line 115 def container() jsii_get_property("container") end |
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed in a Stack (those created by
creating new class instances like new Role(), new Bucket(), etc.), this
is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like
Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be
different than the stack they were imported into.
80 81 82 |
# File 'batch/ecs_job_definition.rb', line 80 def env() jsii_get_property("env") end |
#generate_physical_name ⇒ String
255 256 257 |
# File 'batch/ecs_job_definition.rb', line 255 def generate_physical_name() jsii_call_method("generatePhysicalName", []) end |
#get_resource_arn_attribute(arn_attr, arn_components) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. bucket.bucketArn).
Normally, this token will resolve to arn_attr, but if the resource is
referenced across environments, arn_components will be used to synthesize
a concrete ARN with the resource's physical name. Make sure to reference
this.physicalName in arn_components.
269 270 271 272 273 274 |
# File 'batch/ecs_job_definition.rb', line 269 def get_resource_arn_attribute(arn_attr, arn_components) Jsii::Type.check_type(arn_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arnAttr") arn_components = arn_components.is_a?(Hash) ? ::AWSCDK::ARNComponents.new(**arn_components.transform_keys(&:to_sym)) : arn_components Jsii::Type.check_type(arn_components, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5Bcm5Db21wb25lbnRzIn0=")), "arnComponents") jsii_call_method("getResourceArnAttribute", [arn_attr, arn_components]) end |
#get_resource_name_attribute(name_attr) ⇒ String
Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. bucket.bucketName).
Normally, this token will resolve to name_attr, but if the resource is
referenced across environments, it will be resolved to this.physicalName,
which will be a concrete name.
284 285 286 287 |
# File 'batch/ecs_job_definition.rb', line 284 def get_resource_name_attribute(name_attr) Jsii::Type.check_type(name_attr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nameAttr") jsii_call_method("getResourceNameAttribute", [name_attr]) end |
#grant_submit_job(identity, queue) ⇒ void
This method returns an undefined value.
Grants the batch:submitJob permission to the identity on both this job definition and the queue.
[disable-awslint:no-grants]
305 306 307 308 309 |
# File 'batch/ecs_job_definition.rb', line 305 def grant_submit_job(identity, queue) Jsii::Type.check_type(identity, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklHcmFudGFibGUifQ==")), "identity") Jsii::Type.check_type(queue, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19iYXRjaC5JSm9iUXVldWVSZWYifQ==")), "queue") jsii_call_method("grantSubmitJob", [identity, queue]) end |
#job_definition_arn ⇒ String
The ARN of this job definition.
122 123 124 |
# File 'batch/ecs_job_definition.rb', line 122 def job_definition_arn() jsii_get_property("jobDefinitionArn") end |
#job_definition_name ⇒ String
The name of this job definition.
129 130 131 |
# File 'batch/ecs_job_definition.rb', line 129 def job_definition_name() jsii_get_property("jobDefinitionName") end |
#job_definition_ref ⇒ AWSCDK::Interfaces::AWSBatch::JobDefinitionReference
A reference to a JobDefinition resource.
136 137 138 |
# File 'batch/ecs_job_definition.rb', line 136 def job_definition_ref() jsii_get_property("jobDefinitionRef") end |
#node ⇒ Constructs::Node
The tree node.
65 66 67 |
# File 'batch/ecs_job_definition.rb', line 65 def node() jsii_get_property("node") end |
#parameters ⇒ Hash{String => Object}?
The default parameters passed to the container These parameters can be referenced in the command that you give to the container.
150 151 152 |
# File 'batch/ecs_job_definition.rb', line 150 def parameters() jsii_get_property("parameters") end |
#physical_name ⇒ String
Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
This value will resolve to one of the following:
- a concrete value (e.g.
"my-awesome-bucket") undefined, when a name should be generated by CloudFormation- a concrete name generated automatically during synthesis, in cross-environment scenarios.
94 95 96 |
# File 'batch/ecs_job_definition.rb', line 94 def physical_name() jsii_get_property("physicalName") end |
#propagate_tags ⇒ Boolean?
Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.
157 158 159 |
# File 'batch/ecs_job_definition.rb', line 157 def () jsii_get_property("propagateTags") end |
#retry_attempts ⇒ Numeric?
The number of times to retry a job.
The job is retried on failure the same number of attempts as the value.
166 167 168 |
# File 'batch/ecs_job_definition.rb', line 166 def retry_attempts() jsii_get_property("retryAttempts") end |
#retry_strategies ⇒ Array<AWSCDK::Batch::RetryStrategy>
Defines the retry behavior for this job.
143 144 145 |
# File 'batch/ecs_job_definition.rb', line 143 def retry_strategies() jsii_get_property("retryStrategies") end |
#scheduling_priority ⇒ Numeric?
The priority of this Job.
Only used in Fairshare Scheduling to decide which job to run first when there are multiple jobs with the same share identifier.
177 178 179 |
# File 'batch/ecs_job_definition.rb', line 177 def scheduling_priority() jsii_get_property("schedulingPriority") end |
#skip_deregister_on_update ⇒ Boolean?
Default: undefined - AWS Batch default is false
Specifies whether the previous revision of the job definition is retained in an active status after UPDATE events for the resource.
185 186 187 |
# File 'batch/ecs_job_definition.rb', line 185 def skip_deregister_on_update() jsii_get_property("skipDeregisterOnUpdate") end |
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
101 102 103 |
# File 'batch/ecs_job_definition.rb', line 101 def stack() jsii_get_property("stack") end |
#timeout ⇒ AWSCDK::Duration?
The timeout time for jobs that are submitted with this job definition.
After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.
195 196 197 |
# File 'batch/ecs_job_definition.rb', line 195 def timeout() jsii_get_property("timeout") end |
#to_string ⇒ String
Returns a string representation of this construct.
202 203 204 |
# File 'batch/ecs_job_definition.rb', line 202 def to_string() jsii_call_method("toString", []) end |
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.
215 216 217 218 219 220 |
# File 'batch/ecs_job_definition.rb', line 215 def with(*mixins) mixins.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]") end jsii_call_method("with", [*mixins]) end |