/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object that represents an Batch job definition.See Also:
* AWS
* API Reference
The name of the job definition.
*/ inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; } /** *The name of the job definition.
*/ inline bool JobDefinitionNameHasBeenSet() const { return m_jobDefinitionNameHasBeenSet; } /** *The name of the job definition.
*/ inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = value; } /** *The name of the job definition.
*/ inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = std::move(value); } /** *The name of the job definition.
*/ inline void SetJobDefinitionName(const char* value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName.assign(value); } /** *The name of the job definition.
*/ inline JobDefinition& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;} /** *The name of the job definition.
*/ inline JobDefinition& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;} /** *The name of the job definition.
*/ inline JobDefinition& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;} /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline const Aws::String& GetJobDefinitionArn() const{ return m_jobDefinitionArn; } /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline bool JobDefinitionArnHasBeenSet() const { return m_jobDefinitionArnHasBeenSet; } /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline void SetJobDefinitionArn(const Aws::String& value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn = value; } /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline void SetJobDefinitionArn(Aws::String&& value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn = std::move(value); } /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline void SetJobDefinitionArn(const char* value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn.assign(value); } /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline JobDefinition& WithJobDefinitionArn(const Aws::String& value) { SetJobDefinitionArn(value); return *this;} /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline JobDefinition& WithJobDefinitionArn(Aws::String&& value) { SetJobDefinitionArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the job definition.
*/ inline JobDefinition& WithJobDefinitionArn(const char* value) { SetJobDefinitionArn(value); return *this;} /** *The revision of the job definition.
*/ inline int GetRevision() const{ return m_revision; } /** *The revision of the job definition.
*/ inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; } /** *The revision of the job definition.
*/ inline void SetRevision(int value) { m_revisionHasBeenSet = true; m_revision = value; } /** *The revision of the job definition.
*/ inline JobDefinition& WithRevision(int value) { SetRevision(value); return *this;} /** *The status of the job definition.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The status of the job definition.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the job definition.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the job definition.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the job definition.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The status of the job definition.
*/ inline JobDefinition& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The status of the job definition.
*/ inline JobDefinition& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The status of the job definition.
*/ inline JobDefinition& WithStatus(const char* value) { SetStatus(value); return *this;} /** *The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
The type of job definition. It's either container
or
* multinode
. If the job is run on Fargate resources, then
* multinode
isn't supported. For more information about multi-node
* parallel jobs, see Creating
* a multi-node parallel job definition in the Batch User Guide.
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.
*/ inline int GetSchedulingPriority() const{ return m_schedulingPriority; } /** *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.
*/ inline bool SchedulingPriorityHasBeenSet() const { return m_schedulingPriorityHasBeenSet; } /** *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.
*/ inline void SetSchedulingPriority(int value) { m_schedulingPriorityHasBeenSet = true; m_schedulingPriority = value; } /** *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.
*/ inline JobDefinition& WithSchedulingPriority(int value) { SetSchedulingPriority(value); return *this;} /** *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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
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 Batch User Guide.
The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; } /** *The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; } /** *The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; } /** *The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); } /** *The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline JobDefinition& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;} /** *The retry strategy to use for failed jobs that are submitted with this job * definition.
*/ inline JobDefinition& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;} /** *An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
An object with various properties specific to Amazon ECS based jobs. Valid
* values are containerProperties
, eksProperties
, and
* nodeProperties
. Only one can be specified.
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.
*/ inline const JobTimeout& GetTimeout() const{ return m_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.
*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *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.
*/ inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *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.
*/ inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); } /** *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.
*/ inline JobDefinition& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;} /** *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.
*/ inline JobDefinition& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;} /** *An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
An object with various properties that are specific to multi-node parallel
* jobs. Valid values are containerProperties
,
* eksProperties
, and nodeProperties
. Only one can be
* specified.
If the job runs on Fargate resources, don't specify
* nodeProperties
. Use containerProperties
instead.
The tags that are applied to the job definition.
*/ inline const Aws::MapThe tags that are applied to the job definition.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags that are applied to the job definition.
*/ inline void SetTags(const Aws::MapThe tags that are applied to the job definition.
*/ inline void SetTags(Aws::MapThe tags that are applied to the job definition.
*/ inline JobDefinition& WithTags(const Aws::MapThe tags that are applied to the job definition.
*/ inline JobDefinition& WithTags(Aws::MapThe tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags that are applied to the job definition.
*/ inline JobDefinition& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *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.
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.
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.
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.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
The platform capabilities required by the job definition. If no value is
* specified, it defaults to EC2
. Jobs run on Fargate resources
* specify FARGATE
.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
An object with various properties that are specific to Amazon EKS based jobs.
* Valid values are containerProperties
, eksProperties
,
* and nodeProperties
. Only one can be specified.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.
The orchestration type of the compute environment. The valid values are
* ECS
(default) or EKS
.