/** * 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 RDS { namespace Model { /** *

A data structure with information about any primary and secondary clusters * associated with an Aurora global database.

See Also:

AWS * API Reference

*/ class GlobalClusterMember { public: AWS_RDS_API GlobalClusterMember(); AWS_RDS_API GlobalClusterMember(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API GlobalClusterMember& 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 Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline const Aws::String& GetDBClusterArn() const{ return m_dBClusterArn; } /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline bool DBClusterArnHasBeenSet() const { return m_dBClusterArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline void SetDBClusterArn(const Aws::String& value) { m_dBClusterArnHasBeenSet = true; m_dBClusterArn = value; } /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline void SetDBClusterArn(Aws::String&& value) { m_dBClusterArnHasBeenSet = true; m_dBClusterArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline void SetDBClusterArn(const char* value) { m_dBClusterArnHasBeenSet = true; m_dBClusterArn.assign(value); } /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline GlobalClusterMember& WithDBClusterArn(const Aws::String& value) { SetDBClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline GlobalClusterMember& WithDBClusterArn(Aws::String&& value) { SetDBClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for each Aurora cluster.

*/ inline GlobalClusterMember& WithDBClusterArn(const char* value) { SetDBClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline const Aws::Vector& GetReaders() const{ return m_readers; } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline bool ReadersHasBeenSet() const { return m_readersHasBeenSet; } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline void SetReaders(const Aws::Vector& value) { m_readersHasBeenSet = true; m_readers = value; } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline void SetReaders(Aws::Vector&& value) { m_readersHasBeenSet = true; m_readers = std::move(value); } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline GlobalClusterMember& WithReaders(const Aws::Vector& value) { SetReaders(value); return *this;} /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline GlobalClusterMember& WithReaders(Aws::Vector&& value) { SetReaders(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline GlobalClusterMember& AddReaders(const Aws::String& value) { m_readersHasBeenSet = true; m_readers.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline GlobalClusterMember& AddReaders(Aws::String&& value) { m_readersHasBeenSet = true; m_readers.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Aurora global database.

*/ inline GlobalClusterMember& AddReaders(const char* value) { m_readersHasBeenSet = true; m_readers.push_back(value); return *this; } /** *

Specifies whether the Aurora cluster is the primary cluster (that is, has * read-write capability) for the Aurora global database with which it is * associated.

*/ inline bool GetIsWriter() const{ return m_isWriter; } /** *

Specifies whether the Aurora cluster is the primary cluster (that is, has * read-write capability) for the Aurora global database with which it is * associated.

*/ inline bool IsWriterHasBeenSet() const { return m_isWriterHasBeenSet; } /** *

Specifies whether the Aurora cluster is the primary cluster (that is, has * read-write capability) for the Aurora global database with which it is * associated.

*/ inline void SetIsWriter(bool value) { m_isWriterHasBeenSet = true; m_isWriter = value; } /** *

Specifies whether the Aurora cluster is the primary cluster (that is, has * read-write capability) for the Aurora global database with which it is * associated.

*/ inline GlobalClusterMember& WithIsWriter(bool value) { SetIsWriter(value); return *this;} /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline const WriteForwardingStatus& GetGlobalWriteForwardingStatus() const{ return m_globalWriteForwardingStatus; } /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline bool GlobalWriteForwardingStatusHasBeenSet() const { return m_globalWriteForwardingStatusHasBeenSet; } /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline void SetGlobalWriteForwardingStatus(const WriteForwardingStatus& value) { m_globalWriteForwardingStatusHasBeenSet = true; m_globalWriteForwardingStatus = value; } /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline void SetGlobalWriteForwardingStatus(WriteForwardingStatus&& value) { m_globalWriteForwardingStatusHasBeenSet = true; m_globalWriteForwardingStatus = std::move(value); } /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline GlobalClusterMember& WithGlobalWriteForwardingStatus(const WriteForwardingStatus& value) { SetGlobalWriteForwardingStatus(value); return *this;} /** *

Specifies whether a secondary cluster in an Aurora global database has write * forwarding enabled, not enabled, or is in the process of enabling it.

*/ inline GlobalClusterMember& WithGlobalWriteForwardingStatus(WriteForwardingStatus&& value) { SetGlobalWriteForwardingStatus(std::move(value)); return *this;} private: Aws::String m_dBClusterArn; bool m_dBClusterArnHasBeenSet = false; Aws::Vector m_readers; bool m_readersHasBeenSet = false; bool m_isWriter; bool m_isWriterHasBeenSet = false; WriteForwardingStatus m_globalWriteForwardingStatus; bool m_globalWriteForwardingStatusHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws