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

Contains the details of an Amazon Neptune global database.

This data * type is used as a response element for the CreateGlobalCluster, * DescribeGlobalClusters, ModifyGlobalCluster, * DeleteGlobalCluster, FailoverGlobalCluster, and * RemoveFromGlobalCluster actions.

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the KMS key * for the DB cluster is accessed.

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

An immutable identifier for the global database that is unique within in all * regions. This identifier is found in CloudTrail log entries whenever the 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

Specifies the current state of this global database.

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune database engine used by the global database * ("neptune").

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The Neptune engine version used by the global database.

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

The storage encryption setting for the global database.

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

The storage encryption setting for the global database.

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

The storage encryption setting for the global database.

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

The storage encryption setting for the global database.

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

The deletion protection setting for the global database.

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

The deletion protection setting for the global database.

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

The deletion protection setting for the global database.

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

The deletion protection setting for the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

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

A list of cluster ARNs and instance ARNs for all the DB clusters that are * part of the global database.

*/ inline GlobalCluster& AddGlobalClusterMembers(GlobalClusterMember&& value) { m_globalClusterMembersHasBeenSet = true; m_globalClusterMembers.push_back(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; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; Aws::Vector m_globalClusterMembers; bool m_globalClusterMembersHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws