/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes fast snapshot restores for a snapshot.

See Also:

* AWS * API Reference

*/ class DescribeFastSnapshotRestoreSuccessItem { public: AWS_EC2_API DescribeFastSnapshotRestoreSuccessItem(); AWS_EC2_API DescribeFastSnapshotRestoreSuccessItem(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API DescribeFastSnapshotRestoreSuccessItem& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the snapshot.

*/ inline const Aws::String& GetSnapshotId() const{ return m_snapshotId; } /** *

The ID of the snapshot.

*/ inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; } /** *

The ID of the snapshot.

*/ inline void SetSnapshotId(const Aws::String& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = value; } /** *

The ID of the snapshot.

*/ inline void SetSnapshotId(Aws::String&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::move(value); } /** *

The ID of the snapshot.

*/ inline void SetSnapshotId(const char* value) { m_snapshotIdHasBeenSet = true; m_snapshotId.assign(value); } /** *

The ID of the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithSnapshotId(const Aws::String& value) { SetSnapshotId(value); return *this;} /** *

The ID of the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithSnapshotId(Aws::String&& value) { SetSnapshotId(std::move(value)); return *this;} /** *

The ID of the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithSnapshotId(const char* value) { SetSnapshotId(value); return *this;} /** *

The Availability Zone.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The state of fast snapshot restores.

*/ inline const FastSnapshotRestoreStateCode& GetState() const{ return m_state; } /** *

The state of fast snapshot restores.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of fast snapshot restores.

*/ inline void SetState(const FastSnapshotRestoreStateCode& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of fast snapshot restores.

*/ inline void SetState(FastSnapshotRestoreStateCode&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of fast snapshot restores.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithState(const FastSnapshotRestoreStateCode& value) { SetState(value); return *this;} /** *

The state of fast snapshot restores.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithState(FastSnapshotRestoreStateCode&& value) { SetState(std::move(value)); return *this;} /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline const Aws::String& GetStateTransitionReason() const{ return m_stateTransitionReason; } /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline bool StateTransitionReasonHasBeenSet() const { return m_stateTransitionReasonHasBeenSet; } /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline void SetStateTransitionReason(const Aws::String& value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason = value; } /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline void SetStateTransitionReason(Aws::String&& value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason = std::move(value); } /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline void SetStateTransitionReason(const char* value) { m_stateTransitionReasonHasBeenSet = true; m_stateTransitionReason.assign(value); } /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithStateTransitionReason(const Aws::String& value) { SetStateTransitionReason(value); return *this;} /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithStateTransitionReason(Aws::String&& value) { SetStateTransitionReason(std::move(value)); return *this;} /** *

The reason for the state transition. The possible values are as follows:

*
  • Client.UserInitiated - The state successfully * transitioned to enabling or disabling.

  • *

    Client.UserInitiated - Lifecycle state transition - The state * successfully transitioned to optimizing, enabled, or * disabled.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithStateTransitionReason(const char* value) { SetStateTransitionReason(value); return *this;} /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services account that enabled fast snapshot restores * on the snapshot.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline const Aws::String& GetOwnerAlias() const{ return m_ownerAlias; } /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline bool OwnerAliasHasBeenSet() const { return m_ownerAliasHasBeenSet; } /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline void SetOwnerAlias(const Aws::String& value) { m_ownerAliasHasBeenSet = true; m_ownerAlias = value; } /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline void SetOwnerAlias(Aws::String&& value) { m_ownerAliasHasBeenSet = true; m_ownerAlias = std::move(value); } /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline void SetOwnerAlias(const char* value) { m_ownerAliasHasBeenSet = true; m_ownerAlias.assign(value); } /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerAlias(const Aws::String& value) { SetOwnerAlias(value); return *this;} /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerAlias(Aws::String&& value) { SetOwnerAlias(std::move(value)); return *this;} /** *

The Amazon Web Services owner alias that enabled fast snapshot restores on * the snapshot. This is intended for future use.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOwnerAlias(const char* value) { SetOwnerAlias(value); return *this;} /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline const Aws::Utils::DateTime& GetEnablingTime() const{ return m_enablingTime; } /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline bool EnablingTimeHasBeenSet() const { return m_enablingTimeHasBeenSet; } /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline void SetEnablingTime(const Aws::Utils::DateTime& value) { m_enablingTimeHasBeenSet = true; m_enablingTime = value; } /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline void SetEnablingTime(Aws::Utils::DateTime&& value) { m_enablingTimeHasBeenSet = true; m_enablingTime = std::move(value); } /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithEnablingTime(const Aws::Utils::DateTime& value) { SetEnablingTime(value); return *this;} /** *

The time at which fast snapshot restores entered the enabling * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithEnablingTime(Aws::Utils::DateTime&& value) { SetEnablingTime(std::move(value)); return *this;} /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline const Aws::Utils::DateTime& GetOptimizingTime() const{ return m_optimizingTime; } /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline bool OptimizingTimeHasBeenSet() const { return m_optimizingTimeHasBeenSet; } /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline void SetOptimizingTime(const Aws::Utils::DateTime& value) { m_optimizingTimeHasBeenSet = true; m_optimizingTime = value; } /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline void SetOptimizingTime(Aws::Utils::DateTime&& value) { m_optimizingTimeHasBeenSet = true; m_optimizingTime = std::move(value); } /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOptimizingTime(const Aws::Utils::DateTime& value) { SetOptimizingTime(value); return *this;} /** *

The time at which fast snapshot restores entered the optimizing * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithOptimizingTime(Aws::Utils::DateTime&& value) { SetOptimizingTime(std::move(value)); return *this;} /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline const Aws::Utils::DateTime& GetEnabledTime() const{ return m_enabledTime; } /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline bool EnabledTimeHasBeenSet() const { return m_enabledTimeHasBeenSet; } /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline void SetEnabledTime(const Aws::Utils::DateTime& value) { m_enabledTimeHasBeenSet = true; m_enabledTime = value; } /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline void SetEnabledTime(Aws::Utils::DateTime&& value) { m_enabledTimeHasBeenSet = true; m_enabledTime = std::move(value); } /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithEnabledTime(const Aws::Utils::DateTime& value) { SetEnabledTime(value); return *this;} /** *

The time at which fast snapshot restores entered the enabled * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithEnabledTime(Aws::Utils::DateTime&& value) { SetEnabledTime(std::move(value)); return *this;} /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline const Aws::Utils::DateTime& GetDisablingTime() const{ return m_disablingTime; } /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline bool DisablingTimeHasBeenSet() const { return m_disablingTimeHasBeenSet; } /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline void SetDisablingTime(const Aws::Utils::DateTime& value) { m_disablingTimeHasBeenSet = true; m_disablingTime = value; } /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline void SetDisablingTime(Aws::Utils::DateTime&& value) { m_disablingTimeHasBeenSet = true; m_disablingTime = std::move(value); } /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithDisablingTime(const Aws::Utils::DateTime& value) { SetDisablingTime(value); return *this;} /** *

The time at which fast snapshot restores entered the disabling * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithDisablingTime(Aws::Utils::DateTime&& value) { SetDisablingTime(std::move(value)); return *this;} /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline const Aws::Utils::DateTime& GetDisabledTime() const{ return m_disabledTime; } /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline bool DisabledTimeHasBeenSet() const { return m_disabledTimeHasBeenSet; } /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline void SetDisabledTime(const Aws::Utils::DateTime& value) { m_disabledTimeHasBeenSet = true; m_disabledTime = value; } /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline void SetDisabledTime(Aws::Utils::DateTime&& value) { m_disabledTimeHasBeenSet = true; m_disabledTime = std::move(value); } /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithDisabledTime(const Aws::Utils::DateTime& value) { SetDisabledTime(value); return *this;} /** *

The time at which fast snapshot restores entered the disabled * state.

*/ inline DescribeFastSnapshotRestoreSuccessItem& WithDisabledTime(Aws::Utils::DateTime&& value) { SetDisabledTime(std::move(value)); return *this;} private: Aws::String m_snapshotId; bool m_snapshotIdHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; FastSnapshotRestoreStateCode m_state; bool m_stateHasBeenSet = false; Aws::String m_stateTransitionReason; bool m_stateTransitionReasonHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::String m_ownerAlias; bool m_ownerAliasHasBeenSet = false; Aws::Utils::DateTime m_enablingTime; bool m_enablingTimeHasBeenSet = false; Aws::Utils::DateTime m_optimizingTime; bool m_optimizingTimeHasBeenSet = false; Aws::Utils::DateTime m_enabledTime; bool m_enabledTimeHasBeenSet = false; Aws::Utils::DateTime m_disablingTime; bool m_disablingTimeHasBeenSet = false; Aws::Utils::DateTime m_disabledTime; bool m_disabledTimeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws