/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

An object that represents an Batch job.

See Also:

AWS API * Reference

*/ class JobDetail { public: AWS_BATCH_API JobDetail(); AWS_BATCH_API JobDetail(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API JobDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the job.

*/ inline const Aws::String& GetJobArn() const{ return m_jobArn; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline bool JobArnHasBeenSet() const { return m_jobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetJobArn(const Aws::String& value) { m_jobArnHasBeenSet = true; m_jobArn = value; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetJobArn(Aws::String&& value) { m_jobArnHasBeenSet = true; m_jobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetJobArn(const char* value) { m_jobArnHasBeenSet = true; m_jobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline JobDetail& WithJobArn(const Aws::String& value) { SetJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

*/ inline JobDetail& WithJobArn(Aws::String&& value) { SetJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

*/ inline JobDetail& WithJobArn(const char* value) { SetJobArn(value); return *this;} /** *

The job name.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } /** *

The job name.

*/ inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } /** *

The job name.

*/ inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; } /** *

The job name.

*/ inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); } /** *

The job name.

*/ inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); } /** *

The job name.

*/ inline JobDetail& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *

The job name.

*/ inline JobDetail& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;} /** *

The job name.

*/ inline JobDetail& WithJobName(const char* value) { SetJobName(value); return *this;} /** *

The job ID.

*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *

The job ID.

*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *

The job ID.

*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *

The job ID.

*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *

The job ID.

*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *

The job ID.

*/ inline JobDetail& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *

The job ID.

*/ inline JobDetail& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *

The job ID.

*/ inline JobDetail& WithJobId(const char* value) { SetJobId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline const Aws::String& GetJobQueue() const{ return m_jobQueue; } /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; } /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); } /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); } /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline JobDetail& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline JobDetail& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the job queue that the job is associated * with.

*/ inline JobDetail& WithJobQueue(const char* value) { SetJobQueue(value); return *this;} /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline const JobStatus& GetStatus() const{ return m_status; } /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline JobDetail& WithStatus(const JobStatus& value) { SetStatus(value); return *this;} /** *

The current status for the job.

If your jobs don't progress to * STARTING, see Jobs * stuck in RUNNABLE status in the troubleshooting section of the Batch User * Guide.

*/ inline JobDetail& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The share identifier for the job.

*/ inline const Aws::String& GetShareIdentifier() const{ return m_shareIdentifier; } /** *

The share identifier for the job.

*/ inline bool ShareIdentifierHasBeenSet() const { return m_shareIdentifierHasBeenSet; } /** *

The share identifier for the job.

*/ inline void SetShareIdentifier(const Aws::String& value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier = value; } /** *

The share identifier for the job.

*/ inline void SetShareIdentifier(Aws::String&& value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier = std::move(value); } /** *

The share identifier for the job.

*/ inline void SetShareIdentifier(const char* value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier.assign(value); } /** *

The share identifier for the job.

*/ inline JobDetail& WithShareIdentifier(const Aws::String& value) { SetShareIdentifier(value); return *this;} /** *

The share identifier for the job.

*/ inline JobDetail& WithShareIdentifier(Aws::String&& value) { SetShareIdentifier(std::move(value)); return *this;} /** *

The share identifier for the job.

*/ inline JobDetail& WithShareIdentifier(const char* value) { SetShareIdentifier(value); return *this;} /** *

The scheduling policy 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 policy 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 policy 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 policy 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 JobDetail& WithSchedulingPriority(int value) { SetSchedulingPriority(value); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline const Aws::Vector& GetAttempts() const{ return m_attempts; } /** *

A list of job attempts that are associated with this job.

*/ inline bool AttemptsHasBeenSet() const { return m_attemptsHasBeenSet; } /** *

A list of job attempts that are associated with this job.

*/ inline void SetAttempts(const Aws::Vector& value) { m_attemptsHasBeenSet = true; m_attempts = value; } /** *

A list of job attempts that are associated with this job.

*/ inline void SetAttempts(Aws::Vector&& value) { m_attemptsHasBeenSet = true; m_attempts = std::move(value); } /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& WithAttempts(const Aws::Vector& value) { SetAttempts(value); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& WithAttempts(Aws::Vector&& value) { SetAttempts(std::move(value)); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& AddAttempts(const AttemptDetail& value) { m_attemptsHasBeenSet = true; m_attempts.push_back(value); return *this; } /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& AddAttempts(AttemptDetail&& value) { m_attemptsHasBeenSet = true; m_attempts.push_back(std::move(value)); return *this; } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline JobDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline JobDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

A short, human-readable string to provide more details for the current status * of the job.

*/ inline JobDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

The Unix timestamp (in milliseconds) for when the job was created. For * non-array jobs and parent array jobs, this is when the job entered the * SUBMITTED state. This is specifically at the time SubmitJob * was called. For array child jobs, this is when the child job was spawned by its * parent and entered the PENDING state.

*/ inline long long GetCreatedAt() const{ return m_createdAt; } /** *

The Unix timestamp (in milliseconds) for when the job was created. For * non-array jobs and parent array jobs, this is when the job entered the * SUBMITTED state. This is specifically at the time SubmitJob * was called. For array child jobs, this is when the child job was spawned by its * parent and entered the PENDING state.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The Unix timestamp (in milliseconds) for when the job was created. For * non-array jobs and parent array jobs, this is when the job entered the * SUBMITTED state. This is specifically at the time SubmitJob * was called. For array child jobs, this is when the child job was spawned by its * parent and entered the PENDING state.

*/ inline void SetCreatedAt(long long value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The Unix timestamp (in milliseconds) for when the job was created. For * non-array jobs and parent array jobs, this is when the job entered the * SUBMITTED state. This is specifically at the time SubmitJob * was called. For array child jobs, this is when the child job was spawned by its * parent and entered the PENDING state.

*/ inline JobDetail& WithCreatedAt(long long value) { SetCreatedAt(value); return *this;} /** *

The retry strategy to use for this job if an attempt fails.

*/ inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; } /** *

The retry strategy to use for this job if an attempt fails.

*/ inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; } /** *

The retry strategy to use for this job if an attempt fails.

*/ inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; } /** *

The retry strategy to use for this job if an attempt fails.

*/ inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); } /** *

The retry strategy to use for this job if an attempt fails.

*/ inline JobDetail& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;} /** *

The retry strategy to use for this job if an attempt fails.

*/ inline JobDetail& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;} /** *

The Unix timestamp (in milliseconds) for when the job was started. More * specifically, it's when the job transitioned from the STARTING * state to the RUNNING state. This parameter isn't provided for child * jobs of array jobs or multi-node parallel jobs.

*/ inline long long GetStartedAt() const{ return m_startedAt; } /** *

The Unix timestamp (in milliseconds) for when the job was started. More * specifically, it's when the job transitioned from the STARTING * state to the RUNNING state. This parameter isn't provided for child * jobs of array jobs or multi-node parallel jobs.

*/ inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } /** *

The Unix timestamp (in milliseconds) for when the job was started. More * specifically, it's when the job transitioned from the STARTING * state to the RUNNING state. This parameter isn't provided for child * jobs of array jobs or multi-node parallel jobs.

*/ inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; } /** *

The Unix timestamp (in milliseconds) for when the job was started. More * specifically, it's when the job transitioned from the STARTING * state to the RUNNING state. This parameter isn't provided for child * jobs of array jobs or multi-node parallel jobs.

*/ inline JobDetail& WithStartedAt(long long value) { SetStartedAt(value); return *this;} /** *

The Unix timestamp (in milliseconds) for when the job was stopped. More * specifically, it's when the job transitioned from the RUNNING state * to a terminal state, such as SUCCEEDED or FAILED.

*/ inline long long GetStoppedAt() const{ return m_stoppedAt; } /** *

The Unix timestamp (in milliseconds) for when the job was stopped. More * specifically, it's when the job transitioned from the RUNNING state * to a terminal state, such as SUCCEEDED or FAILED.

*/ inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; } /** *

The Unix timestamp (in milliseconds) for when the job was stopped. More * specifically, it's when the job transitioned from the RUNNING state * to a terminal state, such as SUCCEEDED or FAILED.

*/ inline void SetStoppedAt(long long value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; } /** *

The Unix timestamp (in milliseconds) for when the job was stopped. More * specifically, it's when the job transitioned from the RUNNING state * to a terminal state, such as SUCCEEDED or FAILED.

*/ inline JobDetail& WithStoppedAt(long long value) { SetStoppedAt(value); return *this;} /** *

A list of job IDs that this job depends on.

*/ inline const Aws::Vector& GetDependsOn() const{ return m_dependsOn; } /** *

A list of job IDs that this job depends on.

*/ inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; } /** *

A list of job IDs that this job depends on.

*/ inline void SetDependsOn(const Aws::Vector& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; } /** *

A list of job IDs that this job depends on.

*/ inline void SetDependsOn(Aws::Vector&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); } /** *

A list of job IDs that this job depends on.

*/ inline JobDetail& WithDependsOn(const Aws::Vector& value) { SetDependsOn(value); return *this;} /** *

A list of job IDs that this job depends on.

*/ inline JobDetail& WithDependsOn(Aws::Vector&& value) { SetDependsOn(std::move(value)); return *this;} /** *

A list of job IDs that this job depends on.

*/ inline JobDetail& AddDependsOn(const JobDependency& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; } /** *

A list of job IDs that this job depends on.

*/ inline JobDetail& AddDependsOn(JobDependency&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); } /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline JobDetail& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline JobDetail& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the job definition that this job uses.

*/ inline JobDetail& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;} /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

Additional parameters that are passed to the job that replace parameter * substitution placeholders or override any corresponding parameter defaults from * the job definition.

*/ inline JobDetail& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

An object that represents the details for the container that's associated * with the job.

*/ inline const ContainerDetail& GetContainer() const{ return m_container; } /** *

An object that represents the details for the container that's associated * with the job.

*/ inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; } /** *

An object that represents the details for the container that's associated * with the job.

*/ inline void SetContainer(const ContainerDetail& value) { m_containerHasBeenSet = true; m_container = value; } /** *

An object that represents the details for the container that's associated * with the job.

*/ inline void SetContainer(ContainerDetail&& value) { m_containerHasBeenSet = true; m_container = std::move(value); } /** *

An object that represents the details for the container that's associated * with the job.

*/ inline JobDetail& WithContainer(const ContainerDetail& value) { SetContainer(value); return *this;} /** *

An object that represents the details for the container that's associated * with the job.

*/ inline JobDetail& WithContainer(ContainerDetail&& value) { SetContainer(std::move(value)); return *this;} /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline const NodeDetails& GetNodeDetails() const{ return m_nodeDetails; } /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline bool NodeDetailsHasBeenSet() const { return m_nodeDetailsHasBeenSet; } /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline void SetNodeDetails(const NodeDetails& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = value; } /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline void SetNodeDetails(NodeDetails&& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = std::move(value); } /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline JobDetail& WithNodeDetails(const NodeDetails& value) { SetNodeDetails(value); return *this;} /** *

An object that represents the details of a node that's associated with a * multi-node parallel job.

*/ inline JobDetail& WithNodeDetails(NodeDetails&& value) { SetNodeDetails(std::move(value)); return *this;} /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline const NodeProperties& GetNodeProperties() const{ return m_nodeProperties; } /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; } /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline void SetNodeProperties(const NodeProperties& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; } /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline void SetNodeProperties(NodeProperties&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); } /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline JobDetail& WithNodeProperties(const NodeProperties& value) { SetNodeProperties(value); return *this;} /** *

An object that represents the node properties of a multi-node parallel * job.

This isn't applicable to jobs that are running on Fargate * resources.

*/ inline JobDetail& WithNodeProperties(NodeProperties&& value) { SetNodeProperties(std::move(value)); return *this;} /** *

The array properties of the job, if it's an array job.

*/ inline const ArrayPropertiesDetail& GetArrayProperties() const{ return m_arrayProperties; } /** *

The array properties of the job, if it's an array job.

*/ inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; } /** *

The array properties of the job, if it's an array job.

*/ inline void SetArrayProperties(const ArrayPropertiesDetail& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; } /** *

The array properties of the job, if it's an array job.

*/ inline void SetArrayProperties(ArrayPropertiesDetail&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); } /** *

The array properties of the job, if it's an array job.

*/ inline JobDetail& WithArrayProperties(const ArrayPropertiesDetail& value) { SetArrayProperties(value); return *this;} /** *

The array properties of the job, if it's an array job.

*/ inline JobDetail& WithArrayProperties(ArrayPropertiesDetail&& value) { SetArrayProperties(std::move(value)); return *this;} /** *

The timeout configuration for the job.

*/ inline const JobTimeout& GetTimeout() const{ return m_timeout; } /** *

The timeout configuration for the job.

*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *

The timeout configuration for the job.

*/ inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *

The timeout configuration for the job.

*/ inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); } /** *

The timeout configuration for the job.

*/ inline JobDetail& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;} /** *

The timeout configuration for the job.

*/ inline JobDetail& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;} /** *

The tags that are applied to the job.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags that are applied to the job.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags that are applied to the job.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags that are applied to the job.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags that are applied to the job.

*/ inline JobDetail& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags that are applied to the job.

*/ inline JobDetail& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags that are applied to the job.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline JobDetail& 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.

*/ inline bool GetPropagateTags() const{ return m_propagateTags; } /** *

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.

*/ inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; } /** *

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.

*/ inline void SetPropagateTags(bool value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; } /** *

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.

*/ inline JobDetail& WithPropagateTags(bool value) { SetPropagateTags(value); return *this;} /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline const Aws::Vector& GetPlatformCapabilities() const{ return m_platformCapabilities; } /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline bool PlatformCapabilitiesHasBeenSet() const { return m_platformCapabilitiesHasBeenSet; } /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline void SetPlatformCapabilities(const Aws::Vector& value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities = value; } /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline void SetPlatformCapabilities(Aws::Vector&& value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities = std::move(value); } /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline JobDetail& WithPlatformCapabilities(const Aws::Vector& value) { SetPlatformCapabilities(value); return *this;} /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline JobDetail& WithPlatformCapabilities(Aws::Vector&& value) { SetPlatformCapabilities(std::move(value)); return *this;} /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline JobDetail& AddPlatformCapabilities(const PlatformCapability& value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities.push_back(value); return *this; } /** *

The platform capabilities required by the job definition. If no value is * specified, it defaults to EC2. Jobs run on Fargate resources * specify FARGATE.

*/ inline JobDetail& AddPlatformCapabilities(PlatformCapability&& value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities.push_back(std::move(value)); return *this; } /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline const EksPropertiesDetail& GetEksProperties() const{ return m_eksProperties; } /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline bool EksPropertiesHasBeenSet() const { return m_eksPropertiesHasBeenSet; } /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline void SetEksProperties(const EksPropertiesDetail& value) { m_eksPropertiesHasBeenSet = true; m_eksProperties = value; } /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline void SetEksProperties(EksPropertiesDetail&& value) { m_eksPropertiesHasBeenSet = true; m_eksProperties = std::move(value); } /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline JobDetail& WithEksProperties(const EksPropertiesDetail& value) { SetEksProperties(value); return *this;} /** *

An object with various properties that are specific to Amazon EKS based jobs. * Only one of container, eksProperties, or * nodeDetails is specified.

*/ inline JobDetail& WithEksProperties(EksPropertiesDetail&& value) { SetEksProperties(std::move(value)); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline const Aws::Vector& GetEksAttempts() const{ return m_eksAttempts; } /** *

A list of job attempts that are associated with this job.

*/ inline bool EksAttemptsHasBeenSet() const { return m_eksAttemptsHasBeenSet; } /** *

A list of job attempts that are associated with this job.

*/ inline void SetEksAttempts(const Aws::Vector& value) { m_eksAttemptsHasBeenSet = true; m_eksAttempts = value; } /** *

A list of job attempts that are associated with this job.

*/ inline void SetEksAttempts(Aws::Vector&& value) { m_eksAttemptsHasBeenSet = true; m_eksAttempts = std::move(value); } /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& WithEksAttempts(const Aws::Vector& value) { SetEksAttempts(value); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& WithEksAttempts(Aws::Vector&& value) { SetEksAttempts(std::move(value)); return *this;} /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& AddEksAttempts(const EksAttemptDetail& value) { m_eksAttemptsHasBeenSet = true; m_eksAttempts.push_back(value); return *this; } /** *

A list of job attempts that are associated with this job.

*/ inline JobDetail& AddEksAttempts(EksAttemptDetail&& value) { m_eksAttemptsHasBeenSet = true; m_eksAttempts.push_back(std::move(value)); return *this; } /** *

Indicates whether the job is canceled.

*/ inline bool GetIsCancelled() const{ return m_isCancelled; } /** *

Indicates whether the job is canceled.

*/ inline bool IsCancelledHasBeenSet() const { return m_isCancelledHasBeenSet; } /** *

Indicates whether the job is canceled.

*/ inline void SetIsCancelled(bool value) { m_isCancelledHasBeenSet = true; m_isCancelled = value; } /** *

Indicates whether the job is canceled.

*/ inline JobDetail& WithIsCancelled(bool value) { SetIsCancelled(value); return *this;} /** *

Indicates whether the job is terminated.

*/ inline bool GetIsTerminated() const{ return m_isTerminated; } /** *

Indicates whether the job is terminated.

*/ inline bool IsTerminatedHasBeenSet() const { return m_isTerminatedHasBeenSet; } /** *

Indicates whether the job is terminated.

*/ inline void SetIsTerminated(bool value) { m_isTerminatedHasBeenSet = true; m_isTerminated = value; } /** *

Indicates whether the job is terminated.

*/ inline JobDetail& WithIsTerminated(bool value) { SetIsTerminated(value); return *this;} private: Aws::String m_jobArn; bool m_jobArnHasBeenSet = false; Aws::String m_jobName; bool m_jobNameHasBeenSet = false; Aws::String m_jobId; bool m_jobIdHasBeenSet = false; Aws::String m_jobQueue; bool m_jobQueueHasBeenSet = false; JobStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_shareIdentifier; bool m_shareIdentifierHasBeenSet = false; int m_schedulingPriority; bool m_schedulingPriorityHasBeenSet = false; Aws::Vector m_attempts; bool m_attemptsHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; long long m_createdAt; bool m_createdAtHasBeenSet = false; RetryStrategy m_retryStrategy; bool m_retryStrategyHasBeenSet = false; long long m_startedAt; bool m_startedAtHasBeenSet = false; long long m_stoppedAt; bool m_stoppedAtHasBeenSet = false; Aws::Vector m_dependsOn; bool m_dependsOnHasBeenSet = false; Aws::String m_jobDefinition; bool m_jobDefinitionHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; ContainerDetail m_container; bool m_containerHasBeenSet = false; NodeDetails m_nodeDetails; bool m_nodeDetailsHasBeenSet = false; NodeProperties m_nodeProperties; bool m_nodePropertiesHasBeenSet = false; ArrayPropertiesDetail m_arrayProperties; bool m_arrayPropertiesHasBeenSet = false; JobTimeout m_timeout; bool m_timeoutHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; bool m_propagateTags; bool m_propagateTagsHasBeenSet = false; Aws::Vector m_platformCapabilities; bool m_platformCapabilitiesHasBeenSet = false; EksPropertiesDetail m_eksProperties; bool m_eksPropertiesHasBeenSet = false; Aws::Vector m_eksAttempts; bool m_eksAttemptsHasBeenSet = false; bool m_isCancelled; bool m_isCancelledHasBeenSet = false; bool m_isTerminated; bool m_isTerminatedHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws