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

Details about a blue/green deployment.

For more information, see Using * Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS * User Guide and Using * Amazon RDS Blue/Green Deployments for database updates in the Amazon * Aurora User Guide.

See Also:

AWS * API Reference

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

The unique identifier of the blue/green deployment.

*/ inline const Aws::String& GetBlueGreenDeploymentIdentifier() const{ return m_blueGreenDeploymentIdentifier; } /** *

The unique identifier of the blue/green deployment.

*/ inline bool BlueGreenDeploymentIdentifierHasBeenSet() const { return m_blueGreenDeploymentIdentifierHasBeenSet; } /** *

The unique identifier of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentIdentifier(const Aws::String& value) { m_blueGreenDeploymentIdentifierHasBeenSet = true; m_blueGreenDeploymentIdentifier = value; } /** *

The unique identifier of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentIdentifier(Aws::String&& value) { m_blueGreenDeploymentIdentifierHasBeenSet = true; m_blueGreenDeploymentIdentifier = std::move(value); } /** *

The unique identifier of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentIdentifier(const char* value) { m_blueGreenDeploymentIdentifierHasBeenSet = true; m_blueGreenDeploymentIdentifier.assign(value); } /** *

The unique identifier of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentIdentifier(const Aws::String& value) { SetBlueGreenDeploymentIdentifier(value); return *this;} /** *

The unique identifier of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentIdentifier(Aws::String&& value) { SetBlueGreenDeploymentIdentifier(std::move(value)); return *this;} /** *

The unique identifier of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentIdentifier(const char* value) { SetBlueGreenDeploymentIdentifier(value); return *this;} /** *

The user-supplied name of the blue/green deployment.

*/ inline const Aws::String& GetBlueGreenDeploymentName() const{ return m_blueGreenDeploymentName; } /** *

The user-supplied name of the blue/green deployment.

*/ inline bool BlueGreenDeploymentNameHasBeenSet() const { return m_blueGreenDeploymentNameHasBeenSet; } /** *

The user-supplied name of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentName(const Aws::String& value) { m_blueGreenDeploymentNameHasBeenSet = true; m_blueGreenDeploymentName = value; } /** *

The user-supplied name of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentName(Aws::String&& value) { m_blueGreenDeploymentNameHasBeenSet = true; m_blueGreenDeploymentName = std::move(value); } /** *

The user-supplied name of the blue/green deployment.

*/ inline void SetBlueGreenDeploymentName(const char* value) { m_blueGreenDeploymentNameHasBeenSet = true; m_blueGreenDeploymentName.assign(value); } /** *

The user-supplied name of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentName(const Aws::String& value) { SetBlueGreenDeploymentName(value); return *this;} /** *

The user-supplied name of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentName(Aws::String&& value) { SetBlueGreenDeploymentName(std::move(value)); return *this;} /** *

The user-supplied name of the blue/green deployment.

*/ inline BlueGreenDeployment& WithBlueGreenDeploymentName(const char* value) { SetBlueGreenDeploymentName(value); return *this;} /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline BlueGreenDeployment& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline BlueGreenDeployment& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The source database for the blue/green deployment.

Before switchover, * the source database is the production database in the blue environment.

*/ inline BlueGreenDeployment& WithSource(const char* value) { SetSource(value); return *this;} /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline const Aws::String& GetTarget() const{ return m_target; } /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline BlueGreenDeployment& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline BlueGreenDeployment& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} /** *

The target database for the blue/green deployment.

Before switchover, * the target database is the clone database in the green environment.

*/ inline BlueGreenDeployment& WithTarget(const char* value) { SetTarget(value); return *this;} /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline const Aws::Vector& GetSwitchoverDetails() const{ return m_switchoverDetails; } /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline bool SwitchoverDetailsHasBeenSet() const { return m_switchoverDetailsHasBeenSet; } /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline void SetSwitchoverDetails(const Aws::Vector& value) { m_switchoverDetailsHasBeenSet = true; m_switchoverDetails = value; } /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline void SetSwitchoverDetails(Aws::Vector&& value) { m_switchoverDetailsHasBeenSet = true; m_switchoverDetails = std::move(value); } /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline BlueGreenDeployment& WithSwitchoverDetails(const Aws::Vector& value) { SetSwitchoverDetails(value); return *this;} /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline BlueGreenDeployment& WithSwitchoverDetails(Aws::Vector&& value) { SetSwitchoverDetails(std::move(value)); return *this;} /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline BlueGreenDeployment& AddSwitchoverDetails(const SwitchoverDetail& value) { m_switchoverDetailsHasBeenSet = true; m_switchoverDetails.push_back(value); return *this; } /** *

The details about each source and target resource in the blue/green * deployment.

*/ inline BlueGreenDeployment& AddSwitchoverDetails(SwitchoverDetail&& value) { m_switchoverDetailsHasBeenSet = true; m_switchoverDetails.push_back(std::move(value)); return *this; } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline const Aws::Vector& GetTasks() const{ return m_tasks; } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline bool TasksHasBeenSet() const { return m_tasksHasBeenSet; } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline void SetTasks(const Aws::Vector& value) { m_tasksHasBeenSet = true; m_tasks = value; } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline void SetTasks(Aws::Vector&& value) { m_tasksHasBeenSet = true; m_tasks = std::move(value); } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline BlueGreenDeployment& WithTasks(const Aws::Vector& value) { SetTasks(value); return *this;} /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline BlueGreenDeployment& WithTasks(Aws::Vector&& value) { SetTasks(std::move(value)); return *this;} /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline BlueGreenDeployment& AddTasks(const BlueGreenDeploymentTask& value) { m_tasksHasBeenSet = true; m_tasks.push_back(value); return *this; } /** *

Either tasks to be performed or tasks that have been completed on the target * database before switchover.

*/ inline BlueGreenDeployment& AddTasks(BlueGreenDeploymentTask&& value) { m_tasksHasBeenSet = true; m_tasks.push_back(std::move(value)); return *this; } /** *

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

    *
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

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

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

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

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

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

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

    *
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

    *
*/ inline BlueGreenDeployment& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

    *
*/ inline BlueGreenDeployment& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the blue/green deployment.

Valid Values:

  • *

    PROVISIONING - Resources are being created in the green * environment.

  • AVAILABLE - Resources are available * in the green environment.

  • SWITCHOVER_IN_PROGRESS * - The deployment is being switched from the blue environment to the green * environment.

  • SWITCHOVER_COMPLETED - Switchover * from the blue environment to the green environment is complete.

  • *

    INVALID_CONFIGURATION - Resources in the green environment are * invalid, so switchover isn't possible.

  • * SWITCHOVER_FAILED - Switchover was attempted but failed.

  • *
  • DELETING - The blue/green deployment is being deleted.

    *
*/ inline BlueGreenDeployment& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

Additional information about the status of the blue/green deployment.

*/ inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; } /** *

Additional information about the status of the blue/green deployment.

*/ inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; } /** *

Additional information about the status of the blue/green deployment.

*/ inline void SetStatusDetails(const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; } /** *

Additional information about the status of the blue/green deployment.

*/ inline void SetStatusDetails(Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); } /** *

Additional information about the status of the blue/green deployment.

*/ inline void SetStatusDetails(const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); } /** *

Additional information about the status of the blue/green deployment.

*/ inline BlueGreenDeployment& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;} /** *

Additional information about the status of the blue/green deployment.

*/ inline BlueGreenDeployment& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;} /** *

Additional information about the status of the blue/green deployment.

*/ inline BlueGreenDeployment& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;} /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline BlueGreenDeployment& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

The time when the blue/green deployment was created, in Universal Coordinated * Time (UTC).

*/ inline BlueGreenDeployment& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline const Aws::Utils::DateTime& GetDeleteTime() const{ return m_deleteTime; } /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline bool DeleteTimeHasBeenSet() const { return m_deleteTimeHasBeenSet; } /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline void SetDeleteTime(const Aws::Utils::DateTime& value) { m_deleteTimeHasBeenSet = true; m_deleteTime = value; } /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline void SetDeleteTime(Aws::Utils::DateTime&& value) { m_deleteTimeHasBeenSet = true; m_deleteTime = std::move(value); } /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline BlueGreenDeployment& WithDeleteTime(const Aws::Utils::DateTime& value) { SetDeleteTime(value); return *this;} /** *

The time when the blue/green deployment was deleted, in Universal Coordinated * Time (UTC).

*/ inline BlueGreenDeployment& WithDeleteTime(Aws::Utils::DateTime&& value) { SetDeleteTime(std::move(value)); return *this;} inline const Aws::Vector& GetTagList() const{ return m_tagList; } inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } inline BlueGreenDeployment& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} inline BlueGreenDeployment& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} inline BlueGreenDeployment& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } inline BlueGreenDeployment& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } private: Aws::String m_blueGreenDeploymentIdentifier; bool m_blueGreenDeploymentIdentifierHasBeenSet = false; Aws::String m_blueGreenDeploymentName; bool m_blueGreenDeploymentNameHasBeenSet = false; Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::String m_target; bool m_targetHasBeenSet = false; Aws::Vector m_switchoverDetails; bool m_switchoverDetailsHasBeenSet = false; Aws::Vector m_tasks; bool m_tasksHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusDetails; bool m_statusDetailsHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; Aws::Utils::DateTime m_deleteTime; bool m_deleteTimeHasBeenSet = false; Aws::Vector m_tagList; bool m_tagListHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws