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

Contains the details of an Amazon Aurora DB cluster.

This data type * is used as a response element in the DescribeDBClusters, * StopDBCluster, and StartDBCluster actions. *

See Also:

AWS API * Reference

*/ class AWS_RDS_API DBCluster { public: DBCluster(); DBCluster(const Aws::Utils::Xml::XmlNode& xmlNode); DBCluster& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

For all database engines except Amazon Aurora, AllocatedStorage * specifies the allocated storage size in gibibytes (GiB). For Aurora, * AllocatedStorage always returns 1, because Aurora DB cluster * storage size isn't fixed, but instead automatically adjusts as needed.

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

For all database engines except Amazon Aurora, AllocatedStorage * specifies the allocated storage size in gibibytes (GiB). For Aurora, * AllocatedStorage always returns 1, because Aurora DB cluster * storage size isn't fixed, but instead automatically adjusts as needed.

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

For all database engines except Amazon Aurora, AllocatedStorage * specifies the allocated storage size in gibibytes (GiB). For Aurora, * AllocatedStorage always returns 1, because Aurora DB cluster * storage size isn't fixed, but instead automatically adjusts as needed.

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

For all database engines except Amazon Aurora, AllocatedStorage * specifies the allocated storage size in gibibytes (GiB). For Aurora, * AllocatedStorage always returns 1, because Aurora DB cluster * storage size isn't fixed, but instead automatically adjusts as needed.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

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

Provides the list of Availability Zones (AZs) where instances in the DB * cluster can be created.

*/ 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;} /** *

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

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

If present, specifies the name of the character set that this cluster is * associated with.

*/ 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;} /** *

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; } /** *

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

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

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; } /** *

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); } /** *

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;} /** *

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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * 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 Aurora Replicas that are available in a DB * cluster. As clients request new connections to the reader endpoint, Aurora * distributes the connection requests among the Aurora Replicas in the DB cluster. * This functionality can help balance your read workload across multiple Aurora * Replicas in your DB cluster.

If a failover occurs, and the Aurora * 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 Aurora * Replicas in the cluster, you can then reconnect to the reader endpoint.

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

Identifies all custom endpoints associated with the cluster.

*/ inline const Aws::Vector& GetCustomEndpoints() const{ return m_customEndpoints; } /** *

Identifies all custom endpoints associated with the cluster.

*/ inline bool CustomEndpointsHasBeenSet() const { return m_customEndpointsHasBeenSet; } /** *

Identifies all custom endpoints associated with the cluster.

*/ inline void SetCustomEndpoints(const Aws::Vector& value) { m_customEndpointsHasBeenSet = true; m_customEndpoints = value; } /** *

Identifies all custom endpoints associated with the cluster.

*/ inline void SetCustomEndpoints(Aws::Vector&& value) { m_customEndpointsHasBeenSet = true; m_customEndpoints = std::move(value); } /** *

Identifies all custom endpoints associated with the cluster.

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

Identifies all custom endpoints associated with the cluster.

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

Identifies all custom endpoints associated with the cluster.

*/ inline DBCluster& AddCustomEndpoints(const Aws::String& value) { m_customEndpointsHasBeenSet = true; m_customEndpoints.push_back(value); return *this; } /** *

Identifies all custom endpoints associated with the cluster.

*/ inline DBCluster& AddCustomEndpoints(Aws::String&& value) { m_customEndpointsHasBeenSet = true; m_customEndpoints.push_back(std::move(value)); return *this; } /** *

Identifies all custom endpoints associated with the cluster.

*/ inline DBCluster& AddCustomEndpoints(const char* value) { m_customEndpointsHasBeenSet = true; m_customEndpoints.push_back(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;} /** *

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Contains the master username for the DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

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

Provides the list of option group memberships for this DB cluster.

*/ 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;} /** *

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

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

Contains the identifier of the source DB cluster if this DB cluster is a read * replica.

*/ 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 enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS 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 enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

If StorageEncrypted is enabled, the AWS KMS key identifier for * the encrypted DB cluster.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The AWS Region-unique, immutable identifier for the DB cluster. This * identifier is found in AWS CloudTrail log entries whenever the AWS 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 AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS services on your * behalf.

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

