Class: AWSCDK::Batch::EKSJobDefinition
- Inherits:
-
Resource
- Object
- Resource
- AWSCDK::Batch::EKSJobDefinition
- Includes:
- IEKSJobDefinition, IJobDefinition
- Defined in:
- batch/eks_job_definition.rb
Overview
A JobDefinition that uses Eks orchestration.
Class Method Summary collapse
-
.from_eks_job_definition_arn(scope, id, eks_job_definition_arn) ⇒ AWSCDK::Batch::IEKSJobDefinition
Import an EksJobDefinition 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::EKSContainerDefinition
The container this Job Definition will run.
-
#dns_policy ⇒ AWSCDK::Batch::DNSPolicy?
The DNS Policy of the pod used by this Job Definition.
-
#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). -
#initialize(scope, id, props) ⇒ EKSJobDefinition
constructor
A new instance of EKSJobDefinition.
-
#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.
-
#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.
-
#service_account ⇒ String?
The name of the service account that's used to run the container.
-
#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.
-
#use_host_network ⇒ Boolean?
If specified, the Pod used by this Job Definition will use the host's network IP address.
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props) ⇒ EKSJobDefinition
Returns a new instance of EKSJobDefinition.
13 14 15 16 17 18 19 |
# File 'batch/eks_job_definition.rb', line 13 def initialize(scope, id, props) props = props.is_a?(Hash) ? ::AWSCDK::Batch::EKSJobDefinitionProps.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("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guRWtzSm9iRGVmaW5pdGlvblByb3BzIn0=")), "props") Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.from_eks_job_definition_arn(scope, id, eks_job_definition_arn) ⇒ AWSCDK::Batch::IEKSJobDefinition
Import an EksJobDefinition by its arn.
57 58 59 60 61 62 |
# File 'batch/eks_job_definition.rb', line 57 def self.from_eks_job_definition_arn(scope, id, eks_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(eks_job_definition_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "eksJobDefinitionArn") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_batch.EksJobDefinition", "fromEksJobDefinitionArn", [scope, id, eks_job_definition_arn]) end |
.jsii_overridable_methods ⇒ Object
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 48 49 |
# File 'batch/eks_job_definition.rb', line 21 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 }, :dns_policy => { kind: :property, name: "dnsPolicy", is_optional: true }, :parameters => { kind: :property, name: "parameters", is_optional: true }, :retry_attempts => { kind: :property, name: "retryAttempts", is_optional: true }, :scheduling_priority => { kind: :property, name: "schedulingPriority", is_optional: true }, :service_account => { kind: :property, name: "serviceAccount", is_optional: true }, :skip_deregister_on_update => { kind: :property, name: "skipDeregisterOnUpdate", is_optional: true }, :timeout => { kind: :property, name: "timeout", is_optional: true }, :use_host_network => { kind: :property, name: "useHostNetwork", 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 }, } end |
.PROPERTY_INJECTION_ID ⇒ String
Uniquely identifies this class.
110 111 112 |
# File 'batch/eks_job_definition.rb', line 110 def self.PROPERTY_INJECTION_ID() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_batch.EksJobDefinition", "PROPERTY_INJECTION_ID") end |
Instance Method Details
#add_retry_strategy(strategy) ⇒ void
This method returns an undefined value.
Add a RetryStrategy to this JobDefinition.
315 316 317 318 |
# File 'batch/eks_job_definition.rb', line 315 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.
254 255 256 257 |
# File 'batch/eks_job_definition.rb', line 254 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).
271 272 273 274 |
# File 'batch/eks_job_definition.rb', line 271 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::EKSContainerDefinition
The container this Job Definition will run.
117 118 119 |
# File 'batch/eks_job_definition.rb', line 117 def container() jsii_get_property("container") end |
#dns_policy ⇒ AWSCDK::Batch::DNSPolicy?
The DNS Policy of the pod used by this Job Definition.
152 153 154 |
# File 'batch/eks_job_definition.rb', line 152 def dns_policy() jsii_get_property("dnsPolicy") 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.
82 83 84 |
# File 'batch/eks_job_definition.rb', line 82 def env() jsii_get_property("env") end |
#generate_physical_name ⇒ String
277 278 279 |
# File 'batch/eks_job_definition.rb', line 277 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.
291 292 293 294 295 296 |
# File 'batch/eks_job_definition.rb', line 291 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.
306 307 308 309 |
# File 'batch/eks_job_definition.rb', line 306 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 |
#job_definition_arn ⇒ String
The ARN of this job definition.
124 125 126 |
# File 'batch/eks_job_definition.rb', line 124 def job_definition_arn() jsii_get_property("jobDefinitionArn") end |
#job_definition_name ⇒ String
The name of this job definition.
131 132 133 |
# File 'batch/eks_job_definition.rb', line 131 def job_definition_name() jsii_get_property("jobDefinitionName") end |
#job_definition_ref ⇒ AWSCDK::Interfaces::AWSBatch::JobDefinitionReference
A reference to a JobDefinition resource.
138 139 140 |
# File 'batch/eks_job_definition.rb', line 138 def job_definition_ref() jsii_get_property("jobDefinitionRef") end |
#node ⇒ Constructs::Node
The tree node.
67 68 69 |
# File 'batch/eks_job_definition.rb', line 67 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.
159 160 161 |
# File 'batch/eks_job_definition.rb', line 159 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.
96 97 98 |
# File 'batch/eks_job_definition.rb', line 96 def physical_name() jsii_get_property("physicalName") 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.
168 169 170 |
# File 'batch/eks_job_definition.rb', line 168 def retry_attempts() jsii_get_property("retryAttempts") end |
#retry_strategies ⇒ Array<AWSCDK::Batch::RetryStrategy>
Defines the retry behavior for this job.
145 146 147 |
# File 'batch/eks_job_definition.rb', line 145 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.
179 180 181 |
# File 'batch/eks_job_definition.rb', line 179 def scheduling_priority() jsii_get_property("schedulingPriority") end |
#service_account ⇒ String?
The name of the service account that's used to run the container.
service accounts are Kubernetes method of identification and authentication, roughly analogous to IAM users.
189 190 191 |
# File 'batch/eks_job_definition.rb', line 189 def service_account() jsii_get_property("serviceAccount") 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.
197 198 199 |
# File 'batch/eks_job_definition.rb', line 197 def skip_deregister_on_update() jsii_get_property("skipDeregisterOnUpdate") end |
#stack ⇒ AWSCDK::Stack
The stack in which this resource is defined.
103 104 105 |
# File 'batch/eks_job_definition.rb', line 103 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.
207 208 209 |
# File 'batch/eks_job_definition.rb', line 207 def timeout() jsii_get_property("timeout") end |
#to_string ⇒ String
Returns a string representation of this construct.
224 225 226 |
# File 'batch/eks_job_definition.rb', line 224 def to_string() jsii_call_method("toString", []) end |
#use_host_network ⇒ Boolean?
If specified, the Pod used by this Job Definition will use the host's network IP address.
Otherwise, the Kubernetes pod networking model is enabled. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
217 218 219 |
# File 'batch/eks_job_definition.rb', line 217 def use_host_network() jsii_get_property("useHostNetwork") 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.
237 238 239 240 241 242 |
# File 'batch/eks_job_definition.rb', line 237 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 |