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

A data type representing an Aurora global database.

See Also:

* AWS * API Reference

*/ class GlobalCluster { public: AWS_RDS_API GlobalCluster(); AWS_RDS_API GlobalCluster(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API GlobalCluster& 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; /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline const Aws::String& GetGlobalClusterIdentifier() const{ return m_globalClusterIdentifier; } /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline bool GlobalClusterIdentifierHasBeenSet() const { return m_globalClusterIdentifierHasBeenSet; } /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline void SetGlobalClusterIdentifier(const Aws::String& value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier = value; } /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline void SetGlobalClusterIdentifier(Aws::String&& value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier = std::move(value); } /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline void SetGlobalClusterIdentifier(const char* value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier.assign(value); } /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline GlobalCluster& WithGlobalClusterIdentifier(const Aws::String& value) { SetGlobalClusterIdentifier(value); return *this;} /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline GlobalCluster& WithGlobalClusterIdentifier(Aws::String&& value) { SetGlobalClusterIdentifier(std::move(value)); return *this;} /** *

Contains a user-supplied global database cluster identifier. This identifier * is the unique key that identifies a global database cluster.

*/ inline GlobalCluster& WithGlobalClusterIdentifier(const char* value) { SetGlobalClusterIdentifier(value); return *this;} /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline const Aws::String& GetGlobalClusterResourceId() const{ return m_globalClusterResourceId; } /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline bool GlobalClusterResourceIdHasBeenSet() const { return m_globalClusterResourceIdHasBeenSet; } /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline void SetGlobalClusterResourceId(const Aws::String& value) { m_globalClusterResourceIdHasBeenSet = true; m_globalClusterResourceId = value; } /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline void SetGlobalClusterResourceId(Aws::String&& value) { m_globalClusterResourceIdHasBeenSet = true; m_globalClusterResourceId = std::move(value); } /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline void SetGlobalClusterResourceId(const char* value) { m_globalClusterResourceIdHasBeenSet = true; m_globalClusterResourceId.assign(value); } /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline GlobalCluster& WithGlobalClusterResourceId(const Aws::String& value) { SetGlobalClusterResourceId(value); return *this;} /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline GlobalCluster& WithGlobalClusterResourceId(Aws::String&& value) { SetGlobalClusterResourceId(std::move(value)); return *this;} /** *

The Amazon Web Services Region-unique, immutable identifier for the global * database cluster. This identifier is found in Amazon Web Services CloudTrail log * entries whenever the Amazon Web Services KMS key for the DB cluster is * accessed.

*/ inline GlobalCluster& WithGlobalClusterResourceId(const char* value) { SetGlobalClusterResourceId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline const Aws::String& GetGlobalClusterArn() const{ return m_globalClusterArn; } /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline bool GlobalClusterArnHasBeenSet() const { return m_globalClusterArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline void SetGlobalClusterArn(const Aws::String& value) { m_globalClusterArnHasBeenSet = true; m_globalClusterArn = value; } /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline void SetGlobalClusterArn(Aws::String&& value) { m_globalClusterArnHasBeenSet = true; m_globalClusterArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline void SetGlobalClusterArn(const char* value) { m_globalClusterArnHasBeenSet = true; m_globalClusterArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline GlobalCluster& WithGlobalClusterArn(const Aws::String& value) { SetGlobalClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline GlobalCluster& WithGlobalClusterArn(Aws::String&& value) { SetGlobalClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the global database cluster.

*/ inline GlobalCluster& WithGlobalClusterArn(const char* value) { SetGlobalClusterArn(value); return *this;} /** *

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

Specifies the current state of this global database cluster.

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

The Aurora database engine used by the global database cluster.

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The Aurora database engine used by the global database cluster.

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The Aurora database engine used by the global database cluster.

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The Aurora database engine used by the global database cluster.

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The Aurora database engine used by the global database cluster.

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The Aurora database engine used by the global database cluster.

*/ inline GlobalCluster& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The Aurora database engine used by the global database cluster.

*/ inline GlobalCluster& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The Aurora database engine used by the global database cluster.

*/ inline GlobalCluster& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

Indicates the database engine version.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

Indicates the database engine version.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

Indicates the database engine version.

*/ inline GlobalCluster& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

Indicates the database engine version.

*/ inline GlobalCluster& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

Indicates the database engine version.

*/ inline GlobalCluster& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The default database name within the new global database cluster.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The default database name within the new global database cluster.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The default database name within the new global database cluster.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The default database name within the new global database cluster.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The default database name within the new global database cluster.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The default database name within the new global database cluster.

*/ inline GlobalCluster& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The default database name within the new global database cluster.

*/ inline GlobalCluster& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The default database name within the new global database cluster.

*/ inline GlobalCluster& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The storage encryption setting for the global database cluster.

*/ inline bool GetStorageEncrypted() const{ return m_storageEncrypted; } /** *

The storage encryption setting for the global database cluster.

*/ inline bool StorageEncryptedHasBeenSet() const { return m_storageEncryptedHasBeenSet; } /** *

The storage encryption setting for the global database cluster.

*/ inline void SetStorageEncrypted(bool value) { m_storageEncryptedHasBeenSet = true; m_storageEncrypted = value; } /** *

The storage encryption setting for the global database cluster.

*/ inline GlobalCluster& WithStorageEncrypted(bool value) { SetStorageEncrypted(value); return *this;} /** *

The deletion protection setting for the new global database cluster.

*/ inline bool GetDeletionProtection() const{ return m_deletionProtection; } /** *

The deletion protection setting for the new global database cluster.

*/ inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; } /** *

The deletion protection setting for the new global database cluster.

*/ inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; } /** *

The deletion protection setting for the new global database cluster.

*/ inline GlobalCluster& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline const Aws::Vector& GetGlobalClusterMembers() const{ return m_globalClusterMembers; } /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline bool GlobalClusterMembersHasBeenSet() const { return m_globalClusterMembersHasBeenSet; } /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline void SetGlobalClusterMembers(const Aws::Vector& value) { m_globalClusterMembersHasBeenSet = true; m_globalClusterMembers = value; } /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline void SetGlobalClusterMembers(Aws::Vector&& value) { m_globalClusterMembersHasBeenSet = true; m_globalClusterMembers = std::move(value); } /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline GlobalCluster& WithGlobalClusterMembers(const Aws::Vector& value) { SetGlobalClusterMembers(value); return *this;} /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline GlobalCluster& WithGlobalClusterMembers(Aws::Vector&& value) { SetGlobalClusterMembers(std::move(value)); return *this;} /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline GlobalCluster& AddGlobalClusterMembers(const GlobalClusterMember& value) { m_globalClusterMembersHasBeenSet = true; m_globalClusterMembers.push_back(value); return *this; } /** *

The list of primary and secondary clusters within the global database * cluster.

*/ inline GlobalCluster& AddGlobalClusterMembers(GlobalClusterMember&& value) { m_globalClusterMembersHasBeenSet = true; m_globalClusterMembers.push_back(std::move(value)); return *this; } /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline const FailoverState& GetFailoverState() const{ return m_failoverState; } /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline bool FailoverStateHasBeenSet() const { return m_failoverStateHasBeenSet; } /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline void SetFailoverState(const FailoverState& value) { m_failoverStateHasBeenSet = true; m_failoverState = value; } /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline void SetFailoverState(FailoverState&& value) { m_failoverStateHasBeenSet = true; m_failoverState = std::move(value); } /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline GlobalCluster& WithFailoverState(const FailoverState& value) { SetFailoverState(value); return *this;} /** *

A data object containing all properties for the current state of an * in-process or pending failover process for this Aurora global database. This * object is empty unless the FailoverGlobalCluster API operation has been * called on this Aurora global database (GlobalCluster).

*/ inline GlobalCluster& WithFailoverState(FailoverState&& value) { SetFailoverState(std::move(value)); return *this;} private: Aws::String m_globalClusterIdentifier; bool m_globalClusterIdentifierHasBeenSet = false; Aws::String m_globalClusterResourceId; bool m_globalClusterResourceIdHasBeenSet = false; Aws::String m_globalClusterArn; bool m_globalClusterArnHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; Aws::Vector m_globalClusterMembers; bool m_globalClusterMembersHasBeenSet = false; FailoverState m_failoverState; bool m_failoverStateHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws