/** * 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 #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 DB cluster.

This data type * is used as a response element in the DescribeDBClusters * action.

See Also:

AWS * API Reference

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

AllocatedStorage always returns 1, because Neptune DB cluster * storage size is not fixed, but instead automatically adjusts as needed.

*/ inline int GetAllocatedStorage() const{ return m_allocatedStorage; } /** *

AllocatedStorage always returns 1, because Neptune DB cluster * storage size is not fixed, but instead automatically adjusts as needed.

*/ inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } /** *

AllocatedStorage always returns 1, because Neptune DB cluster * storage size is not fixed, but instead automatically adjusts as needed.

*/ inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } /** *

AllocatedStorage always returns 1, because Neptune DB cluster * storage size is not fixed, but instead automatically adjusts as needed.

*/ inline DBCluster& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline DBCluster& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;} /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline DBCluster& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;} /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline DBCluster& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline DBCluster& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *

Provides the list of EC2 Availability Zones that instances in the DB cluster * can be created in.

*/ inline DBCluster& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

Specifies the number of days for which automatic DB snapshots are * retained.

*/ inline int GetBackupRetentionPeriod() const{ return m_backupRetentionPeriod; } /** *

Specifies the number of days for which automatic DB snapshots are * retained.

*/ inline bool BackupRetentionPeriodHasBeenSet() const { return m_backupRetentionPeriodHasBeenSet; } /** *

Specifies the number of days for which automatic DB snapshots are * retained.

*/ inline void SetBackupRetentionPeriod(int value) { m_backupRetentionPeriodHasBeenSet = true; m_backupRetentionPeriod = value; } /** *

Specifies the number of days for which automatic DB snapshots are * retained.

*/ inline DBCluster& WithBackupRetentionPeriod(int value) { SetBackupRetentionPeriod(value); return *this;} /** *

Not supported by Neptune.

*/ inline const Aws::String& GetCharacterSetName() const{ return m_characterSetName; } /** *

Not supported by Neptune.

*/ inline bool CharacterSetNameHasBeenSet() const { return m_characterSetNameHasBeenSet; } /** *

Not supported by Neptune.

*/ inline void SetCharacterSetName(const Aws::String& value) { m_characterSetNameHasBeenSet = true; m_characterSetName = value; } /** *

Not supported by Neptune.

*/ inline void SetCharacterSetName(Aws::String&& value) { m_characterSetNameHasBeenSet = true; m_characterSetName = std::move(value); } /** *

Not supported by Neptune.

*/ inline void SetCharacterSetName(const char* value) { m_characterSetNameHasBeenSet = true; m_characterSetName.assign(value); } /** *

Not supported by Neptune.

*/ inline DBCluster& WithCharacterSetName(const Aws::String& value) { SetCharacterSetName(value); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithCharacterSetName(Aws::String&& value) { SetCharacterSetName(std::move(value)); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithCharacterSetName(const char* value) { SetCharacterSetName(value); return *this;} /** *

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

Contains the name of the initial database of this DB cluster that was * provided at create time, if one was specified when the DB cluster was created. * This same name is returned for the life of the DB cluster.

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

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

*/ inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; } /** *

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

*/ inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; } /** *

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

*/ inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; } /** *

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

*/ inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); } /** *

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

*/ inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); } /** *

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

*/ inline DBCluster& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;} /** *

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

*/ inline DBCluster& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;} /** *

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

*/ inline DBCluster& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;} /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline const Aws::String& GetDBClusterParameterGroup() const{ return m_dBClusterParameterGroup; } /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline bool DBClusterParameterGroupHasBeenSet() const { return m_dBClusterParameterGroupHasBeenSet; } /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline void SetDBClusterParameterGroup(const Aws::String& value) { m_dBClusterParameterGroupHasBeenSet = true; m_dBClusterParameterGroup = value; } /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline void SetDBClusterParameterGroup(Aws::String&& value) { m_dBClusterParameterGroupHasBeenSet = true; m_dBClusterParameterGroup = std::move(value); } /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline void SetDBClusterParameterGroup(const char* value) { m_dBClusterParameterGroupHasBeenSet = true; m_dBClusterParameterGroup.assign(value); } /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline DBCluster& WithDBClusterParameterGroup(const Aws::String& value) { SetDBClusterParameterGroup(value); return *this;} /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline DBCluster& WithDBClusterParameterGroup(Aws::String&& value) { SetDBClusterParameterGroup(std::move(value)); return *this;} /** *

Specifies the name of the DB cluster parameter group for the DB cluster.

*/ inline DBCluster& WithDBClusterParameterGroup(const char* value) { SetDBClusterParameterGroup(value); return *this;} /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline const Aws::String& GetDBSubnetGroup() const{ return m_dBSubnetGroup; } /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline bool DBSubnetGroupHasBeenSet() const { return m_dBSubnetGroupHasBeenSet; } /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline void SetDBSubnetGroup(const Aws::String& value) { m_dBSubnetGroupHasBeenSet = true; m_dBSubnetGroup = value; } /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline void SetDBSubnetGroup(Aws::String&& value) { m_dBSubnetGroupHasBeenSet = true; m_dBSubnetGroup = std::move(value); } /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline void SetDBSubnetGroup(const char* value) { m_dBSubnetGroupHasBeenSet = true; m_dBSubnetGroup.assign(value); } /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline DBCluster& WithDBSubnetGroup(const Aws::String& value) { SetDBSubnetGroup(value); return *this;} /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline DBCluster& WithDBSubnetGroup(Aws::String&& value) { SetDBSubnetGroup(std::move(value)); return *this;} /** *

Specifies information on the subnet group associated with the DB cluster, * including the name, description, and subnets in the subnet group.

*/ inline DBCluster& WithDBSubnetGroup(const char* value) { SetDBSubnetGroup(value); return *this;} /** *

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the current state of this DB cluster.

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

Specifies the progress of the operation as a percentage.

*/ inline const Aws::String& GetPercentProgress() const{ return m_percentProgress; } /** *

Specifies the progress of the operation as a percentage.

*/ inline bool PercentProgressHasBeenSet() const { return m_percentProgressHasBeenSet; } /** *

Specifies the progress of the operation as a percentage.

*/ inline void SetPercentProgress(const Aws::String& value) { m_percentProgressHasBeenSet = true; m_percentProgress = value; } /** *

Specifies the progress of the operation as a percentage.

*/ inline void SetPercentProgress(Aws::String&& value) { m_percentProgressHasBeenSet = true; m_percentProgress = std::move(value); } /** *

Specifies the progress of the operation as a percentage.

*/ inline void SetPercentProgress(const char* value) { m_percentProgressHasBeenSet = true; m_percentProgress.assign(value); } /** *

Specifies the progress of the operation as a percentage.

*/ inline DBCluster& WithPercentProgress(const Aws::String& value) { SetPercentProgress(value); return *this;} /** *

Specifies the progress of the operation as a percentage.

*/ inline DBCluster& WithPercentProgress(Aws::String&& value) { SetPercentProgress(std::move(value)); return *this;} /** *

Specifies the progress of the operation as a percentage.

*/ inline DBCluster& WithPercentProgress(const char* value) { SetPercentProgress(value); return *this;} /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline const Aws::Utils::DateTime& GetEarliestRestorableTime() const{ return m_earliestRestorableTime; } /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline bool EarliestRestorableTimeHasBeenSet() const { return m_earliestRestorableTimeHasBeenSet; } /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline void SetEarliestRestorableTime(const Aws::Utils::DateTime& value) { m_earliestRestorableTimeHasBeenSet = true; m_earliestRestorableTime = value; } /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline void SetEarliestRestorableTime(Aws::Utils::DateTime&& value) { m_earliestRestorableTimeHasBeenSet = true; m_earliestRestorableTime = std::move(value); } /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline DBCluster& WithEarliestRestorableTime(const Aws::Utils::DateTime& value) { SetEarliestRestorableTime(value); return *this;} /** *

Specifies the earliest time to which a database can be restored with * point-in-time restore.

*/ inline DBCluster& WithEarliestRestorableTime(Aws::Utils::DateTime&& value) { SetEarliestRestorableTime(std::move(value)); return *this;} /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline const Aws::String& GetEndpoint() const{ return m_endpoint; } /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline DBCluster& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline DBCluster& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} /** *

Specifies the connection endpoint for the primary instance of the DB * cluster.

*/ inline DBCluster& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline const Aws::String& GetReaderEndpoint() const{ return m_readerEndpoint; } /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline bool ReaderEndpointHasBeenSet() const { return m_readerEndpointHasBeenSet; } /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline void SetReaderEndpoint(const Aws::String& value) { m_readerEndpointHasBeenSet = true; m_readerEndpoint = value; } /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline void SetReaderEndpoint(Aws::String&& value) { m_readerEndpointHasBeenSet = true; m_readerEndpoint = std::move(value); } /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline void SetReaderEndpoint(const char* value) { m_readerEndpointHasBeenSet = true; m_readerEndpoint.assign(value); } /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline DBCluster& WithReaderEndpoint(const Aws::String& value) { SetReaderEndpoint(value); return *this;} /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline DBCluster& WithReaderEndpoint(Aws::String&& value) { SetReaderEndpoint(std::move(value)); return *this;} /** *

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster * load-balances connections across the Read Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Neptune * distributes the connection requests among the Read Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Read * Replicas in your DB cluster.

If a failover occurs, and the Read Replica * that you are connected to is promoted to be the primary instance, your * connection is dropped. To continue sending your read workload to other Read * Replicas in the cluster, you can then reconnect to the reader endpoint.

*/ inline DBCluster& WithReaderEndpoint(const char* value) { SetReaderEndpoint(value); return *this;} /** *

Specifies whether the DB cluster has instances in multiple Availability * Zones.

*/ inline bool GetMultiAZ() const{ return m_multiAZ; } /** *

Specifies whether the DB cluster has instances in multiple Availability * Zones.

*/ inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; } /** *

Specifies whether the DB cluster has instances in multiple Availability * Zones.

*/ inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; } /** *

Specifies whether the DB cluster has instances in multiple Availability * Zones.

*/ inline DBCluster& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;} /** *

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

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

Provides the name of the database engine to be used for this DB cluster.

*/ inline DBCluster& 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 DBCluster& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

Indicates the database engine version.

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

Indicates the database engine version.

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

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline const Aws::Utils::DateTime& GetLatestRestorableTime() const{ return m_latestRestorableTime; } /** *

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline bool LatestRestorableTimeHasBeenSet() const { return m_latestRestorableTimeHasBeenSet; } /** *

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline void SetLatestRestorableTime(const Aws::Utils::DateTime& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = value; } /** *

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline void SetLatestRestorableTime(Aws::Utils::DateTime&& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = std::move(value); } /** *

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline DBCluster& WithLatestRestorableTime(const Aws::Utils::DateTime& value) { SetLatestRestorableTime(value); return *this;} /** *

Specifies the latest time to which a database can be restored with * point-in-time restore.

*/ inline DBCluster& WithLatestRestorableTime(Aws::Utils::DateTime&& value) { SetLatestRestorableTime(std::move(value)); return *this;} /** *

Specifies the port that the database engine is listening on.

*/ inline int GetPort() const{ return m_port; } /** *

Specifies the port that the database engine is listening on.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

Specifies the port that the database engine is listening on.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

Specifies the port that the database engine is listening on.

*/ inline DBCluster& WithPort(int value) { SetPort(value); return *this;} /** *

Not supported by Neptune.

*/ inline const Aws::String& GetMasterUsername() const{ return m_masterUsername; } /** *

Not supported by Neptune.

*/ inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; } /** *

Not supported by Neptune.

*/ inline void SetMasterUsername(const Aws::String& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = value; } /** *

Not supported by Neptune.

*/ inline void SetMasterUsername(Aws::String&& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = std::move(value); } /** *

Not supported by Neptune.

*/ inline void SetMasterUsername(const char* value) { m_masterUsernameHasBeenSet = true; m_masterUsername.assign(value); } /** *

Not supported by Neptune.

*/ inline DBCluster& WithMasterUsername(const Aws::String& value) { SetMasterUsername(value); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithMasterUsername(Aws::String&& value) { SetMasterUsername(std::move(value)); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithMasterUsername(const char* value) { SetMasterUsername(value); return *this;} /** *

Not supported by Neptune.

*/ inline const Aws::Vector& GetDBClusterOptionGroupMemberships() const{ return m_dBClusterOptionGroupMemberships; } /** *

Not supported by Neptune.

*/ inline bool DBClusterOptionGroupMembershipsHasBeenSet() const { return m_dBClusterOptionGroupMembershipsHasBeenSet; } /** *

Not supported by Neptune.

*/ inline void SetDBClusterOptionGroupMemberships(const Aws::Vector& value) { m_dBClusterOptionGroupMembershipsHasBeenSet = true; m_dBClusterOptionGroupMemberships = value; } /** *

Not supported by Neptune.

*/ inline void SetDBClusterOptionGroupMemberships(Aws::Vector&& value) { m_dBClusterOptionGroupMembershipsHasBeenSet = true; m_dBClusterOptionGroupMemberships = std::move(value); } /** *

Not supported by Neptune.

*/ inline DBCluster& WithDBClusterOptionGroupMemberships(const Aws::Vector& value) { SetDBClusterOptionGroupMemberships(value); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithDBClusterOptionGroupMemberships(Aws::Vector&& value) { SetDBClusterOptionGroupMemberships(std::move(value)); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& AddDBClusterOptionGroupMemberships(const DBClusterOptionGroupStatus& value) { m_dBClusterOptionGroupMembershipsHasBeenSet = true; m_dBClusterOptionGroupMemberships.push_back(value); return *this; } /** *

Not supported by Neptune.

*/ inline DBCluster& AddDBClusterOptionGroupMemberships(DBClusterOptionGroupStatus&& value) { m_dBClusterOptionGroupMembershipsHasBeenSet = true; m_dBClusterOptionGroupMemberships.push_back(std::move(value)); return *this; } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline const Aws::String& GetPreferredBackupWindow() const{ return m_preferredBackupWindow; } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline bool PreferredBackupWindowHasBeenSet() const { return m_preferredBackupWindowHasBeenSet; } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline void SetPreferredBackupWindow(const Aws::String& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = value; } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline void SetPreferredBackupWindow(Aws::String&& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = std::move(value); } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline void SetPreferredBackupWindow(const char* value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow.assign(value); } /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline DBCluster& WithPreferredBackupWindow(const Aws::String& value) { SetPreferredBackupWindow(value); return *this;} /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline DBCluster& WithPreferredBackupWindow(Aws::String&& value) { SetPreferredBackupWindow(std::move(value)); return *this;} /** *

Specifies the daily time range during which automated backups are created if * automated backups are enabled, as determined by the * BackupRetentionPeriod.

*/ inline DBCluster& WithPreferredBackupWindow(const char* value) { SetPreferredBackupWindow(value); return *this;} /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline DBCluster& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline DBCluster& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

Specifies the weekly time range during which system maintenance can occur, in * Universal Coordinated Time (UTC).

*/ inline DBCluster& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

Not supported by Neptune.

*/ inline const Aws::String& GetReplicationSourceIdentifier() const{ return m_replicationSourceIdentifier; } /** *

Not supported by Neptune.

*/ inline bool ReplicationSourceIdentifierHasBeenSet() const { return m_replicationSourceIdentifierHasBeenSet; } /** *

Not supported by Neptune.

*/ inline void SetReplicationSourceIdentifier(const Aws::String& value) { m_replicationSourceIdentifierHasBeenSet = true; m_replicationSourceIdentifier = value; } /** *

Not supported by Neptune.

*/ inline void SetReplicationSourceIdentifier(Aws::String&& value) { m_replicationSourceIdentifierHasBeenSet = true; m_replicationSourceIdentifier = std::move(value); } /** *

Not supported by Neptune.

*/ inline void SetReplicationSourceIdentifier(const char* value) { m_replicationSourceIdentifierHasBeenSet = true; m_replicationSourceIdentifier.assign(value); } /** *

Not supported by Neptune.

*/ inline DBCluster& WithReplicationSourceIdentifier(const Aws::String& value) { SetReplicationSourceIdentifier(value); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithReplicationSourceIdentifier(Aws::String&& value) { SetReplicationSourceIdentifier(std::move(value)); return *this;} /** *

Not supported by Neptune.

*/ inline DBCluster& WithReplicationSourceIdentifier(const char* value) { SetReplicationSourceIdentifier(value); return *this;} /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline const Aws::Vector& GetReadReplicaIdentifiers() const{ return m_readReplicaIdentifiers; } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline bool ReadReplicaIdentifiersHasBeenSet() const { return m_readReplicaIdentifiersHasBeenSet; } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline void SetReadReplicaIdentifiers(const Aws::Vector& value) { m_readReplicaIdentifiersHasBeenSet = true; m_readReplicaIdentifiers = value; } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline void SetReadReplicaIdentifiers(Aws::Vector&& value) { m_readReplicaIdentifiersHasBeenSet = true; m_readReplicaIdentifiers = std::move(value); } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline DBCluster& WithReadReplicaIdentifiers(const Aws::Vector& value) { SetReadReplicaIdentifiers(value); return *this;} /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline DBCluster& WithReadReplicaIdentifiers(Aws::Vector&& value) { SetReadReplicaIdentifiers(std::move(value)); return *this;} /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline DBCluster& AddReadReplicaIdentifiers(const Aws::String& value) { m_readReplicaIdentifiersHasBeenSet = true; m_readReplicaIdentifiers.push_back(value); return *this; } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline DBCluster& AddReadReplicaIdentifiers(Aws::String&& value) { m_readReplicaIdentifiersHasBeenSet = true; m_readReplicaIdentifiers.push_back(std::move(value)); return *this; } /** *

Contains one or more identifiers of the Read Replicas associated with this DB * cluster.

*/ inline DBCluster& AddReadReplicaIdentifiers(const char* value) { m_readReplicaIdentifiersHasBeenSet = true; m_readReplicaIdentifiers.push_back(value); return *this; } /** *

Provides the list of instances that make up the DB cluster.

*/ inline const Aws::Vector& GetDBClusterMembers() const{ return m_dBClusterMembers; } /** *

Provides the list of instances that make up the DB cluster.

*/ inline bool DBClusterMembersHasBeenSet() const { return m_dBClusterMembersHasBeenSet; } /** *

Provides the list of instances that make up the DB cluster.

*/ inline void SetDBClusterMembers(const Aws::Vector& value) { m_dBClusterMembersHasBeenSet = true; m_dBClusterMembers = value; } /** *

Provides the list of instances that make up the DB cluster.

*/ inline void SetDBClusterMembers(Aws::Vector&& value) { m_dBClusterMembersHasBeenSet = true; m_dBClusterMembers = std::move(value); } /** *

Provides the list of instances that make up the DB cluster.

*/ inline DBCluster& WithDBClusterMembers(const Aws::Vector& value) { SetDBClusterMembers(value); return *this;} /** *

Provides the list of instances that make up the DB cluster.

*/ inline DBCluster& WithDBClusterMembers(Aws::Vector&& value) { SetDBClusterMembers(std::move(value)); return *this;} /** *

Provides the list of instances that make up the DB cluster.

*/ inline DBCluster& AddDBClusterMembers(const DBClusterMember& value) { m_dBClusterMembersHasBeenSet = true; m_dBClusterMembers.push_back(value); return *this; } /** *

Provides the list of instances that make up the DB cluster.

*/ inline DBCluster& AddDBClusterMembers(DBClusterMember&& value) { m_dBClusterMembersHasBeenSet = true; m_dBClusterMembers.push_back(std::move(value)); return *this; } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline const Aws::Vector& GetVpcSecurityGroups() const{ return m_vpcSecurityGroups; } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline void SetVpcSecurityGroups(const Aws::Vector& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = value; } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline void SetVpcSecurityGroups(Aws::Vector&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = std::move(value); } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline DBCluster& WithVpcSecurityGroups(const Aws::Vector& value) { SetVpcSecurityGroups(value); return *this;} /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline DBCluster& WithVpcSecurityGroups(Aws::Vector&& value) { SetVpcSecurityGroups(std::move(value)); return *this;} /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline DBCluster& AddVpcSecurityGroups(const VpcSecurityGroupMembership& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(value); return *this; } /** *

Provides a list of VPC security groups that the DB cluster belongs to.

*/ inline DBCluster& AddVpcSecurityGroups(VpcSecurityGroupMembership&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(std::move(value)); return *this; } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline DBCluster& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline DBCluster& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *

Specifies the ID that Amazon Route 53 assigns when you create a hosted * zone.

*/ inline DBCluster& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *

Specifies whether the DB cluster is encrypted.

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

Specifies whether the DB cluster is encrypted.

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

Specifies whether the DB cluster is encrypted.

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

Specifies whether the DB cluster is encrypted.

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

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline DBCluster& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline DBCluster& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

If StorageEncrypted is true, the Amazon KMS key identifier for * the encrypted DB cluster.

*/ inline DBCluster& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

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

*/ inline const Aws::String& GetDbClusterResourceId() const{ return m_dbClusterResourceId; } /** *

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

*/ inline bool DbClusterResourceIdHasBeenSet() const { return m_dbClusterResourceIdHasBeenSet; } /** *

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

*/ inline void SetDbClusterResourceId(const Aws::String& value) { m_dbClusterResourceIdHasBeenSet = true; m_dbClusterResourceId = value; } /** *

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

*/ inline void SetDbClusterResourceId(Aws::String&& value) { m_dbClusterResourceIdHasBeenSet = true; m_dbClusterResourceId = std::move(value); } /** *

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

*/ inline void SetDbClusterResourceId(const char* value) { m_dbClusterResourceIdHasBeenSet = true; m_dbClusterResourceId.assign(value); } /** *

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

*/ inline DBCluster& WithDbClusterResourceId(const Aws::String& value) { SetDbClusterResourceId(value); return *this;} /** *

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

*/ inline DBCluster& WithDbClusterResourceId(Aws::String&& value) { SetDbClusterResourceId(std::move(value)); return *this;} /** *

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

*/ inline DBCluster& WithDbClusterResourceId(const char* value) { SetDbClusterResourceId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

The Amazon Resource Name (ARN) for the DB cluster.

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

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline const Aws::Vector& GetAssociatedRoles() const{ return m_associatedRoles; } /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline bool AssociatedRolesHasBeenSet() const { return m_associatedRolesHasBeenSet; } /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline void SetAssociatedRoles(const Aws::Vector& value) { m_associatedRolesHasBeenSet = true; m_associatedRoles = value; } /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline void SetAssociatedRoles(Aws::Vector&& value) { m_associatedRolesHasBeenSet = true; m_associatedRoles = std::move(value); } /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline DBCluster& WithAssociatedRoles(const Aws::Vector& value) { SetAssociatedRoles(value); return *this;} /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline DBCluster& WithAssociatedRoles(Aws::Vector&& value) { SetAssociatedRoles(std::move(value)); return *this;} /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline DBCluster& AddAssociatedRoles(const DBClusterRole& value) { m_associatedRolesHasBeenSet = true; m_associatedRoles.push_back(value); return *this; } /** *

Provides a list of the Amazon Identity and Access Management (IAM) roles that * are associated with the DB cluster. IAM roles that are associated with a DB * cluster grant permission for the DB cluster to access other Amazon services on * your behalf.

*/ inline DBCluster& AddAssociatedRoles(DBClusterRole&& value) { m_associatedRolesHasBeenSet = true; m_associatedRoles.push_back(std::move(value)); return *this; } /** *

True if mapping of Amazon Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline bool GetIAMDatabaseAuthenticationEnabled() const{ return m_iAMDatabaseAuthenticationEnabled; } /** *

True if mapping of Amazon Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline bool IAMDatabaseAuthenticationEnabledHasBeenSet() const { return m_iAMDatabaseAuthenticationEnabledHasBeenSet; } /** *

True if mapping of Amazon Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline void SetIAMDatabaseAuthenticationEnabled(bool value) { m_iAMDatabaseAuthenticationEnabledHasBeenSet = true; m_iAMDatabaseAuthenticationEnabled = value; } /** *

True if mapping of Amazon Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline DBCluster& WithIAMDatabaseAuthenticationEnabled(bool value) { SetIAMDatabaseAuthenticationEnabled(value); return *this;} /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline const Aws::String& GetCloneGroupId() const{ return m_cloneGroupId; } /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline bool CloneGroupIdHasBeenSet() const { return m_cloneGroupIdHasBeenSet; } /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline void SetCloneGroupId(const Aws::String& value) { m_cloneGroupIdHasBeenSet = true; m_cloneGroupId = value; } /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline void SetCloneGroupId(Aws::String&& value) { m_cloneGroupIdHasBeenSet = true; m_cloneGroupId = std::move(value); } /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline void SetCloneGroupId(const char* value) { m_cloneGroupIdHasBeenSet = true; m_cloneGroupId.assign(value); } /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline DBCluster& WithCloneGroupId(const Aws::String& value) { SetCloneGroupId(value); return *this;} /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline DBCluster& WithCloneGroupId(Aws::String&& value) { SetCloneGroupId(std::move(value)); return *this;} /** *

Identifies the clone group to which the DB cluster is associated.

*/ inline DBCluster& WithCloneGroupId(const char* value) { SetCloneGroupId(value); return *this;} /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline const Aws::Utils::DateTime& GetClusterCreateTime() const{ return m_clusterCreateTime; } /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline bool ClusterCreateTimeHasBeenSet() const { return m_clusterCreateTimeHasBeenSet; } /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline void SetClusterCreateTime(const Aws::Utils::DateTime& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = value; } /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline void SetClusterCreateTime(Aws::Utils::DateTime&& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = std::move(value); } /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline DBCluster& WithClusterCreateTime(const Aws::Utils::DateTime& value) { SetClusterCreateTime(value); return *this;} /** *

Specifies the time when the DB cluster was created, in Universal Coordinated * Time (UTC).

*/ inline DBCluster& WithClusterCreateTime(Aws::Utils::DateTime&& value) { SetClusterCreateTime(std::move(value)); return *this;} /** *

If set to true, tags are copied to any snapshot of the DB * cluster that is created.

*/ inline bool GetCopyTagsToSnapshot() const{ return m_copyTagsToSnapshot; } /** *

If set to true, tags are copied to any snapshot of the DB * cluster that is created.

*/ inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; } /** *

If set to true, tags are copied to any snapshot of the DB * cluster that is created.

*/ inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; } /** *

If set to true, tags are copied to any snapshot of the DB * cluster that is created.

*/ inline DBCluster& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;} /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline const Aws::Vector& GetEnabledCloudwatchLogsExports() const{ return m_enabledCloudwatchLogsExports; } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline bool EnabledCloudwatchLogsExportsHasBeenSet() const { return m_enabledCloudwatchLogsExportsHasBeenSet; } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline void SetEnabledCloudwatchLogsExports(const Aws::Vector& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports = value; } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline void SetEnabledCloudwatchLogsExports(Aws::Vector&& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports = std::move(value); } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline DBCluster& WithEnabledCloudwatchLogsExports(const Aws::Vector& value) { SetEnabledCloudwatchLogsExports(value); return *this;} /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline DBCluster& WithEnabledCloudwatchLogsExports(Aws::Vector&& value) { SetEnabledCloudwatchLogsExports(std::move(value)); return *this;} /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline DBCluster& AddEnabledCloudwatchLogsExports(const Aws::String& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(value); return *this; } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline DBCluster& AddEnabledCloudwatchLogsExports(Aws::String&& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(std::move(value)); return *this; } /** *

A list of log types that this DB cluster is configured to export to * CloudWatch Logs.

*/ inline DBCluster& AddEnabledCloudwatchLogsExports(const char* value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(value); return *this; } /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline const ClusterPendingModifiedValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; } /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; } /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline void SetPendingModifiedValues(const ClusterPendingModifiedValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; } /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline void SetPendingModifiedValues(ClusterPendingModifiedValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); } /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline DBCluster& WithPendingModifiedValues(const ClusterPendingModifiedValues& value) { SetPendingModifiedValues(value); return *this;} /** *

This data type is used as a response element in the * ModifyDBCluster operation and contains changes that will be applied * during the next maintenance window.

*/ inline DBCluster& WithPendingModifiedValues(ClusterPendingModifiedValues&& value) { SetPendingModifiedValues(std::move(value)); return *this;} /** *

Indicates whether or not the DB cluster has deletion protection enabled. The * database can't be deleted when deletion protection is enabled.

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

Indicates whether or not the DB cluster has deletion protection enabled. The * database can't be deleted when deletion protection is enabled.

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

Indicates whether or not the DB cluster has deletion protection enabled. The * database can't be deleted when deletion protection is enabled.

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

Indicates whether or not the DB cluster has deletion protection enabled. The * database can't be deleted when deletion protection is enabled.

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

If set to true, the DB cluster can be cloned across * accounts.

*/ inline bool GetCrossAccountClone() const{ return m_crossAccountClone; } /** *

If set to true, the DB cluster can be cloned across * accounts.

*/ inline bool CrossAccountCloneHasBeenSet() const { return m_crossAccountCloneHasBeenSet; } /** *

If set to true, the DB cluster can be cloned across * accounts.

*/ inline void SetCrossAccountClone(bool value) { m_crossAccountCloneHasBeenSet = true; m_crossAccountClone = value; } /** *

If set to true, the DB cluster can be cloned across * accounts.

*/ inline DBCluster& WithCrossAccountClone(bool value) { SetCrossAccountClone(value); return *this;} /** *

Time at which the DB cluster will be automatically restarted.

*/ inline const Aws::Utils::DateTime& GetAutomaticRestartTime() const{ return m_automaticRestartTime; } /** *

Time at which the DB cluster will be automatically restarted.

*/ inline bool AutomaticRestartTimeHasBeenSet() const { return m_automaticRestartTimeHasBeenSet; } /** *

Time at which the DB cluster will be automatically restarted.

*/ inline void SetAutomaticRestartTime(const Aws::Utils::DateTime& value) { m_automaticRestartTimeHasBeenSet = true; m_automaticRestartTime = value; } /** *

Time at which the DB cluster will be automatically restarted.

*/ inline void SetAutomaticRestartTime(Aws::Utils::DateTime&& value) { m_automaticRestartTimeHasBeenSet = true; m_automaticRestartTime = std::move(value); } /** *

Time at which the DB cluster will be automatically restarted.

*/ inline DBCluster& WithAutomaticRestartTime(const Aws::Utils::DateTime& value) { SetAutomaticRestartTime(value); return *this;} /** *

Time at which the DB cluster will be automatically restarted.

*/ inline DBCluster& WithAutomaticRestartTime(Aws::Utils::DateTime&& value) { SetAutomaticRestartTime(std::move(value)); return *this;} inline const ServerlessV2ScalingConfigurationInfo& GetServerlessV2ScalingConfiguration() const{ return m_serverlessV2ScalingConfiguration; } inline bool ServerlessV2ScalingConfigurationHasBeenSet() const { return m_serverlessV2ScalingConfigurationHasBeenSet; } inline void SetServerlessV2ScalingConfiguration(const ServerlessV2ScalingConfigurationInfo& value) { m_serverlessV2ScalingConfigurationHasBeenSet = true; m_serverlessV2ScalingConfiguration = value; } inline void SetServerlessV2ScalingConfiguration(ServerlessV2ScalingConfigurationInfo&& value) { m_serverlessV2ScalingConfigurationHasBeenSet = true; m_serverlessV2ScalingConfiguration = std::move(value); } inline DBCluster& WithServerlessV2ScalingConfiguration(const ServerlessV2ScalingConfigurationInfo& value) { SetServerlessV2ScalingConfiguration(value); return *this;} inline DBCluster& WithServerlessV2ScalingConfiguration(ServerlessV2ScalingConfigurationInfo&& value) { SetServerlessV2ScalingConfiguration(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 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 DBCluster& 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 DBCluster& 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 DBCluster& WithGlobalClusterIdentifier(const char* value) { SetGlobalClusterIdentifier(value); return *this;} private: int m_allocatedStorage; bool m_allocatedStorageHasBeenSet = false; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; int m_backupRetentionPeriod; bool m_backupRetentionPeriodHasBeenSet = false; Aws::String m_characterSetName; bool m_characterSetNameHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet = false; Aws::String m_dBClusterParameterGroup; bool m_dBClusterParameterGroupHasBeenSet = false; Aws::String m_dBSubnetGroup; bool m_dBSubnetGroupHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_percentProgress; bool m_percentProgressHasBeenSet = false; Aws::Utils::DateTime m_earliestRestorableTime; bool m_earliestRestorableTimeHasBeenSet = false; Aws::String m_endpoint; bool m_endpointHasBeenSet = false; Aws::String m_readerEndpoint; bool m_readerEndpointHasBeenSet = false; bool m_multiAZ; bool m_multiAZHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::Utils::DateTime m_latestRestorableTime; bool m_latestRestorableTimeHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet = false; Aws::Vector m_dBClusterOptionGroupMemberships; bool m_dBClusterOptionGroupMembershipsHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; Aws::String m_replicationSourceIdentifier; bool m_replicationSourceIdentifierHasBeenSet = false; Aws::Vector m_readReplicaIdentifiers; bool m_readReplicaIdentifiersHasBeenSet = false; Aws::Vector m_dBClusterMembers; bool m_dBClusterMembersHasBeenSet = false; Aws::Vector m_vpcSecurityGroups; bool m_vpcSecurityGroupsHasBeenSet = false; Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_dbClusterResourceId; bool m_dbClusterResourceIdHasBeenSet = false; Aws::String m_dBClusterArn; bool m_dBClusterArnHasBeenSet = false; Aws::Vector m_associatedRoles; bool m_associatedRolesHasBeenSet = false; bool m_iAMDatabaseAuthenticationEnabled; bool m_iAMDatabaseAuthenticationEnabledHasBeenSet = false; Aws::String m_cloneGroupId; bool m_cloneGroupIdHasBeenSet = false; Aws::Utils::DateTime m_clusterCreateTime; bool m_clusterCreateTimeHasBeenSet = false; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet = false; Aws::Vector m_enabledCloudwatchLogsExports; bool m_enabledCloudwatchLogsExportsHasBeenSet = false; ClusterPendingModifiedValues m_pendingModifiedValues; bool m_pendingModifiedValuesHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; bool m_crossAccountClone; bool m_crossAccountCloneHasBeenSet = false; Aws::Utils::DateTime m_automaticRestartTime; bool m_automaticRestartTimeHasBeenSet = false; ServerlessV2ScalingConfigurationInfo m_serverlessV2ScalingConfiguration; bool m_serverlessV2ScalingConfigurationHasBeenSet = false; Aws::String m_globalClusterIdentifier; bool m_globalClusterIdentifierHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws