/** * 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 { /** *

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

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Amazon Resource Name (ARN) for each Neptune 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 Neptune 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 Neptune global database.

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

The Amazon Resource Name (ARN) for each read-only secondary cluster * associated with the Neptune 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 Neptune 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 Neptune 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 Neptune 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 Neptune 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 Neptune 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 Neptune global database.

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

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

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

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

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

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

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

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

*/ inline GlobalClusterMember& WithIsWriter(bool value) { SetIsWriter(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; }; } // namespace Model } // namespace Neptune } // namespace Aws