Provides a list of the AWS 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 AWS 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 AWS 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 AWS services on your * behalf.

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

A value that indicates whether the mapping of AWS Identity and Access * Management (IAM) accounts to database accounts is enabled.

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

A value that indicates whether the mapping of AWS Identity and Access * Management (IAM) accounts to database accounts is enabled.

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

A value that indicates whether the mapping of AWS Identity and Access * Management (IAM) accounts to database accounts is enabled.

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

A value that indicates whether the mapping of AWS Identity and Access * Management (IAM) accounts to database accounts is enabled.

*/ 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;} /** *

The earliest time to which a DB cluster can be backtracked.

*/ inline const Aws::Utils::DateTime& GetEarliestBacktrackTime() const{ return m_earliestBacktrackTime; } /** *

The earliest time to which a DB cluster can be backtracked.

*/ inline bool EarliestBacktrackTimeHasBeenSet() const { return m_earliestBacktrackTimeHasBeenSet; } /** *

The earliest time to which a DB cluster can be backtracked.

*/ inline void SetEarliestBacktrackTime(const Aws::Utils::DateTime& value) { m_earliestBacktrackTimeHasBeenSet = true; m_earliestBacktrackTime = value; } /** *

The earliest time to which a DB cluster can be backtracked.

*/ inline void SetEarliestBacktrackTime(Aws::Utils::DateTime&& value) { m_earliestBacktrackTimeHasBeenSet = true; m_earliestBacktrackTime = std::move(value); } /** *

The earliest time to which a DB cluster can be backtracked.

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

The earliest time to which a DB cluster can be backtracked.

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

The target backtrack window, in seconds. If this value is set to 0, * backtracking is disabled for the DB cluster. Otherwise, backtracking is * enabled.

*/ inline long long GetBacktrackWindow() const{ return m_backtrackWindow; } /** *

The target backtrack window, in seconds. If this value is set to 0, * backtracking is disabled for the DB cluster. Otherwise, backtracking is * enabled.

*/ inline bool BacktrackWindowHasBeenSet() const { return m_backtrackWindowHasBeenSet; } /** *

The target backtrack window, in seconds. If this value is set to 0, * backtracking is disabled for the DB cluster. Otherwise, backtracking is * enabled.

*/ inline void SetBacktrackWindow(long long value) { m_backtrackWindowHasBeenSet = true; m_backtrackWindow = value; } /** *

The target backtrack window, in seconds. If this value is set to 0, * backtracking is disabled for the DB cluster. Otherwise, backtracking is * enabled.

*/ inline DBCluster& WithBacktrackWindow(long long value) { SetBacktrackWindow(value); return *this;} /** *

The number of change records stored for Backtrack.

*/ inline long long GetBacktrackConsumedChangeRecords() const{ return m_backtrackConsumedChangeRecords; } /** *

The number of change records stored for Backtrack.

*/ inline bool BacktrackConsumedChangeRecordsHasBeenSet() const { return m_backtrackConsumedChangeRecordsHasBeenSet; } /** *

The number of change records stored for Backtrack.

*/ inline void SetBacktrackConsumedChangeRecords(long long value) { m_backtrackConsumedChangeRecordsHasBeenSet = true; m_backtrackConsumedChangeRecords = value; } /** *

The number of change records stored for Backtrack.

*/ inline DBCluster& WithBacktrackConsumedChangeRecords(long long value) { SetBacktrackConsumedChangeRecords(value); return *this;} /** *

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

Log types vary by DB engine. For information about the * log types for each DB engine, see Amazon * RDS Database Log Files in the Amazon Aurora User Guide.

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

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 * (zero) when the cluster is paused.

For more information about Aurora * Serverless, see Using * Amazon Aurora Serverless in the Amazon Aurora User Guide.

*/ inline int GetCapacity() const{ return m_capacity; } /** *

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 * (zero) when the cluster is paused.

For more information about Aurora * Serverless, see Using * Amazon Aurora Serverless in the Amazon Aurora User Guide.

*/ inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; } /** *

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 * (zero) when the cluster is paused.

For more information about Aurora * Serverless, see Using * Amazon Aurora Serverless in the Amazon Aurora User Guide.

*/ inline void SetCapacity(int value) { m_capacityHasBeenSet = true; m_capacity = value; } /** *

The current capacity of an Aurora Serverless DB cluster. The capacity is 0 * (zero) when the cluster is paused.

For more information about Aurora * Serverless, see Using * Amazon Aurora Serverless in the Amazon Aurora User Guide.

*/ inline DBCluster& WithCapacity(int value) { SetCapacity(value); return *this;} /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline const Aws::String& GetEngineMode() const{ return m_engineMode; } /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline bool EngineModeHasBeenSet() const { return m_engineModeHasBeenSet; } /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline void SetEngineMode(const Aws::String& value) { m_engineModeHasBeenSet = true; m_engineMode = value; } /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline void SetEngineMode(Aws::String&& value) { m_engineModeHasBeenSet = true; m_engineMode = std::move(value); } /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline void SetEngineMode(const char* value) { m_engineModeHasBeenSet = true; m_engineMode.assign(value); } /** *

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

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

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

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

The DB engine mode of the DB cluster, either provisioned, * serverless, parallelquery, global, or * multimaster.

global engine mode only * applies for global database clusters created with Aurora MySQL version 5.6.10a. * For higher Aurora MySQL versions, the clusters in a global database use * provisioned engine mode. To check if a DB cluster is part of a * global database, use DescribeGlobalClusters instead of checking the * EngineMode return value from DescribeDBClusters.

* */ inline DBCluster& WithEngineMode(const char* value) { SetEngineMode(value); return *this;} inline const ScalingConfigurationInfo& GetScalingConfigurationInfo() const{ return m_scalingConfigurationInfo; } inline bool ScalingConfigurationInfoHasBeenSet() const { return m_scalingConfigurationInfoHasBeenSet; } inline void SetScalingConfigurationInfo(const ScalingConfigurationInfo& value) { m_scalingConfigurationInfoHasBeenSet = true; m_scalingConfigurationInfo = value; } inline void SetScalingConfigurationInfo(ScalingConfigurationInfo&& value) { m_scalingConfigurationInfoHasBeenSet = true; m_scalingConfigurationInfo = std::move(value); } inline DBCluster& WithScalingConfigurationInfo(const ScalingConfigurationInfo& value) { SetScalingConfigurationInfo(value); return *this;} inline DBCluster& WithScalingConfigurationInfo(ScalingConfigurationInfo&& value) { SetScalingConfigurationInfo(std::move(value)); return *this;} /** *

Indicates if 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 if 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 if 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 if 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;} /** *

A value that indicates whether the HTTP endpoint for an Aurora Serverless DB * cluster is enabled.

When enabled, the HTTP endpoint provides a * connectionless web service API for running SQL queries on the Aurora Serverless * DB cluster. You can also query your database from inside the RDS console with * the query editor.

For more information, see Using * the Data API for Aurora Serverless in the Amazon Aurora User * Guide.

*/ inline bool GetHttpEndpointEnabled() const{ return m_httpEndpointEnabled; } /** *

A value that indicates whether the HTTP endpoint for an Aurora Serverless DB * cluster is enabled.

When enabled, the HTTP endpoint provides a * connectionless web service API for running SQL queries on the Aurora Serverless * DB cluster. You can also query your database from inside the RDS console with * the query editor.

For more information, see Using * the Data API for Aurora Serverless in the Amazon Aurora User * Guide.

*/ inline bool HttpEndpointEnabledHasBeenSet() const { return m_httpEndpointEnabledHasBeenSet; } /** *

A value that indicates whether the HTTP endpoint for an Aurora Serverless DB * cluster is enabled.

When enabled, the HTTP endpoint provides a * connectionless web service API for running SQL queries on the Aurora Serverless * DB cluster. You can also query your database from inside the RDS console with * the query editor.

For more information, see Using * the Data API for Aurora Serverless in the Amazon Aurora User * Guide.

*/ inline void SetHttpEndpointEnabled(bool value) { m_httpEndpointEnabledHasBeenSet = true; m_httpEndpointEnabled = value; } /** *

A value that indicates whether the HTTP endpoint for an Aurora Serverless DB * cluster is enabled.

When enabled, the HTTP endpoint provides a * connectionless web service API for running SQL queries on the Aurora Serverless * DB cluster. You can also query your database from inside the RDS console with * the query editor.

For more information, see Using * the Data API for Aurora Serverless in the Amazon Aurora User * Guide.

*/ inline DBCluster& WithHttpEndpointEnabled(bool value) { SetHttpEndpointEnabled(value); return *this;} /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline const ActivityStreamMode& GetActivityStreamMode() const{ return m_activityStreamMode; } /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline bool ActivityStreamModeHasBeenSet() const { return m_activityStreamModeHasBeenSet; } /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline void SetActivityStreamMode(const ActivityStreamMode& value) { m_activityStreamModeHasBeenSet = true; m_activityStreamMode = value; } /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline void SetActivityStreamMode(ActivityStreamMode&& value) { m_activityStreamModeHasBeenSet = true; m_activityStreamMode = std::move(value); } /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline DBCluster& WithActivityStreamMode(const ActivityStreamMode& value) { SetActivityStreamMode(value); return *this;} /** *

The mode of the database activity stream. Database events such as a change or * access generate an activity stream event. The database session can handle these * events either synchronously or asynchronously.

*/ inline DBCluster& WithActivityStreamMode(ActivityStreamMode&& value) { SetActivityStreamMode(std::move(value)); return *this;} /** *

The status of the database activity stream.

*/ inline const ActivityStreamStatus& GetActivityStreamStatus() const{ return m_activityStreamStatus; } /** *

The status of the database activity stream.

*/ inline bool ActivityStreamStatusHasBeenSet() const { return m_activityStreamStatusHasBeenSet; } /** *

The status of the database activity stream.

*/ inline void SetActivityStreamStatus(const ActivityStreamStatus& value) { m_activityStreamStatusHasBeenSet = true; m_activityStreamStatus = value; } /** *

The status of the database activity stream.

*/ inline void SetActivityStreamStatus(ActivityStreamStatus&& value) { m_activityStreamStatusHasBeenSet = true; m_activityStreamStatus = std::move(value); } /** *

The status of the database activity stream.

*/ inline DBCluster& WithActivityStreamStatus(const ActivityStreamStatus& value) { SetActivityStreamStatus(value); return *this;} /** *

The status of the database activity stream.

*/ inline DBCluster& WithActivityStreamStatus(ActivityStreamStatus&& value) { SetActivityStreamStatus(std::move(value)); return *this;} /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline const Aws::String& GetActivityStreamKmsKeyId() const{ return m_activityStreamKmsKeyId; } /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline bool ActivityStreamKmsKeyIdHasBeenSet() const { return m_activityStreamKmsKeyIdHasBeenSet; } /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline void SetActivityStreamKmsKeyId(const Aws::String& value) { m_activityStreamKmsKeyIdHasBeenSet = true; m_activityStreamKmsKeyId = value; } /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline void SetActivityStreamKmsKeyId(Aws::String&& value) { m_activityStreamKmsKeyIdHasBeenSet = true; m_activityStreamKmsKeyId = std::move(value); } /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline void SetActivityStreamKmsKeyId(const char* value) { m_activityStreamKmsKeyIdHasBeenSet = true; m_activityStreamKmsKeyId.assign(value); } /** *

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

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

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

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

The AWS KMS key identifier used for encrypting messages in the database * activity stream.

*/ inline DBCluster& WithActivityStreamKmsKeyId(const char* value) { SetActivityStreamKmsKeyId(value); return *this;} /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline const Aws::String& GetActivityStreamKinesisStreamName() const{ return m_activityStreamKinesisStreamName; } /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline bool ActivityStreamKinesisStreamNameHasBeenSet() const { return m_activityStreamKinesisStreamNameHasBeenSet; } /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline void SetActivityStreamKinesisStreamName(const Aws::String& value) { m_activityStreamKinesisStreamNameHasBeenSet = true; m_activityStreamKinesisStreamName = value; } /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline void SetActivityStreamKinesisStreamName(Aws::String&& value) { m_activityStreamKinesisStreamNameHasBeenSet = true; m_activityStreamKinesisStreamName = std::move(value); } /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline void SetActivityStreamKinesisStreamName(const char* value) { m_activityStreamKinesisStreamNameHasBeenSet = true; m_activityStreamKinesisStreamName.assign(value); } /** *

The name of the Amazon Kinesis data stream used for the database activity * stream.

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

The name of the Amazon Kinesis data stream used for the database activity * stream.

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

The name of the Amazon Kinesis data stream used for the database activity * stream.

*/ inline DBCluster& WithActivityStreamKinesisStreamName(const char* value) { SetActivityStreamKinesisStreamName(value); return *this;} /** *

Specifies whether tags are copied from the DB cluster to snapshots of the DB * cluster.

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

Specifies whether tags are copied from the DB cluster to snapshots of the DB * cluster.

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

Specifies whether tags are copied from the DB cluster to snapshots of the DB * cluster.

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

Specifies whether tags are copied from the DB cluster to snapshots of the DB * cluster.

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

Specifies whether the DB cluster is a clone of a DB cluster owned by a * different AWS account.

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

Specifies whether the DB cluster is a clone of a DB cluster owned by a * different AWS account.

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

Specifies whether the DB cluster is a clone of a DB cluster owned by a * different AWS account.

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

Specifies whether the DB cluster is a clone of a DB cluster owned by a * different AWS account.

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

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline const Aws::Vector& GetDomainMemberships() const{ return m_domainMemberships; } /** *

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline bool DomainMembershipsHasBeenSet() const { return m_domainMembershipsHasBeenSet; } /** *

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline void SetDomainMemberships(const Aws::Vector& value) { m_domainMembershipsHasBeenSet = true; m_domainMemberships = value; } /** *

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline void SetDomainMemberships(Aws::Vector&& value) { m_domainMembershipsHasBeenSet = true; m_domainMemberships = std::move(value); } /** *

The Active Directory Domain membership records associated with the DB * cluster.

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

The Active Directory Domain membership records associated with the DB * cluster.

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

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline DBCluster& AddDomainMemberships(const DomainMembership& value) { m_domainMembershipsHasBeenSet = true; m_domainMemberships.push_back(value); return *this; } /** *

The Active Directory Domain membership records associated with the DB * cluster.

*/ inline DBCluster& AddDomainMemberships(DomainMembership&& value) { m_domainMembershipsHasBeenSet = true; m_domainMemberships.push_back(std::move(value)); return *this; } /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline DBCluster& WithGlobalWriteForwardingStatus(WriteForwardingStatus&& value) { SetGlobalWriteForwardingStatus(std::move(value)); return *this;} /** *

Specifies whether you have requested to enable write forwarding for a * secondary cluster in an Aurora global database. Because write forwarding takes * time to enable, check the value of GlobalWriteForwardingStatus to * confirm that the request has completed before using the write forwarding feature * for this cluster.

*/ inline bool GetGlobalWriteForwardingRequested() const{ return m_globalWriteForwardingRequested; } /** *

Specifies whether you have requested to enable write forwarding for a * secondary cluster in an Aurora global database. Because write forwarding takes * time to enable, check the value of GlobalWriteForwardingStatus to * confirm that the request has completed before using the write forwarding feature * for this cluster.

*/ inline bool GlobalWriteForwardingRequestedHasBeenSet() const { return m_globalWriteForwardingRequestedHasBeenSet; } /** *

Specifies whether you have requested to enable write forwarding for a * secondary cluster in an Aurora global database. Because write forwarding takes * time to enable, check the value of GlobalWriteForwardingStatus to * confirm that the request has completed before using the write forwarding feature * for this cluster.

*/ inline void SetGlobalWriteForwardingRequested(bool value) { m_globalWriteForwardingRequestedHasBeenSet = true; m_globalWriteForwardingRequested = value; } /** *

Specifies whether you have requested to enable write forwarding for a * secondary cluster in an Aurora global database. Because write forwarding takes * time to enable, check the value of GlobalWriteForwardingStatus to * confirm that the request has completed before using the write forwarding feature * for this cluster.

*/ inline DBCluster& WithGlobalWriteForwardingRequested(bool value) { SetGlobalWriteForwardingRequested(value); return *this;} private: int m_allocatedStorage; bool m_allocatedStorageHasBeenSet; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet; int m_backupRetentionPeriod; bool m_backupRetentionPeriodHasBeenSet; Aws::String m_characterSetName; bool m_characterSetNameHasBeenSet; Aws::String m_databaseName; bool m_databaseNameHasBeenSet; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet; Aws::String m_dBClusterParameterGroup; bool m_dBClusterParameterGroupHasBeenSet; Aws::String m_dBSubnetGroup; bool m_dBSubnetGroupHasBeenSet; Aws::String m_status; bool m_statusHasBeenSet; Aws::String m_percentProgress; bool m_percentProgressHasBeenSet; Aws::Utils::DateTime m_earliestRestorableTime; bool m_earliestRestorableTimeHasBeenSet; Aws::String m_endpoint; bool m_endpointHasBeenSet; Aws::String m_readerEndpoint; bool m_readerEndpointHasBeenSet; Aws::Vector m_customEndpoints; bool m_customEndpointsHasBeenSet; bool m_multiAZ; bool m_multiAZHasBeenSet; Aws::String m_engine; bool m_engineHasBeenSet; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet; Aws::Utils::DateTime m_latestRestorableTime; bool m_latestRestorableTimeHasBeenSet; int m_port; bool m_portHasBeenSet; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet; Aws::Vector m_dBClusterOptionGroupMemberships; bool m_dBClusterOptionGroupMembershipsHasBeenSet; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet; Aws::String m_replicationSourceIdentifier; bool m_replicationSourceIdentifierHasBeenSet; Aws::Vector m_readReplicaIdentifiers; bool m_readReplicaIdentifiersHasBeenSet; Aws::Vector m_dBClusterMembers; bool m_dBClusterMembersHasBeenSet; Aws::Vector m_vpcSecurityGroups; bool m_vpcSecurityGroupsHasBeenSet; Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet; Aws::String m_dbClusterResourceId; bool m_dbClusterResourceIdHasBeenSet; Aws::String m_dBClusterArn; bool m_dBClusterArnHasBeenSet; Aws::Vector m_associatedRoles; bool m_associatedRolesHasBeenSet; bool m_iAMDatabaseAuthenticationEnabled; bool m_iAMDatabaseAuthenticationEnabledHasBeenSet; Aws::String m_cloneGroupId; bool m_cloneGroupIdHasBeenSet; Aws::Utils::DateTime m_clusterCreateTime; bool m_clusterCreateTimeHasBeenSet; Aws::Utils::DateTime m_earliestBacktrackTime; bool m_earliestBacktrackTimeHasBeenSet; long long m_backtrackWindow; bool m_backtrackWindowHasBeenSet; long long m_backtrackConsumedChangeRecords; bool m_backtrackConsumedChangeRecordsHasBeenSet; Aws::Vector m_enabledCloudwatchLogsExports; bool m_enabledCloudwatchLogsExportsHasBeenSet; int m_capacity; bool m_capacityHasBeenSet; Aws::String m_engineMode; bool m_engineModeHasBeenSet; ScalingConfigurationInfo m_scalingConfigurationInfo; bool m_scalingConfigurationInfoHasBeenSet; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet; bool m_httpEndpointEnabled; bool m_httpEndpointEnabledHasBeenSet; ActivityStreamMode m_activityStreamMode; bool m_activityStreamModeHasBeenSet; ActivityStreamStatus m_activityStreamStatus; bool m_activityStreamStatusHasBeenSet; Aws::String m_activityStreamKmsKeyId; bool m_activityStreamKmsKeyIdHasBeenSet; Aws::String m_activityStreamKinesisStreamName; bool m_activityStreamKinesisStreamNameHasBeenSet; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet; bool m_crossAccountClone; bool m_crossAccountCloneHasBeenSet; Aws::Vector m_domainMemberships; bool m_domainMembershipsHasBeenSet; WriteForwardingStatus m_globalWriteForwardingStatus; bool m_globalWriteForwardingStatusHasBeenSet; bool m_globalWriteForwardingRequested; bool m_globalWriteForwardingRequestedHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws