/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DirectoryService { namespace Model { /** *

An entry of update information related to a requested update type. *

See Also:

AWS * API Reference

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

The name of the Region.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The name of the Region.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The name of the Region.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The name of the Region.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The name of the Region.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The name of the Region.

*/ inline UpdateInfoEntry& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The name of the Region.

*/ inline UpdateInfoEntry& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The name of the Region.

*/ inline UpdateInfoEntry& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The status of the update performed on the directory.

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

The status of the update performed on the directory.

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

The status of the update performed on the directory.

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

The status of the update performed on the directory.

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

The status of the update performed on the directory.

*/ inline UpdateInfoEntry& WithStatus(const UpdateStatus& value) { SetStatus(value); return *this;} /** *

The status of the update performed on the directory.

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

The reason for the current status of the update type activity.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

The reason for the current status of the update type activity.

*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *

The reason for the current status of the update type activity.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *

The reason for the current status of the update type activity.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *

The reason for the current status of the update type activity.

*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *

The reason for the current status of the update type activity.

*/ inline UpdateInfoEntry& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

The reason for the current status of the update type activity.

*/ inline UpdateInfoEntry& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

The reason for the current status of the update type activity.

*/ inline UpdateInfoEntry& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

This specifies if the update was initiated by the customer or by the service * team.

*/ inline const Aws::String& GetInitiatedBy() const{ return m_initiatedBy; } /** *

This specifies if the update was initiated by the customer or by the service * team.

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

This specifies if the update was initiated by the customer or by the service * team.

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

This specifies if the update was initiated by the customer or by the service * team.

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

This specifies if the update was initiated by the customer or by the service * team.

*/ inline void SetInitiatedBy(const char* value) { m_initiatedByHasBeenSet = true; m_initiatedBy.assign(value); } /** *

This specifies if the update was initiated by the customer or by the service * team.

*/ inline UpdateInfoEntry& WithInitiatedBy(const Aws::String& value) { SetInitiatedBy(value); return *this;} /** *

This specifies if the update was initiated by the customer or by the service * team.

*/ inline UpdateInfoEntry& WithInitiatedBy(Aws::String&& value) { SetInitiatedBy(std::move(value)); return *this;} /** *

This specifies if the update was initiated by the customer or by the service * team.

*/ inline UpdateInfoEntry& WithInitiatedBy(const char* value) { SetInitiatedBy(value); return *this;} /** *

The new value of the target setting.

*/ inline const UpdateValue& GetNewValue() const{ return m_newValue; } /** *

The new value of the target setting.

*/ inline bool NewValueHasBeenSet() const { return m_newValueHasBeenSet; } /** *

The new value of the target setting.

*/ inline void SetNewValue(const UpdateValue& value) { m_newValueHasBeenSet = true; m_newValue = value; } /** *

The new value of the target setting.

*/ inline void SetNewValue(UpdateValue&& value) { m_newValueHasBeenSet = true; m_newValue = std::move(value); } /** *

The new value of the target setting.

*/ inline UpdateInfoEntry& WithNewValue(const UpdateValue& value) { SetNewValue(value); return *this;} /** *

The new value of the target setting.

*/ inline UpdateInfoEntry& WithNewValue(UpdateValue&& value) { SetNewValue(std::move(value)); return *this;} /** *

The old value of the target setting.

*/ inline const UpdateValue& GetPreviousValue() const{ return m_previousValue; } /** *

The old value of the target setting.

*/ inline bool PreviousValueHasBeenSet() const { return m_previousValueHasBeenSet; } /** *

The old value of the target setting.

*/ inline void SetPreviousValue(const UpdateValue& value) { m_previousValueHasBeenSet = true; m_previousValue = value; } /** *

The old value of the target setting.

*/ inline void SetPreviousValue(UpdateValue&& value) { m_previousValueHasBeenSet = true; m_previousValue = std::move(value); } /** *

The old value of the target setting.

*/ inline UpdateInfoEntry& WithPreviousValue(const UpdateValue& value) { SetPreviousValue(value); return *this;} /** *

The old value of the target setting.

*/ inline UpdateInfoEntry& WithPreviousValue(UpdateValue&& value) { SetPreviousValue(std::move(value)); return *this;} /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline UpdateInfoEntry& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The start time of the UpdateDirectorySetup for the particular * type.

*/ inline UpdateInfoEntry& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The last updated date and time of a particular directory setting.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The last updated date and time of a particular directory setting.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The last updated date and time of a particular directory setting.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The last updated date and time of a particular directory setting.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The last updated date and time of a particular directory setting.

*/ inline UpdateInfoEntry& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The last updated date and time of a particular directory setting.

*/ inline UpdateInfoEntry& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} private: Aws::String m_region; bool m_regionHasBeenSet = false; UpdateStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; Aws::String m_initiatedBy; bool m_initiatedByHasBeenSet = false; UpdateValue m_newValue; bool m_newValueHasBeenSet = false; UpdateValue m_previousValue; bool m_previousValueHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws