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

Provides information about a pending maintenance action for a * resource.

See Also:

AWS * API Reference

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

The type of pending maintenance action that is available for the * resource.

*/ inline const Aws::String& GetAction() const{ return m_action; } /** *

The type of pending maintenance action that is available for the * resource.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The type of pending maintenance action that is available for the * resource.

*/ inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The type of pending maintenance action that is available for the * resource.

*/ inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The type of pending maintenance action that is available for the * resource.

*/ inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } /** *

The type of pending maintenance action that is available for the * resource.

*/ inline PendingMaintenanceAction& WithAction(const Aws::String& value) { SetAction(value); return *this;} /** *

The type of pending maintenance action that is available for the * resource.

*/ inline PendingMaintenanceAction& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} /** *

The type of pending maintenance action that is available for the * resource.

*/ inline PendingMaintenanceAction& WithAction(const char* value) { SetAction(value); return *this;} /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline const Aws::Utils::DateTime& GetAutoAppliedAfterDate() const{ return m_autoAppliedAfterDate; } /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline bool AutoAppliedAfterDateHasBeenSet() const { return m_autoAppliedAfterDateHasBeenSet; } /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline void SetAutoAppliedAfterDate(const Aws::Utils::DateTime& value) { m_autoAppliedAfterDateHasBeenSet = true; m_autoAppliedAfterDate = value; } /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline void SetAutoAppliedAfterDate(Aws::Utils::DateTime&& value) { m_autoAppliedAfterDateHasBeenSet = true; m_autoAppliedAfterDate = std::move(value); } /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline PendingMaintenanceAction& WithAutoAppliedAfterDate(const Aws::Utils::DateTime& value) { SetAutoAppliedAfterDate(value); return *this;} /** *

The date of the maintenance window when the action is applied. The * maintenance action is applied to the resource during its first maintenance * window after this date. If this date is specified, any * next-maintenance opt-in requests are ignored.

*/ inline PendingMaintenanceAction& WithAutoAppliedAfterDate(Aws::Utils::DateTime&& value) { SetAutoAppliedAfterDate(std::move(value)); return *this;} /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline const Aws::Utils::DateTime& GetForcedApplyDate() const{ return m_forcedApplyDate; } /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline bool ForcedApplyDateHasBeenSet() const { return m_forcedApplyDateHasBeenSet; } /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline void SetForcedApplyDate(const Aws::Utils::DateTime& value) { m_forcedApplyDateHasBeenSet = true; m_forcedApplyDate = value; } /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline void SetForcedApplyDate(Aws::Utils::DateTime&& value) { m_forcedApplyDateHasBeenSet = true; m_forcedApplyDate = std::move(value); } /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline PendingMaintenanceAction& WithForcedApplyDate(const Aws::Utils::DateTime& value) { SetForcedApplyDate(value); return *this;} /** *

The date when the maintenance action is automatically applied. The * maintenance action is applied to the resource on this date regardless of the * maintenance window for the resource. If this date is specified, any * immediate opt-in requests are ignored.

*/ inline PendingMaintenanceAction& WithForcedApplyDate(Aws::Utils::DateTime&& value) { SetForcedApplyDate(std::move(value)); return *this;} /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline const Aws::String& GetOptInStatus() const{ return m_optInStatus; } /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline bool OptInStatusHasBeenSet() const { return m_optInStatusHasBeenSet; } /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline void SetOptInStatus(const Aws::String& value) { m_optInStatusHasBeenSet = true; m_optInStatus = value; } /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline void SetOptInStatus(Aws::String&& value) { m_optInStatusHasBeenSet = true; m_optInStatus = std::move(value); } /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline void SetOptInStatus(const char* value) { m_optInStatusHasBeenSet = true; m_optInStatus.assign(value); } /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline PendingMaintenanceAction& WithOptInStatus(const Aws::String& value) { SetOptInStatus(value); return *this;} /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline PendingMaintenanceAction& WithOptInStatus(Aws::String&& value) { SetOptInStatus(std::move(value)); return *this;} /** *

Indicates the type of opt-in request that has been received for the * resource.

*/ inline PendingMaintenanceAction& WithOptInStatus(const char* value) { SetOptInStatus(value); return *this;} /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline const Aws::Utils::DateTime& GetCurrentApplyDate() const{ return m_currentApplyDate; } /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline bool CurrentApplyDateHasBeenSet() const { return m_currentApplyDateHasBeenSet; } /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline void SetCurrentApplyDate(const Aws::Utils::DateTime& value) { m_currentApplyDateHasBeenSet = true; m_currentApplyDate = value; } /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline void SetCurrentApplyDate(Aws::Utils::DateTime&& value) { m_currentApplyDateHasBeenSet = true; m_currentApplyDate = std::move(value); } /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline PendingMaintenanceAction& WithCurrentApplyDate(const Aws::Utils::DateTime& value) { SetCurrentApplyDate(value); return *this;} /** *

The effective date when the pending maintenance action is applied to the * resource. This date takes into account opt-in requests received from the * ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, * and the ForcedApplyDate. This value is blank if an opt-in request * has not been received and nothing has been specified as * AutoAppliedAfterDate or ForcedApplyDate.

*/ inline PendingMaintenanceAction& WithCurrentApplyDate(Aws::Utils::DateTime&& value) { SetCurrentApplyDate(std::move(value)); return *this;} /** *

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

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

A description providing more detail about the maintenance action.

*/ inline PendingMaintenanceAction& WithDescription(const char* value) { SetDescription(value); return *this;} private: Aws::String m_action; bool m_actionHasBeenSet = false; Aws::Utils::DateTime m_autoAppliedAfterDate; bool m_autoAppliedAfterDateHasBeenSet = false; Aws::Utils::DateTime m_forcedApplyDate; bool m_forcedApplyDateHasBeenSet = false; Aws::String m_optInStatus; bool m_optInStatusHasBeenSet = false; Aws::Utils::DateTime m_currentApplyDate; bool m_currentApplyDateHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws