/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace mgn { namespace Model { class Wave { public: AWS_MGN_API Wave(); AWS_MGN_API Wave(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API Wave& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave ARN.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave creation dateTime.

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

Wave description.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Wave description.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Wave description.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Wave description.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Wave description.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Wave description.

*/ inline Wave& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Wave description.

*/ inline Wave& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Wave description.

*/ inline Wave& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Wave archival status.

*/ inline bool GetIsArchived() const{ return m_isArchived; } /** *

Wave archival status.

*/ inline bool IsArchivedHasBeenSet() const { return m_isArchivedHasBeenSet; } /** *

Wave archival status.

*/ inline void SetIsArchived(bool value) { m_isArchivedHasBeenSet = true; m_isArchived = value; } /** *

Wave archival status.

*/ inline Wave& WithIsArchived(bool value) { SetIsArchived(value); return *this;} /** *

Wave last modified dateTime.

*/ inline const Aws::String& GetLastModifiedDateTime() const{ return m_lastModifiedDateTime; } /** *

Wave last modified dateTime.

*/ inline bool LastModifiedDateTimeHasBeenSet() const { return m_lastModifiedDateTimeHasBeenSet; } /** *

Wave last modified dateTime.

*/ inline void SetLastModifiedDateTime(const Aws::String& value) { m_lastModifiedDateTimeHasBeenSet = true; m_lastModifiedDateTime = value; } /** *

Wave last modified dateTime.

*/ inline void SetLastModifiedDateTime(Aws::String&& value) { m_lastModifiedDateTimeHasBeenSet = true; m_lastModifiedDateTime = std::move(value); } /** *

Wave last modified dateTime.

*/ inline void SetLastModifiedDateTime(const char* value) { m_lastModifiedDateTimeHasBeenSet = true; m_lastModifiedDateTime.assign(value); } /** *

Wave last modified dateTime.

*/ inline Wave& WithLastModifiedDateTime(const Aws::String& value) { SetLastModifiedDateTime(value); return *this;} /** *

Wave last modified dateTime.

*/ inline Wave& WithLastModifiedDateTime(Aws::String&& value) { SetLastModifiedDateTime(std::move(value)); return *this;} /** *

Wave last modified dateTime.

*/ inline Wave& WithLastModifiedDateTime(const char* value) { SetLastModifiedDateTime(value); return *this;} /** *

Wave name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Wave name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Wave name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Wave name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Wave name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Wave name.

*/ inline Wave& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Wave name.

*/ inline Wave& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Wave name.

*/ inline Wave& WithName(const char* value) { SetName(value); return *this;} /** *

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave tags.

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

Wave aggregated status.

*/ inline const WaveAggregatedStatus& GetWaveAggregatedStatus() const{ return m_waveAggregatedStatus; } /** *

Wave aggregated status.

*/ inline bool WaveAggregatedStatusHasBeenSet() const { return m_waveAggregatedStatusHasBeenSet; } /** *

Wave aggregated status.

*/ inline void SetWaveAggregatedStatus(const WaveAggregatedStatus& value) { m_waveAggregatedStatusHasBeenSet = true; m_waveAggregatedStatus = value; } /** *

Wave aggregated status.

*/ inline void SetWaveAggregatedStatus(WaveAggregatedStatus&& value) { m_waveAggregatedStatusHasBeenSet = true; m_waveAggregatedStatus = std::move(value); } /** *

Wave aggregated status.

*/ inline Wave& WithWaveAggregatedStatus(const WaveAggregatedStatus& value) { SetWaveAggregatedStatus(value); return *this;} /** *

Wave aggregated status.

*/ inline Wave& WithWaveAggregatedStatus(WaveAggregatedStatus&& value) { SetWaveAggregatedStatus(std::move(value)); return *this;} /** *

Wave ID.

*/ inline const Aws::String& GetWaveID() const{ return m_waveID; } /** *

Wave ID.

*/ inline bool WaveIDHasBeenSet() const { return m_waveIDHasBeenSet; } /** *

Wave ID.

*/ inline void SetWaveID(const Aws::String& value) { m_waveIDHasBeenSet = true; m_waveID = value; } /** *

Wave ID.

*/ inline void SetWaveID(Aws::String&& value) { m_waveIDHasBeenSet = true; m_waveID = std::move(value); } /** *

Wave ID.

*/ inline void SetWaveID(const char* value) { m_waveIDHasBeenSet = true; m_waveID.assign(value); } /** *

Wave ID.

*/ inline Wave& WithWaveID(const Aws::String& value) { SetWaveID(value); return *this;} /** *

Wave ID.

*/ inline Wave& WithWaveID(Aws::String&& value) { SetWaveID(std::move(value)); return *this;} /** *

Wave ID.

*/ inline Wave& WithWaveID(const char* value) { SetWaveID(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } inline Wave& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline Wave& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline Wave& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_isArchived; bool m_isArchivedHasBeenSet = false; Aws::String m_lastModifiedDateTime; bool m_lastModifiedDateTimeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; WaveAggregatedStatus m_waveAggregatedStatus; bool m_waveAggregatedStatusHasBeenSet = false; Aws::String m_waveID; bool m_waveIDHasBeenSet = false; Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws