/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object representing an AWS Batch job.See Also:
AWS API
* Reference
The name of the job.
*/ inline const Aws::String& GetJobName() const{ return m_jobName; } /** *The name of the job.
*/ inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } /** *The name of the job.
*/ inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; } /** *The name of the job.
*/ inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); } /** *The name of the job.
*/ inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); } /** *The name of the job.
*/ inline JobDetail& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *The name of the job.
*/ inline JobDetail& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;} /** *The name of the job.
*/ inline JobDetail& WithJobName(const char* value) { SetJobName(value); return *this;} /** *The ID for the job.
*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *The ID for the job.
*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *The ID for the job.
*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *The ID for the job.
*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *The ID for the job.
*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *The ID for the job.
*/ inline JobDetail& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *The ID for the job.
*/ inline JobDetail& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *The ID for the job.
*/ inline JobDetail& WithJobId(const char* value) { SetJobId(value); return *this;} /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline const Aws::String& GetJobQueue() const{ return m_jobQueue; } /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; } /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; } /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); } /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); } /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline JobDetail& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;} /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline JobDetail& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the job queue with which the job is * associated.
*/ inline JobDetail& WithJobQueue(const char* value) { SetJobQueue(value); return *this;} /** *The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
The current status for the job.
If your jobs do not progress to
* STARTING, see Jobs
* Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch
* User Guide.
A list of job attempts associated with this job.
*/ inline const Aws::VectorA list of job attempts associated with this job.
*/ inline bool AttemptsHasBeenSet() const { return m_attemptsHasBeenSet; } /** *A list of job attempts associated with this job.
*/ inline void SetAttempts(const Aws::VectorA list of job attempts associated with this job.
*/ inline void SetAttempts(Aws::VectorA list of job attempts associated with this job.
*/ inline JobDetail& WithAttempts(const Aws::VectorA list of job attempts associated with this job.
*/ inline JobDetail& WithAttempts(Aws::VectorA list of job attempts 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 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 additional details about the * current status of the job.
*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *A short, human-readable string to provide additional details about the * current status of the job.
*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *A short, human-readable string to provide additional details about 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 additional details about 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 additional details about 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 additional details about the * current status of the job.
*/ inline JobDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *A short, human-readable string to provide additional details about 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 additional details about the * current status of the job.
*/ inline JobDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the SUBMITTED state (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.
The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the SUBMITTED state (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.
The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the SUBMITTED state (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.
The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the SUBMITTED state (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.
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 seconds and milliseconds) for when the job was started
* (when the job transitioned from the STARTING state to the
* RUNNING state).
The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the STARTING state to the
* RUNNING state).
The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the STARTING state to the
* RUNNING state).
The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the STARTING state to the
* RUNNING state).
The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the RUNNING state to a terminal
* state, such as SUCCEEDED or FAILED).
The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the RUNNING state to a terminal
* state, such as SUCCEEDED or FAILED).
The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the RUNNING state to a terminal
* state, such as SUCCEEDED or FAILED).
The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the RUNNING state to a terminal
* state, such as SUCCEEDED or FAILED).
A list of job IDs on which this job depends.
*/ inline const Aws::VectorA list of job IDs on which this job depends.
*/ inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; } /** *A list of job IDs on which this job depends.
*/ inline void SetDependsOn(const Aws::VectorA list of job IDs on which this job depends.
*/ inline void SetDependsOn(Aws::VectorA list of job IDs on which this job depends.
*/ inline JobDetail& WithDependsOn(const Aws::VectorA list of job IDs on which this job depends.
*/ inline JobDetail& WithDependsOn(Aws::VectorA list of job IDs on which this job depends.
*/ inline JobDetail& AddDependsOn(const JobDependency& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; } /** *A list of job IDs on which this job depends.
*/ inline JobDetail& AddDependsOn(JobDependency&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; } /** *The job definition that is used by this job.
*/ inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; } /** *The job definition that is used by this job.
*/ inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; } /** *The job definition that is used by this job.
*/ inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; } /** *The job definition that is used by this job.
*/ inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); } /** *The job definition that is used by this job.
*/ inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); } /** *The job definition that is used by this job.
*/ inline JobDetail& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;} /** *The job definition that is used by this job.
*/ inline JobDetail& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;} /** *The job definition that is used by this job.
*/ inline JobDetail& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;} /** *Additional parameters passed to the job that replace parameter substitution * placeholders or override any corresponding parameter defaults from the job * definition.
*/ inline const Aws::MapAdditional parameters 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 passed to the job that replace parameter substitution * placeholders or override any corresponding parameter defaults from the job * definition.
*/ inline void SetParameters(const Aws::MapAdditional parameters passed to the job that replace parameter substitution * placeholders or override any corresponding parameter defaults from the job * definition.
*/ inline void SetParameters(Aws::MapAdditional parameters passed to the job that replace parameter substitution * placeholders or override any corresponding parameter defaults from the job * definition.
*/ inline JobDetail& WithParameters(const Aws::MapAdditional parameters passed to the job that replace parameter substitution * placeholders or override any corresponding parameter defaults from the job * definition.
*/ inline JobDetail& WithParameters(Aws::MapAdditional parameters 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 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 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 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 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 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 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 representing the details of the container that is associated with * the job.
*/ inline const ContainerDetail& GetContainer() const{ return m_container; } /** *An object representing the details of the container that is associated with * the job.
*/ inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; } /** *An object representing the details of the container that is associated with * the job.
*/ inline void SetContainer(const ContainerDetail& value) { m_containerHasBeenSet = true; m_container = value; } /** *An object representing the details of the container that is associated with * the job.
*/ inline void SetContainer(ContainerDetail&& value) { m_containerHasBeenSet = true; m_container = std::move(value); } /** *An object representing the details of the container that is associated with * the job.
*/ inline JobDetail& WithContainer(const ContainerDetail& value) { SetContainer(value); return *this;} /** *An object representing the details of the container that is associated with * the job.
*/ inline JobDetail& WithContainer(ContainerDetail&& value) { SetContainer(std::move(value)); return *this;} /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline const NodeDetails& GetNodeDetails() const{ return m_nodeDetails; } /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline bool NodeDetailsHasBeenSet() const { return m_nodeDetailsHasBeenSet; } /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline void SetNodeDetails(const NodeDetails& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = value; } /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline void SetNodeDetails(NodeDetails&& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = std::move(value); } /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline JobDetail& WithNodeDetails(const NodeDetails& value) { SetNodeDetails(value); return *this;} /** *An object representing the details of a node that is associated with a * multi-node parallel job.
*/ inline JobDetail& WithNodeDetails(NodeDetails&& value) { SetNodeDetails(std::move(value)); return *this;} /** *An object representing the node properties of a multi-node parallel job.
*/ inline const NodeProperties& GetNodeProperties() const{ return m_nodeProperties; } /** *An object representing the node properties of a multi-node parallel job.
*/ inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; } /** *An object representing the node properties of a multi-node parallel job.
*/ inline void SetNodeProperties(const NodeProperties& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; } /** *An object representing the node properties of a multi-node parallel job.
*/ inline void SetNodeProperties(NodeProperties&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); } /** *An object representing the node properties of a multi-node parallel job.
*/ inline JobDetail& WithNodeProperties(const NodeProperties& value) { SetNodeProperties(value); return *this;} /** *An object representing the node properties of a multi-node parallel job.
*/ inline JobDetail& WithNodeProperties(NodeProperties&& value) { SetNodeProperties(std::move(value)); return *this;} /** *The array properties of the job, if it is an array job.
*/ inline const ArrayPropertiesDetail& GetArrayProperties() const{ return m_arrayProperties; } /** *The array properties of the job, if it is an array job.
*/ inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; } /** *The array properties of the job, if it is an array job.
*/ inline void SetArrayProperties(const ArrayPropertiesDetail& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; } /** *The array properties of the job, if it is an array job.
*/ inline void SetArrayProperties(ArrayPropertiesDetail&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); } /** *The array properties of the job, if it is an array job.
*/ inline JobDetail& WithArrayProperties(const ArrayPropertiesDetail& value) { SetArrayProperties(value); return *this;} /** *The array properties of the job, if it is 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;} private: Aws::String m_jobName; bool m_jobNameHasBeenSet; Aws::String m_jobId; bool m_jobIdHasBeenSet; Aws::String m_jobQueue; bool m_jobQueueHasBeenSet; JobStatus m_status; bool m_statusHasBeenSet; Aws::Vector