Class: AWSCDK::Batch::ECSJobDefinitionProps

Inherits:
JobDefinitionProps
  • Object
show all
Defined in:
batch/ecs_job_definition_props.rb

Overview

Props for EcsJobDefinition.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(job_definition_name: nil, parameters: nil, retry_attempts: nil, retry_strategies: nil, scheduling_priority: nil, skip_deregister_on_update: nil, timeout: nil, container:, propagate_tags: nil) ⇒ ECSJobDefinitionProps

Returns a new instance of ECSJobDefinitionProps.

Parameters:

  • job_definition_name (String, nil) (defaults to: nil)

    The name of this job definition.

  • parameters (Hash{String => Object}, nil) (defaults to: nil)

    The default parameters passed to the container These parameters can be referenced in the command that you give to the container.

  • retry_attempts (Numeric, nil) (defaults to: nil)

    The number of times to retry a job.

  • retry_strategies (Array<AWSCDK::Batch::RetryStrategy>, nil) (defaults to: nil)

    Defines the retry behavior for this job.

  • scheduling_priority (Numeric, nil) (defaults to: nil)

    The priority of this Job.

  • skip_deregister_on_update (Boolean, nil) (defaults to: nil)

    Specifies whether the previous revision of the job definition is retained in an active status after UPDATE events for the resource.

  • timeout (AWSCDK::Duration, nil) (defaults to: nil)

    The timeout time for jobs that are submitted with this job definition.

  • container (AWSCDK::Batch::IECSContainerDefinition)

    The container that this job will run.

  • propagate_tags (Boolean, nil) (defaults to: nil)

    Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'batch/ecs_job_definition_props.rb', line 16

def initialize(job_definition_name: nil, parameters: nil, retry_attempts: nil, retry_strategies: nil, scheduling_priority: nil, skip_deregister_on_update: nil, timeout: nil, container:, propagate_tags: 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?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "parameters") unless @parameters.nil?
  @retry_attempts = retry_attempts
  Jsii::Type.check_type(@retry_attempts, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retryAttempts") unless @retry_attempts.nil?
  @retry_strategies = retry_strategies
  Jsii::Type.check_type(@retry_strategies, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iYXRjaC5SZXRyeVN0cmF0ZWd5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "retryStrategies") unless @retry_strategies.nil?
  @scheduling_priority = scheduling_priority
  Jsii::Type.check_type(@scheduling_priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "schedulingPriority") unless @scheduling_priority.nil?
  @skip_deregister_on_update = skip_deregister_on_update
  Jsii::Type.check_type(@skip_deregister_on_update, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "skipDeregisterOnUpdate") unless @skip_deregister_on_update.nil?
  @timeout = timeout
  Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "timeout") unless @timeout.nil?
  @container = container
  Jsii::Type.check_type(@container, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYmF0Y2guSUVjc0NvbnRhaW5lckRlZmluaXRpb24ifQ==")), "container")
  @propagate_tags = propagate_tags
  Jsii::Type.check_type(@propagate_tags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "propagateTags") unless @propagate_tags.nil?
end

Instance Attribute Details

#containerAWSCDK::Batch::IECSContainerDefinition (readonly)

The container that this job will run.



88
89
90
# File 'batch/ecs_job_definition_props.rb', line 88

def container
  @container
end

#job_definition_nameString? (readonly)

Note:

Default: - generated by CloudFormation

The name of this job definition.

Returns:

  • (String, nil)


41
42
43
# File 'batch/ecs_job_definition_props.rb', line 41

def job_definition_name
  @job_definition_name
end

#parametersHash{String => Object}? (readonly)

Note:

Default: none

The default parameters passed to the container These parameters can be referenced in the command that you give to the container.



47
48
49
# File 'batch/ecs_job_definition_props.rb', line 47

def parameters
  @parameters
end

#propagate_tagsBoolean? (readonly)

Note:

Default: false

Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.

Returns:

  • (Boolean, nil)


93
94
95
# File 'batch/ecs_job_definition_props.rb', line 93

def propagate_tags
  @propagate_tags
end

#retry_attemptsNumeric? (readonly)

Note:

Default: 1

The number of times to retry a job.

The job is retried on failure the same number of attempts as the value.

Returns:

  • (Numeric, nil)


54
55
56
# File 'batch/ecs_job_definition_props.rb', line 54

def retry_attempts
  @retry_attempts
end

#retry_strategiesArray<AWSCDK::Batch::RetryStrategy>? (readonly)

Note:

Default: - no RetryStrategy

Defines the retry behavior for this job.

Returns:



59
60
61
# File 'batch/ecs_job_definition_props.rb', line 59

def retry_strategies
  @retry_strategies
end

#scheduling_priorityNumeric? (readonly)

Note:

Default: none

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.

Returns:

  • (Numeric, nil)


68
69
70
# File 'batch/ecs_job_definition_props.rb', line 68

def scheduling_priority
  @scheduling_priority
end

#skip_deregister_on_updateBoolean? (readonly)

Note:

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.

When the property is set to false, the previous revision of the job definition is de-registered after a new revision is created. When the property is set to true, the previous revision of the job definition is not de-registered.

Returns:

  • (Boolean, nil)


76
77
78
# File 'batch/ecs_job_definition_props.rb', line 76

def skip_deregister_on_update
  @skip_deregister_on_update
end

#timeoutAWSCDK::Duration? (readonly)

Note:

Default: - no timeout

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.

Returns:



84
85
86
# File 'batch/ecs_job_definition_props.rb', line 84

def timeout
  @timeout
end

Class Method Details

.jsii_propertiesObject



95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'batch/ecs_job_definition_props.rb', line 95

def self.jsii_properties
  {
    :job_definition_name => "jobDefinitionName",
    :parameters => "parameters",
    :retry_attempts => "retryAttempts",
    :retry_strategies => "retryStrategies",
    :scheduling_priority => "schedulingPriority",
    :skip_deregister_on_update => "skipDeregisterOnUpdate",
    :timeout => "timeout",
    :container => "container",
    :propagate_tags => "propagateTags",
  }
end

Instance Method Details

#to_jsiiObject



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'batch/ecs_job_definition_props.rb', line 109

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "jobDefinitionName" => @job_definition_name,
    "parameters" => @parameters,
    "retryAttempts" => @retry_attempts,
    "retryStrategies" => @retry_strategies,
    "schedulingPriority" => @scheduling_priority,
    "skipDeregisterOnUpdate" => @skip_deregister_on_update,
    "timeout" => @timeout,
    "container" => @container,
    "propagateTags" => @propagate_tags,
  })
  result.compact
end