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

Job.

See Also:

AWS API * Reference

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

the ARN of the specific Job.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

the ARN of the specific Job.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

the ARN of the specific Job.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

the ARN of the specific Job.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

the ARN of the specific Job.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

the ARN of the specific Job.

*/ inline Job& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

the ARN of the specific Job.

*/ inline Job& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

the ARN of the specific Job.

*/ inline Job& WithArn(const char* value) { SetArn(value); return *this;} /** *

Job creation time.

*/ inline const Aws::String& GetCreationDateTime() const{ return m_creationDateTime; } /** *

Job creation time.

*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *

Job creation time.

*/ inline void SetCreationDateTime(const Aws::String& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *

Job creation time.

*/ inline void SetCreationDateTime(Aws::String&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *

Job creation time.

*/ inline void SetCreationDateTime(const char* value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime.assign(value); } /** *

Job creation time.

*/ inline Job& WithCreationDateTime(const Aws::String& value) { SetCreationDateTime(value); return *this;} /** *

Job creation time.

*/ inline Job& WithCreationDateTime(Aws::String&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *

Job creation time.

*/ inline Job& WithCreationDateTime(const char* value) { SetCreationDateTime(value); return *this;} /** *

Job end time.

*/ inline const Aws::String& GetEndDateTime() const{ return m_endDateTime; } /** *

Job end time.

*/ inline bool EndDateTimeHasBeenSet() const { return m_endDateTimeHasBeenSet; } /** *

Job end time.

*/ inline void SetEndDateTime(const Aws::String& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = value; } /** *

Job end time.

*/ inline void SetEndDateTime(Aws::String&& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = std::move(value); } /** *

Job end time.

*/ inline void SetEndDateTime(const char* value) { m_endDateTimeHasBeenSet = true; m_endDateTime.assign(value); } /** *

Job end time.

*/ inline Job& WithEndDateTime(const Aws::String& value) { SetEndDateTime(value); return *this;} /** *

Job end time.

*/ inline Job& WithEndDateTime(Aws::String&& value) { SetEndDateTime(std::move(value)); return *this;} /** *

Job end time.

*/ inline Job& WithEndDateTime(const char* value) { SetEndDateTime(value); return *this;} /** *

Job initiated by field.

*/ inline const InitiatedBy& GetInitiatedBy() const{ return m_initiatedBy; } /** *

Job initiated by field.

*/ inline bool InitiatedByHasBeenSet() const { return m_initiatedByHasBeenSet; } /** *

Job initiated by field.

*/ inline void SetInitiatedBy(const InitiatedBy& value) { m_initiatedByHasBeenSet = true; m_initiatedBy = value; } /** *

Job initiated by field.

*/ inline void SetInitiatedBy(InitiatedBy&& value) { m_initiatedByHasBeenSet = true; m_initiatedBy = std::move(value); } /** *

Job initiated by field.

*/ inline Job& WithInitiatedBy(const InitiatedBy& value) { SetInitiatedBy(value); return *this;} /** *

Job initiated by field.

*/ inline Job& WithInitiatedBy(InitiatedBy&& value) { SetInitiatedBy(std::move(value)); return *this;} /** *

Job ID.

*/ inline const Aws::String& GetJobID() const{ return m_jobID; } /** *

Job ID.

*/ inline bool JobIDHasBeenSet() const { return m_jobIDHasBeenSet; } /** *

Job ID.

*/ inline void SetJobID(const Aws::String& value) { m_jobIDHasBeenSet = true; m_jobID = value; } /** *

Job ID.

*/ inline void SetJobID(Aws::String&& value) { m_jobIDHasBeenSet = true; m_jobID = std::move(value); } /** *

Job ID.

*/ inline void SetJobID(const char* value) { m_jobIDHasBeenSet = true; m_jobID.assign(value); } /** *

Job ID.

*/ inline Job& WithJobID(const Aws::String& value) { SetJobID(value); return *this;} /** *

Job ID.

*/ inline Job& WithJobID(Aws::String&& value) { SetJobID(std::move(value)); return *this;} /** *

Job ID.

*/ inline Job& WithJobID(const char* value) { SetJobID(value); return *this;} /** *

Servers participating in a specific Job.

*/ inline const Aws::Vector& GetParticipatingServers() const{ return m_participatingServers; } /** *

Servers participating in a specific Job.

*/ inline bool ParticipatingServersHasBeenSet() const { return m_participatingServersHasBeenSet; } /** *

Servers participating in a specific Job.

*/ inline void SetParticipatingServers(const Aws::Vector& value) { m_participatingServersHasBeenSet = true; m_participatingServers = value; } /** *

Servers participating in a specific Job.

*/ inline void SetParticipatingServers(Aws::Vector&& value) { m_participatingServersHasBeenSet = true; m_participatingServers = std::move(value); } /** *

Servers participating in a specific Job.

*/ inline Job& WithParticipatingServers(const Aws::Vector& value) { SetParticipatingServers(value); return *this;} /** *

Servers participating in a specific Job.

*/ inline Job& WithParticipatingServers(Aws::Vector&& value) { SetParticipatingServers(std::move(value)); return *this;} /** *

Servers participating in a specific Job.

*/ inline Job& AddParticipatingServers(const ParticipatingServer& value) { m_participatingServersHasBeenSet = true; m_participatingServers.push_back(value); return *this; } /** *

Servers participating in a specific Job.

*/ inline Job& AddParticipatingServers(ParticipatingServer&& value) { m_participatingServersHasBeenSet = true; m_participatingServers.push_back(std::move(value)); return *this; } /** *

Job status.

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

Job status.

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

Job status.

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

Job status.

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

Job status.

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

Job status.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

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

Tags associated with specific Job.

*/ inline Job& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Tags associated with specific Job.

*/ inline Job& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Job type.

*/ inline const JobType& GetType() const{ return m_type; } /** *

Job type.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Job type.

*/ inline void SetType(const JobType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Job type.

*/ inline void SetType(JobType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Job type.

*/ inline Job& WithType(const JobType& value) { SetType(value); return *this;} /** *

Job type.

*/ 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 m_participatingServers; bool m_participatingServersHasBeenSet = false; JobStatus m_status; bool m_statusHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; JobType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws