/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

An object that represents summary details of a job.

See Also:

* AWS * API Reference

*/ class JobSummary { public: AWS_BATCH_API JobSummary(); AWS_BATCH_API JobSummary(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API JobSummary& 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 JobSummary& WithJobArn(const Aws::String& value) { SetJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

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

The Amazon Resource Name (ARN) of the job.

*/ inline JobSummary& WithJobArn(const char* value) { SetJobArn(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 JobSummary& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *

The job ID.

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

The job ID.

*/ inline JobSummary& WithJobId(const char* value) { SetJobId(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 JobSummary& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *

The job name.

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

The job name.

*/ inline JobSummary& WithJobName(const char* value) { SetJobName(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 (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 (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 (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 (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 JobSummary& WithCreatedAt(long long value) { SetCreatedAt(value); return *this;} /** *

The current status for the job.

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

The current status for the job.

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

The current status for the job.

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

The current status for the job.

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

The current status for the job.

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

The current status for the job.

*/ inline JobSummary& WithStatus(JobStatus&& value) { SetStatus(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 JobSummary& 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 JobSummary& 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 JobSummary& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

The Unix timestamp for when the job was started. More specifically, it's when * the job transitioned from the STARTING state to the * RUNNING state.

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

The Unix timestamp for when the job was started. More specifically, it's when * the job transitioned from the STARTING state to the * RUNNING state.

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

The Unix timestamp for when the job was started. More specifically, it's when * the job transitioned from the STARTING state to the * RUNNING state.

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

The Unix timestamp for when the job was started. More specifically, it's when * the job transitioned from the STARTING state to the * RUNNING state.

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

The Unix timestamp 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 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 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 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 JobSummary& WithStoppedAt(long long value) { SetStoppedAt(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

*/ inline JobSummary& WithContainer(const ContainerSummary& value) { SetContainer(value); return *this;} /** *

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

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

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

*/ inline const ArrayPropertiesSummary& 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 ArrayPropertiesSummary& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; } /** *

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

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

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

*/ inline JobSummary& WithArrayProperties(const ArrayPropertiesSummary& value) { SetArrayProperties(value); return *this;} /** *

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

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

The node properties for a single node in a job summary list.

*

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

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

The node properties for a single node in a job summary list.

*

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

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

The node properties for a single node in a job summary list.

*

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

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

The node properties for a single node in a job summary list.

*

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

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

The node properties for a single node in a job summary list.

*

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

* */ inline JobSummary& WithNodeProperties(const NodePropertiesSummary& value) { SetNodeProperties(value); return *this;} /** *

The node properties for a single node in a job summary list.

*

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline JobSummary& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;} private: Aws::String m_jobArn; bool m_jobArnHasBeenSet = false; Aws::String m_jobId; bool m_jobIdHasBeenSet = false; Aws::String m_jobName; bool m_jobNameHasBeenSet = false; long long m_createdAt; bool m_createdAtHasBeenSet = false; JobStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; long long m_startedAt; bool m_startedAtHasBeenSet = false; long long m_stoppedAt; bool m_stoppedAtHasBeenSet = false; ContainerSummary m_container; bool m_containerHasBeenSet = false; ArrayPropertiesSummary m_arrayProperties; bool m_arrayPropertiesHasBeenSet = false; NodePropertiesSummary m_nodeProperties; bool m_nodePropertiesHasBeenSet = false; Aws::String m_jobDefinition; bool m_jobDefinitionHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws