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

Detailed information about a cluster.

See Also:

AWS API * Reference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifies information on the subnet group that is associated with the * 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 that is associated with the * cluster, including the name, description, and subnets in the subnet group.

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

Specifies information on the subnet group that is associated with the * 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 that is associated with the * 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 that is associated with the * 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 that is associated with the * 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 that is associated with the * 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 that is associated with the * 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 cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this cluster.

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

Specifies the current state of this 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 * cluster.

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

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

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

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

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

Specifies the connection endpoint for the primary instance of the * 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 * cluster.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifies whether the 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 cluster.

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

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

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

Provides the name of the database engine to be used for this 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 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 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 cluster.

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

Provides the name of the database engine to be used for this 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 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 user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

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

Contains the master user name for the cluster.

*/ inline DBCluster& WithMasterUsername(const char* value) { SetMasterUsername(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 cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains the identifier of the source cluster if this cluster is a secondary * cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this cluster.

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

Contains one or more identifiers of the secondary clusters that are * associated with this 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 secondary clusters that are * associated with this 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 secondary clusters that are * associated with this 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 cluster.

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

Provides the list of instances that make up the cluster.

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

Provides the list of instances that make up the cluster.

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

Provides the list of instances that make up the cluster.

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

Provides the list of instances that make up the cluster.

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

Provides the list of instances that make up the cluster.

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

Provides the list of instances that make up the 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 cluster.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * cluster belongs to.

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

Provides a list of virtual private cloud (VPC) security groups that the * 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 cluster is encrypted.

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

Specifies whether the cluster is encrypted.

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

Specifies whether the cluster is encrypted.

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

Specifies whether the cluster is encrypted.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

The Amazon Resource Name (ARN) for the cluster.

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

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

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

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

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

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

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

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

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

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

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

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

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

Provides a list of the Identity and Access Management (IAM) roles that are * associated with the cluster. (IAM) roles that are associated with a cluster * grant permission for the cluster to access other Amazon Web Services 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 Identity and Access Management (IAM) roles that are * associated with the cluster. (IAM) roles that are associated with a cluster * grant permission for the cluster to access other Amazon Web Services services on * your behalf.

*/ inline DBCluster& AddAssociatedRoles(DBClusterRole&& value) { m_associatedRolesHasBeenSet = true; m_associatedRoles.push_back(std::move(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 cluster was created, in Universal Coordinated * Time (UTC).

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

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

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

Specifies the time when the 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 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 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 cluster was created, in Universal Coordinated * Time (UTC).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifies whether this cluster can be deleted. If * DeletionProtection is enabled, the cluster cannot be deleted unless * it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally * deleted.

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

Specifies whether this cluster can be deleted. If * DeletionProtection is enabled, the cluster cannot be deleted unless * it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally * deleted.

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

Specifies whether this cluster can be deleted. If * DeletionProtection is enabled, the cluster cannot be deleted unless * it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally * deleted.

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

Specifies whether this cluster can be deleted. If * DeletionProtection is enabled, the cluster cannot be deleted unless * it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally * deleted.

*/ inline DBCluster& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} private: Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; int m_backupRetentionPeriod; bool m_backupRetentionPeriodHasBeenSet = false; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet = false; Aws::String m_dBClusterParameterGroup; bool m_dBClusterParameterGroupHasBeenSet = false; Aws::String m_dBSubnetGroup; bool m_dBSubnetGroupHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_percentProgress; bool m_percentProgressHasBeenSet = false; Aws::Utils::DateTime m_earliestRestorableTime; bool m_earliestRestorableTimeHasBeenSet = false; Aws::String m_endpoint; bool m_endpointHasBeenSet = false; Aws::String m_readerEndpoint; bool m_readerEndpointHasBeenSet = false; bool m_multiAZ; bool m_multiAZHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::Utils::DateTime m_latestRestorableTime; bool m_latestRestorableTimeHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; Aws::String m_replicationSourceIdentifier; bool m_replicationSourceIdentifierHasBeenSet = false; Aws::Vector m_readReplicaIdentifiers; bool m_readReplicaIdentifiersHasBeenSet = false; Aws::Vector m_dBClusterMembers; bool m_dBClusterMembersHasBeenSet = false; Aws::Vector m_vpcSecurityGroups; bool m_vpcSecurityGroupsHasBeenSet = false; Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_dbClusterResourceId; bool m_dbClusterResourceIdHasBeenSet = false; Aws::String m_dBClusterArn; bool m_dBClusterArnHasBeenSet = false; Aws::Vector m_associatedRoles; bool m_associatedRolesHasBeenSet = false; Aws::String m_cloneGroupId; bool m_cloneGroupIdHasBeenSet = false; Aws::Utils::DateTime m_clusterCreateTime; bool m_clusterCreateTimeHasBeenSet = false; Aws::Vector m_enabledCloudwatchLogsExports; bool m_enabledCloudwatchLogsExportsHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws