/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A job is an asynchronous workflow.See Also:
AWS API
* Reference
The ARN of a Job.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The ARN of a Job.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The ARN of a Job.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The ARN of a Job.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The ARN of a Job.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The ARN of a Job.
*/ inline Job& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The ARN of a Job.
*/ inline Job& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The ARN of a Job.
*/ inline Job& WithArn(const char* value) { SetArn(value); return *this;} /** *The date and time of when the Job was created.
*/ inline const Aws::String& GetCreationDateTime() const{ return m_creationDateTime; } /** *The date and time of when the Job was created.
*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *The date and time of when the Job was created.
*/ inline void SetCreationDateTime(const Aws::String& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *The date and time of when the Job was created.
*/ inline void SetCreationDateTime(Aws::String&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *The date and time of when the Job was created.
*/ inline void SetCreationDateTime(const char* value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime.assign(value); } /** *The date and time of when the Job was created.
*/ inline Job& WithCreationDateTime(const Aws::String& value) { SetCreationDateTime(value); return *this;} /** *The date and time of when the Job was created.
*/ inline Job& WithCreationDateTime(Aws::String&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *The date and time of when the Job was created.
*/ inline Job& WithCreationDateTime(const char* value) { SetCreationDateTime(value); return *this;} /** *The date and time of when the Job ended.
*/ inline const Aws::String& GetEndDateTime() const{ return m_endDateTime; } /** *The date and time of when the Job ended.
*/ inline bool EndDateTimeHasBeenSet() const { return m_endDateTimeHasBeenSet; } /** *The date and time of when the Job ended.
*/ inline void SetEndDateTime(const Aws::String& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = value; } /** *The date and time of when the Job ended.
*/ inline void SetEndDateTime(Aws::String&& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = std::move(value); } /** *The date and time of when the Job ended.
*/ inline void SetEndDateTime(const char* value) { m_endDateTimeHasBeenSet = true; m_endDateTime.assign(value); } /** *The date and time of when the Job ended.
*/ inline Job& WithEndDateTime(const Aws::String& value) { SetEndDateTime(value); return *this;} /** *The date and time of when the Job ended.
*/ inline Job& WithEndDateTime(Aws::String&& value) { SetEndDateTime(std::move(value)); return *this;} /** *The date and time of when the Job ended.
*/ inline Job& WithEndDateTime(const char* value) { SetEndDateTime(value); return *this;} /** *A string representing who initiated the Job.
*/ inline const InitiatedBy& GetInitiatedBy() const{ return m_initiatedBy; } /** *A string representing who initiated the Job.
*/ inline bool InitiatedByHasBeenSet() const { return m_initiatedByHasBeenSet; } /** *A string representing who initiated the Job.
*/ inline void SetInitiatedBy(const InitiatedBy& value) { m_initiatedByHasBeenSet = true; m_initiatedBy = value; } /** *A string representing who initiated the Job.
*/ inline void SetInitiatedBy(InitiatedBy&& value) { m_initiatedByHasBeenSet = true; m_initiatedBy = std::move(value); } /** *A string representing who initiated the Job.
*/ inline Job& WithInitiatedBy(const InitiatedBy& value) { SetInitiatedBy(value); return *this;} /** *A string representing who initiated the Job.
*/ inline Job& WithInitiatedBy(InitiatedBy&& value) { SetInitiatedBy(std::move(value)); return *this;} /** *The ID of the Job.
*/ inline const Aws::String& GetJobID() const{ return m_jobID; } /** *The ID of the Job.
*/ inline bool JobIDHasBeenSet() const { return m_jobIDHasBeenSet; } /** *The ID of the Job.
*/ inline void SetJobID(const Aws::String& value) { m_jobIDHasBeenSet = true; m_jobID = value; } /** *The ID of the Job.
*/ inline void SetJobID(Aws::String&& value) { m_jobIDHasBeenSet = true; m_jobID = std::move(value); } /** *The ID of the Job.
*/ inline void SetJobID(const char* value) { m_jobIDHasBeenSet = true; m_jobID.assign(value); } /** *The ID of the Job.
*/ inline Job& WithJobID(const Aws::String& value) { SetJobID(value); return *this;} /** *The ID of the Job.
*/ inline Job& WithJobID(Aws::String&& value) { SetJobID(std::move(value)); return *this;} /** *The ID of the Job.
*/ inline Job& WithJobID(const char* value) { SetJobID(value); return *this;} /** *A list of resources that the Job is acting upon.
*/ inline const Aws::VectorA list of resources that the Job is acting upon.
*/ inline bool ParticipatingResourcesHasBeenSet() const { return m_participatingResourcesHasBeenSet; } /** *A list of resources that the Job is acting upon.
*/ inline void SetParticipatingResources(const Aws::VectorA list of resources that the Job is acting upon.
*/ inline void SetParticipatingResources(Aws::VectorA list of resources that the Job is acting upon.
*/ inline Job& WithParticipatingResources(const Aws::VectorA list of resources that the Job is acting upon.
*/ inline Job& WithParticipatingResources(Aws::VectorA list of resources that the Job is acting upon.
*/ inline Job& AddParticipatingResources(const ParticipatingResource& value) { m_participatingResourcesHasBeenSet = true; m_participatingResources.push_back(value); return *this; } /** *A list of resources that the Job is acting upon.
*/ inline Job& AddParticipatingResources(ParticipatingResource&& value) { m_participatingResourcesHasBeenSet = true; m_participatingResources.push_back(std::move(value)); return *this; } /** *A list of servers that the Job is acting upon.
*/ inline const Aws::VectorA list of servers that the Job is acting upon.
*/ inline bool ParticipatingServersHasBeenSet() const { return m_participatingServersHasBeenSet; } /** *A list of servers that the Job is acting upon.
*/ inline void SetParticipatingServers(const Aws::VectorA list of servers that the Job is acting upon.
*/ inline void SetParticipatingServers(Aws::VectorA list of servers that the Job is acting upon.
*/ inline Job& WithParticipatingServers(const Aws::VectorA list of servers that the Job is acting upon.
*/ inline Job& WithParticipatingServers(Aws::VectorA list of servers that the Job is acting upon.
*/ inline Job& AddParticipatingServers(const ParticipatingServer& value) { m_participatingServersHasBeenSet = true; m_participatingServers.push_back(value); return *this; } /** *A list of servers that the Job is acting upon.
*/ inline Job& AddParticipatingServers(ParticipatingServer&& value) { m_participatingServersHasBeenSet = true; m_participatingServers.push_back(std::move(value)); return *this; } /** *The status of the Job.
*/ inline const JobStatus& GetStatus() const{ return m_status; } /** *The status of the Job.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the Job.
*/ inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the Job.
*/ inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the Job.
*/ inline Job& WithStatus(const JobStatus& value) { SetStatus(value); return *this;} /** *The status of the Job.
*/ inline Job& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;} /** *A list of tags associated with the Job.
*/ inline const Aws::MapA list of tags associated with the Job.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *A list of tags associated with the Job.
*/ inline void SetTags(const Aws::MapA list of tags associated with the Job.
*/ inline void SetTags(Aws::MapA list of tags associated with the Job.
*/ inline Job& WithTags(const Aws::MapA list of tags associated with the Job.
*/ inline Job& WithTags(Aws::MapA list of tags associated with the Job.
*/ inline Job& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *A list of tags associated with the Job.
*/ inline Job& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The type of the Job.
*/ inline const JobType& GetType() const{ return m_type; } /** *The type of the Job.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of the Job.
*/ inline void SetType(const JobType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of the Job.
*/ inline void SetType(JobType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of the Job.
*/ inline Job& WithType(const JobType& value) { SetType(value); return *this;} /** *The type of the Job.
*/ inline Job& WithType(JobType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; Aws::String m_endDateTime; bool m_endDateTimeHasBeenSet = false; InitiatedBy m_initiatedBy; bool m_initiatedByHasBeenSet = false; Aws::String m_jobID; bool m_jobIDHasBeenSet = false; Aws::Vector