7#include <aws/docdb/DocDB_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/docdb/model/ClusterMasterUserSecret.h>
13#include <aws/docdb/model/DBClusterMember.h>
14#include <aws/docdb/model/VpcSecurityGroupMembership.h>
15#include <aws/docdb/model/DBClusterRole.h>
55 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
56 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
57 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
59 template<
typename AvailabilityZonesT = Aws::String>
60 DBCluster&
AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
return *
this; }
80 template<
typename DBClusterIdentifierT = Aws::String>
81 void SetDBClusterIdentifier(DBClusterIdentifierT&& value) { m_dBClusterIdentifierHasBeenSet =
true; m_dBClusterIdentifier = std::forward<DBClusterIdentifierT>(value); }
82 template<
typename DBClusterIdentifierT = Aws::String>
92 template<
typename DBClusterParameterGroupT = Aws::String>
93 void SetDBClusterParameterGroup(DBClusterParameterGroupT&& value) { m_dBClusterParameterGroupHasBeenSet =
true; m_dBClusterParameterGroup = std::forward<DBClusterParameterGroupT>(value); }
94 template<
typename DBClusterParameterGroupT = Aws::String>
105 template<
typename DBSubnetGroupT = Aws::String>
106 void SetDBSubnetGroup(DBSubnetGroupT&& value) { m_dBSubnetGroupHasBeenSet =
true; m_dBSubnetGroup = std::forward<DBSubnetGroupT>(value); }
107 template<
typename DBSubnetGroupT = Aws::String>
117 template<
typename StatusT = Aws::String>
118 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
119 template<
typename StatusT = Aws::String>
129 template<
typename PercentProgressT = Aws::String>
130 void SetPercentProgress(PercentProgressT&& value) { m_percentProgressHasBeenSet =
true; m_percentProgress = std::forward<PercentProgressT>(value); }
131 template<
typename PercentProgressT = Aws::String>
142 template<
typename EarliestRestorableTimeT = Aws::Utils::DateTime>
143 void SetEarliestRestorableTime(EarliestRestorableTimeT&& value) { m_earliestRestorableTimeHasBeenSet =
true; m_earliestRestorableTime = std::forward<EarliestRestorableTimeT>(value); }
144 template<
typename EarliestRestorableTimeT = Aws::Utils::DateTime>
155 template<
typename Endpo
intT = Aws::String>
156 void SetEndpoint(EndpointT&& value) { m_endpointHasBeenSet =
true; m_endpoint = std::forward<EndpointT>(value); }
157 template<
typename Endpo
intT = Aws::String>
176 template<
typename ReaderEndpo
intT = Aws::String>
177 void SetReaderEndpoint(ReaderEndpointT&& value) { m_readerEndpointHasBeenSet =
true; m_readerEndpoint = std::forward<ReaderEndpointT>(value); }
178 template<
typename ReaderEndpo
intT = Aws::String>
189 inline void SetMultiAZ(
bool value) { m_multiAZHasBeenSet =
true; m_multiAZ = value; }
199 template<
typename EngineT = Aws::String>
200 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
201 template<
typename EngineT = Aws::String>
211 template<
typename EngineVersionT = Aws::String>
212 void SetEngineVersion(EngineVersionT&& value) { m_engineVersionHasBeenSet =
true; m_engineVersion = std::forward<EngineVersionT>(value); }
213 template<
typename EngineVersionT = Aws::String>
224 template<
typename LatestRestorableTimeT = Aws::Utils::DateTime>
225 void SetLatestRestorableTime(LatestRestorableTimeT&& value) { m_latestRestorableTimeHasBeenSet =
true; m_latestRestorableTime = std::forward<LatestRestorableTimeT>(value); }
226 template<
typename LatestRestorableTimeT = Aws::Utils::DateTime>
236 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
246 template<
typename MasterUsernameT = Aws::String>
247 void SetMasterUsername(MasterUsernameT&& value) { m_masterUsernameHasBeenSet =
true; m_masterUsername = std::forward<MasterUsernameT>(value); }
248 template<
typename MasterUsernameT = Aws::String>
260 template<
typename PreferredBackupWindowT = Aws::String>
261 void SetPreferredBackupWindow(PreferredBackupWindowT&& value) { m_preferredBackupWindowHasBeenSet =
true; m_preferredBackupWindow = std::forward<PreferredBackupWindowT>(value); }
262 template<
typename PreferredBackupWindowT = Aws::String>
273 template<
typename PreferredMa
intenanceWindowT = Aws::String>
274 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
275 template<
typename PreferredMa
intenanceWindowT = Aws::String>
286 template<
typename ReplicationSourceIdentifierT = Aws::String>
287 void SetReplicationSourceIdentifier(ReplicationSourceIdentifierT&& value) { m_replicationSourceIdentifierHasBeenSet =
true; m_replicationSourceIdentifier = std::forward<ReplicationSourceIdentifierT>(value); }
288 template<
typename ReplicationSourceIdentifierT = Aws::String>
299 template<
typename ReadReplicaIdentifiersT = Aws::Vector<Aws::String>>
300 void SetReadReplicaIdentifiers(ReadReplicaIdentifiersT&& value) { m_readReplicaIdentifiersHasBeenSet =
true; m_readReplicaIdentifiers = std::forward<ReadReplicaIdentifiersT>(value); }
301 template<
typename ReadReplicaIdentifiersT = Aws::Vector<Aws::String>>
303 template<
typename ReadReplicaIdentifiersT = Aws::String>
304 DBCluster&
AddReadReplicaIdentifiers(ReadReplicaIdentifiersT&& value) { m_readReplicaIdentifiersHasBeenSet =
true; m_readReplicaIdentifiers.emplace_back(std::forward<ReadReplicaIdentifiersT>(value));
return *
this; }
313 template<
typename DBClusterMembersT = Aws::Vector<DBClusterMember>>
314 void SetDBClusterMembers(DBClusterMembersT&& value) { m_dBClusterMembersHasBeenSet =
true; m_dBClusterMembers = std::forward<DBClusterMembersT>(value); }
315 template<
typename DBClusterMembersT = Aws::Vector<DBClusterMember>>
317 template<
typename DBClusterMembersT = DBClusterMember>
318 DBCluster&
AddDBClusterMembers(DBClusterMembersT&& value) { m_dBClusterMembersHasBeenSet =
true; m_dBClusterMembers.emplace_back(std::forward<DBClusterMembersT>(value));
return *
this; }
328 template<
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
329 void SetVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet =
true; m_vpcSecurityGroups = std::forward<VpcSecurityGroupsT>(value); }
330 template<
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
332 template<
typename VpcSecurityGroupsT = VpcSecurityGroupMembership>
333 DBCluster&
AddVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet =
true; m_vpcSecurityGroups.emplace_back(std::forward<VpcSecurityGroupsT>(value));
return *
this; }
343 template<
typename HostedZoneIdT = Aws::String>
344 void SetHostedZoneId(HostedZoneIdT&& value) { m_hostedZoneIdHasBeenSet =
true; m_hostedZoneId = std::forward<HostedZoneIdT>(value); }
345 template<
typename HostedZoneIdT = Aws::String>
355 inline void SetStorageEncrypted(
bool value) { m_storageEncryptedHasBeenSet =
true; m_storageEncrypted = value; }
366 template<
typename KmsKeyIdT = Aws::String>
367 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
368 template<
typename KmsKeyIdT = Aws::String>
380 template<
typename DbClusterResourceIdT = Aws::String>
381 void SetDbClusterResourceId(DbClusterResourceIdT&& value) { m_dbClusterResourceIdHasBeenSet =
true; m_dbClusterResourceId = std::forward<DbClusterResourceIdT>(value); }
382 template<
typename DbClusterResourceIdT = Aws::String>
392 template<
typename DBClusterArnT = Aws::String>
393 void SetDBClusterArn(DBClusterArnT&& value) { m_dBClusterArnHasBeenSet =
true; m_dBClusterArn = std::forward<DBClusterArnT>(value); }
394 template<
typename DBClusterArnT = Aws::String>
407 template<
typename AssociatedRolesT = Aws::Vector<DBClusterRole>>
408 void SetAssociatedRoles(AssociatedRolesT&& value) { m_associatedRolesHasBeenSet =
true; m_associatedRoles = std::forward<AssociatedRolesT>(value); }
409 template<
typename AssociatedRolesT = Aws::Vector<DBClusterRole>>
411 template<
typename AssociatedRolesT = DBClusterRole>
412 DBCluster&
AddAssociatedRoles(AssociatedRolesT&& value) { m_associatedRolesHasBeenSet =
true; m_associatedRoles.emplace_back(std::forward<AssociatedRolesT>(value));
return *
this; }
421 template<
typename CloneGroupIdT = Aws::String>
422 void SetCloneGroupId(CloneGroupIdT&& value) { m_cloneGroupIdHasBeenSet =
true; m_cloneGroupId = std::forward<CloneGroupIdT>(value); }
423 template<
typename CloneGroupIdT = Aws::String>
434 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
435 void SetClusterCreateTime(ClusterCreateTimeT&& value) { m_clusterCreateTimeHasBeenSet =
true; m_clusterCreateTime = std::forward<ClusterCreateTimeT>(value); }
436 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
447 template<
typename EnabledCloudwatchLogsExportsT = Aws::Vector<Aws::String>>
448 void SetEnabledCloudwatchLogsExports(EnabledCloudwatchLogsExportsT&& value) { m_enabledCloudwatchLogsExportsHasBeenSet =
true; m_enabledCloudwatchLogsExports = std::forward<EnabledCloudwatchLogsExportsT>(value); }
449 template<
typename EnabledCloudwatchLogsExportsT = Aws::Vector<Aws::String>>
451 template<
typename EnabledCloudwatchLogsExportsT = Aws::String>
452 DBCluster&
AddEnabledCloudwatchLogsExports(EnabledCloudwatchLogsExportsT&& value) { m_enabledCloudwatchLogsExportsHasBeenSet =
true; m_enabledCloudwatchLogsExports.emplace_back(std::forward<EnabledCloudwatchLogsExportsT>(value));
return *
this; }
465 inline void SetDeletionProtection(
bool value) { m_deletionProtectionHasBeenSet =
true; m_deletionProtection = value; }
479 template<
typename StorageTypeT = Aws::String>
480 void SetStorageType(StorageTypeT&& value) { m_storageTypeHasBeenSet =
true; m_storageType = std::forward<StorageTypeT>(value); }
481 template<
typename StorageTypeT = Aws::String>
492 template<
typename MasterUserSecretT = ClusterMasterUserSecret>
493 void SetMasterUserSecret(MasterUserSecretT&& value) { m_masterUserSecretHasBeenSet =
true; m_masterUserSecret = std::forward<MasterUserSecretT>(value); }
494 template<
typename MasterUserSecretT = ClusterMasterUserSecret>
500 bool m_availabilityZonesHasBeenSet =
false;
502 int m_backupRetentionPeriod{0};
503 bool m_backupRetentionPeriodHasBeenSet =
false;
506 bool m_dBClusterIdentifierHasBeenSet =
false;
509 bool m_dBClusterParameterGroupHasBeenSet =
false;
512 bool m_dBSubnetGroupHasBeenSet =
false;
515 bool m_statusHasBeenSet =
false;
518 bool m_percentProgressHasBeenSet =
false;
521 bool m_earliestRestorableTimeHasBeenSet =
false;
524 bool m_endpointHasBeenSet =
false;
527 bool m_readerEndpointHasBeenSet =
false;
529 bool m_multiAZ{
false};
530 bool m_multiAZHasBeenSet =
false;
533 bool m_engineHasBeenSet =
false;
536 bool m_engineVersionHasBeenSet =
false;
539 bool m_latestRestorableTimeHasBeenSet =
false;
542 bool m_portHasBeenSet =
false;
545 bool m_masterUsernameHasBeenSet =
false;
548 bool m_preferredBackupWindowHasBeenSet =
false;
551 bool m_preferredMaintenanceWindowHasBeenSet =
false;
554 bool m_replicationSourceIdentifierHasBeenSet =
false;
557 bool m_readReplicaIdentifiersHasBeenSet =
false;
560 bool m_dBClusterMembersHasBeenSet =
false;
563 bool m_vpcSecurityGroupsHasBeenSet =
false;
566 bool m_hostedZoneIdHasBeenSet =
false;
568 bool m_storageEncrypted{
false};
569 bool m_storageEncryptedHasBeenSet =
false;
572 bool m_kmsKeyIdHasBeenSet =
false;
575 bool m_dbClusterResourceIdHasBeenSet =
false;
578 bool m_dBClusterArnHasBeenSet =
false;
581 bool m_associatedRolesHasBeenSet =
false;
584 bool m_cloneGroupIdHasBeenSet =
false;
587 bool m_clusterCreateTimeHasBeenSet =
false;
590 bool m_enabledCloudwatchLogsExportsHasBeenSet =
false;
592 bool m_deletionProtection{
false};
593 bool m_deletionProtectionHasBeenSet =
false;
596 bool m_storageTypeHasBeenSet =
false;
598 ClusterMasterUserSecret m_masterUserSecret;
599 bool m_masterUserSecretHasBeenSet =
false;
void SetPercentProgress(PercentProgressT &&value)
const Aws::String & GetReplicationSourceIdentifier() const
void SetPreferredBackupWindow(PreferredBackupWindowT &&value)
DBCluster & WithEnabledCloudwatchLogsExports(EnabledCloudwatchLogsExportsT &&value)
DBCluster & AddVpcSecurityGroups(VpcSecurityGroupsT &&value)
const Aws::Vector< VpcSecurityGroupMembership > & GetVpcSecurityGroups() const
const Aws::String & GetStatus() const
bool StatusHasBeenSet() const
DBCluster & WithKmsKeyId(KmsKeyIdT &&value)
void SetClusterCreateTime(ClusterCreateTimeT &&value)
void SetDBClusterParameterGroup(DBClusterParameterGroupT &&value)
const Aws::String & GetEngine() const
bool PreferredMaintenanceWindowHasBeenSet() const
DBCluster & WithStatus(StatusT &&value)
DBCluster & WithDBClusterParameterGroup(DBClusterParameterGroupT &&value)
AWS_DOCDB_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< Aws::String > & GetReadReplicaIdentifiers() const
DBCluster & WithReadReplicaIdentifiers(ReadReplicaIdentifiersT &&value)
bool DeletionProtectionHasBeenSet() const
void SetDeletionProtection(bool value)
void SetStorageEncrypted(bool value)
bool ClusterCreateTimeHasBeenSet() const
DBCluster & AddEnabledCloudwatchLogsExports(EnabledCloudwatchLogsExportsT &&value)
DBCluster & WithEngine(EngineT &&value)
DBCluster & WithDBSubnetGroup(DBSubnetGroupT &&value)
void SetEarliestRestorableTime(EarliestRestorableTimeT &&value)
bool MasterUserSecretHasBeenSet() const
const Aws::String & GetReaderEndpoint() const
bool EngineVersionHasBeenSet() const
const Aws::String & GetMasterUsername() const
bool LatestRestorableTimeHasBeenSet() const
DBCluster & WithCloneGroupId(CloneGroupIdT &&value)
bool GetDeletionProtection() const
void SetMasterUsername(MasterUsernameT &&value)
void SetDBClusterArn(DBClusterArnT &&value)
bool ReplicationSourceIdentifierHasBeenSet() const
const Aws::Vector< DBClusterRole > & GetAssociatedRoles() const
DBCluster & WithLatestRestorableTime(LatestRestorableTimeT &&value)
DBCluster & WithReaderEndpoint(ReaderEndpointT &&value)
bool EndpointHasBeenSet() const
const Aws::String & GetStorageType() const
bool DBClusterIdentifierHasBeenSet() const
bool EnabledCloudwatchLogsExportsHasBeenSet() const
bool BackupRetentionPeriodHasBeenSet() const
void SetEngineVersion(EngineVersionT &&value)
const Aws::String & GetDBSubnetGroup() const
const Aws::String & GetKmsKeyId() const
DBCluster & WithPort(int value)
bool EarliestRestorableTimeHasBeenSet() const
const Aws::String & GetDBClusterParameterGroup() const
void SetDBClusterMembers(DBClusterMembersT &&value)
void SetStatus(StatusT &&value)
DBCluster & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
bool DBClusterMembersHasBeenSet() const
DBCluster & AddAssociatedRoles(AssociatedRolesT &&value)
DBCluster & WithDBClusterIdentifier(DBClusterIdentifierT &&value)
void SetEnabledCloudwatchLogsExports(EnabledCloudwatchLogsExportsT &&value)
DBCluster & WithMasterUserSecret(MasterUserSecretT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
DBCluster & WithMultiAZ(bool value)
bool DbClusterResourceIdHasBeenSet() const
DBCluster & AddDBClusterMembers(DBClusterMembersT &&value)
const Aws::String & GetDBClusterArn() const
DBCluster & WithPercentProgress(PercentProgressT &&value)
void SetDBClusterIdentifier(DBClusterIdentifierT &&value)
const Aws::Utils::DateTime & GetClusterCreateTime() const
void SetReplicationSourceIdentifier(ReplicationSourceIdentifierT &&value)
bool CloneGroupIdHasBeenSet() const
bool StorageEncryptedHasBeenSet() const
const Aws::Utils::DateTime & GetLatestRestorableTime() const
void SetAssociatedRoles(AssociatedRolesT &&value)
AWS_DOCDB_API DBCluster & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
DBCluster & AddAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< DBClusterMember > & GetDBClusterMembers() const
AWS_DOCDB_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetPreferredBackupWindow() const
void SetCloneGroupId(CloneGroupIdT &&value)
DBCluster & WithStorageEncrypted(bool value)
void SetBackupRetentionPeriod(int value)
DBCluster & WithAssociatedRoles(AssociatedRolesT &&value)
const Aws::String & GetDBClusterIdentifier() const
DBCluster & WithAvailabilityZones(AvailabilityZonesT &&value)
DBCluster & WithReplicationSourceIdentifier(ReplicationSourceIdentifierT &&value)
bool DBClusterParameterGroupHasBeenSet() const
void SetEngine(EngineT &&value)
bool MultiAZHasBeenSet() const
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
DBCluster & WithPreferredBackupWindow(PreferredBackupWindowT &&value)
bool StorageTypeHasBeenSet() const
DBCluster & WithClusterCreateTime(ClusterCreateTimeT &&value)
AWS_DOCDB_API DBCluster(const Aws::Utils::Xml::XmlNode &xmlNode)
bool PercentProgressHasBeenSet() const
bool VpcSecurityGroupsHasBeenSet() const
void SetHostedZoneId(HostedZoneIdT &&value)
void SetDBSubnetGroup(DBSubnetGroupT &&value)
int GetBackupRetentionPeriod() const
DBCluster & WithEngineVersion(EngineVersionT &&value)
void SetLatestRestorableTime(LatestRestorableTimeT &&value)
DBCluster & WithMasterUsername(MasterUsernameT &&value)
const Aws::Vector< Aws::String > & GetEnabledCloudwatchLogsExports() const
DBCluster & WithDeletionProtection(bool value)
bool ReadReplicaIdentifiersHasBeenSet() const
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
void SetStorageType(StorageTypeT &&value)
bool PreferredBackupWindowHasBeenSet() const
const Aws::String & GetEngineVersion() const
void SetReadReplicaIdentifiers(ReadReplicaIdentifiersT &&value)
void SetReaderEndpoint(ReaderEndpointT &&value)
bool DBSubnetGroupHasBeenSet() const
void SetDbClusterResourceId(DbClusterResourceIdT &&value)
void SetMasterUserSecret(MasterUserSecretT &&value)
bool HostedZoneIdHasBeenSet() const
DBCluster & WithVpcSecurityGroups(VpcSecurityGroupsT &&value)
DBCluster & WithHostedZoneId(HostedZoneIdT &&value)
const Aws::Utils::DateTime & GetEarliestRestorableTime() const
DBCluster & WithEarliestRestorableTime(EarliestRestorableTimeT &&value)
bool EngineHasBeenSet() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
void SetKmsKeyId(KmsKeyIdT &&value)
DBCluster & WithDBClusterMembers(DBClusterMembersT &&value)
bool MasterUsernameHasBeenSet() const
DBCluster & WithStorageType(StorageTypeT &&value)
const Aws::String & GetEndpoint() const
bool KmsKeyIdHasBeenSet() const
const Aws::String & GetCloneGroupId() const
bool PortHasBeenSet() const
bool GetStorageEncrypted() const
bool AvailabilityZonesHasBeenSet() const
bool AssociatedRolesHasBeenSet() const
const Aws::String & GetDbClusterResourceId() const
void SetEndpoint(EndpointT &&value)
void SetVpcSecurityGroups(VpcSecurityGroupsT &&value)
const ClusterMasterUserSecret & GetMasterUserSecret() const
const Aws::String & GetPercentProgress() const
void SetMultiAZ(bool value)
DBCluster & WithDBClusterArn(DBClusterArnT &&value)
const Aws::String & GetHostedZoneId() const
DBCluster & WithDbClusterResourceId(DbClusterResourceIdT &&value)
bool ReaderEndpointHasBeenSet() const
DBCluster & AddReadReplicaIdentifiers(ReadReplicaIdentifiersT &&value)
bool DBClusterArnHasBeenSet() const
DBCluster & WithBackupRetentionPeriod(int value)
AWS_DOCDB_API DBCluster()=default
DBCluster & WithEndpoint(EndpointT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream