7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/docdb/DocDB_EXPORTS.h>
12#include <aws/docdb/model/ClusterMasterUserSecret.h>
13#include <aws/docdb/model/DBClusterMember.h>
14#include <aws/docdb/model/DBClusterRole.h>
15#include <aws/docdb/model/ServerlessV2ScalingConfigurationInfo.h>
16#include <aws/docdb/model/VpcSecurityGroupMembership.h>
50 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
52 m_availabilityZonesHasBeenSet =
true;
53 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
55 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
60 template <
typename AvailabilityZonesT = Aws::String>
62 m_availabilityZonesHasBeenSet =
true;
63 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
75 m_backupRetentionPeriodHasBeenSet =
true;
76 m_backupRetentionPeriod = value;
91 template <
typename DBClusterIdentifierT = Aws::String>
93 m_dBClusterIdentifierHasBeenSet =
true;
94 m_dBClusterIdentifier = std::forward<DBClusterIdentifierT>(value);
96 template <
typename DBClusterIdentifierT = Aws::String>
109 template <
typename DBClusterParameterGroupT = Aws::String>
111 m_dBClusterParameterGroupHasBeenSet =
true;
112 m_dBClusterParameterGroup = std::forward<DBClusterParameterGroupT>(value);
114 template <
typename DBClusterParameterGroupT = Aws::String>
128 template <
typename DBSubnetGroupT = Aws::String>
130 m_dBSubnetGroupHasBeenSet =
true;
131 m_dBSubnetGroup = std::forward<DBSubnetGroupT>(value);
133 template <
typename DBSubnetGroupT = Aws::String>
146 template <
typename StatusT = Aws::String>
148 m_statusHasBeenSet =
true;
149 m_status = std::forward<StatusT>(value);
151 template <
typename StatusT = Aws::String>
164 template <
typename PercentProgressT = Aws::String>
166 m_percentProgressHasBeenSet =
true;
167 m_percentProgress = std::forward<PercentProgressT>(value);
169 template <
typename PercentProgressT = Aws::String>
183 template <
typename EarliestRestorableTimeT = Aws::Utils::DateTime>
185 m_earliestRestorableTimeHasBeenSet =
true;
186 m_earliestRestorableTime = std::forward<EarliestRestorableTimeT>(value);
188 template <
typename EarliestRestorableTimeT = Aws::Utils::DateTime>
202 template <
typename Endpo
intT = Aws::String>
204 m_endpointHasBeenSet =
true;
205 m_endpoint = std::forward<EndpointT>(value);
207 template <
typename Endpo
intT = Aws::String>
229 template <
typename ReaderEndpo
intT = Aws::String>
231 m_readerEndpointHasBeenSet =
true;
232 m_readerEndpoint = std::forward<ReaderEndpointT>(value);
234 template <
typename ReaderEndpo
intT = Aws::String>
249 m_multiAZHasBeenSet =
true;
264 template <
typename EngineT = Aws::String>
266 m_engineHasBeenSet =
true;
267 m_engine = std::forward<EngineT>(value);
269 template <
typename EngineT = Aws::String>
282 template <
typename EngineVersionT = Aws::String>
284 m_engineVersionHasBeenSet =
true;
285 m_engineVersion = std::forward<EngineVersionT>(value);
287 template <
typename EngineVersionT = Aws::String>
301 template <
typename LatestRestorableTimeT = Aws::Utils::DateTime>
303 m_latestRestorableTimeHasBeenSet =
true;
304 m_latestRestorableTime = std::forward<LatestRestorableTimeT>(value);
306 template <
typename LatestRestorableTimeT = Aws::Utils::DateTime>
320 m_portHasBeenSet =
true;
335 template <
typename MasterUsernameT = Aws::String>
337 m_masterUsernameHasBeenSet =
true;
338 m_masterUsername = std::forward<MasterUsernameT>(value);
340 template <
typename MasterUsernameT = Aws::String>
355 template <
typename PreferredBackupWindowT = Aws::String>
357 m_preferredBackupWindowHasBeenSet =
true;
358 m_preferredBackupWindow = std::forward<PreferredBackupWindowT>(value);
360 template <
typename PreferredBackupWindowT = Aws::String>
374 template <
typename PreferredMa
intenanceWindowT = Aws::String>
376 m_preferredMaintenanceWindowHasBeenSet =
true;
377 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
379 template <
typename PreferredMa
intenanceWindowT = Aws::String>
393 template <
typename ReplicationSourceIdentifierT = Aws::String>
395 m_replicationSourceIdentifierHasBeenSet =
true;
396 m_replicationSourceIdentifier = std::forward<ReplicationSourceIdentifierT>(value);
398 template <
typename ReplicationSourceIdentifierT = Aws::String>
412 template <
typename ReadReplicaIdentifiersT = Aws::Vector<Aws::String>>
414 m_readReplicaIdentifiersHasBeenSet =
true;
415 m_readReplicaIdentifiers = std::forward<ReadReplicaIdentifiersT>(value);
417 template <
typename ReadReplicaIdentifiersT = Aws::Vector<Aws::String>>
422 template <
typename ReadReplicaIdentifiersT = Aws::String>
424 m_readReplicaIdentifiersHasBeenSet =
true;
425 m_readReplicaIdentifiers.emplace_back(std::forward<ReadReplicaIdentifiersT>(value));
436 template <
typename DBClusterMembersT = Aws::Vector<DBClusterMember>>
438 m_dBClusterMembersHasBeenSet =
true;
439 m_dBClusterMembers = std::forward<DBClusterMembersT>(value);
441 template <
typename DBClusterMembersT = Aws::Vector<DBClusterMember>>
446 template <
typename DBClusterMembersT = DBClusterMember>
448 m_dBClusterMembersHasBeenSet =
true;
449 m_dBClusterMembers.emplace_back(std::forward<DBClusterMembersT>(value));
461 template <
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
463 m_vpcSecurityGroupsHasBeenSet =
true;
464 m_vpcSecurityGroups = std::forward<VpcSecurityGroupsT>(value);
466 template <
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
471 template <
typename VpcSecurityGroupsT = VpcSecurityGroupMembership>
473 m_vpcSecurityGroupsHasBeenSet =
true;
474 m_vpcSecurityGroups.emplace_back(std::forward<VpcSecurityGroupsT>(value));
486 template <
typename HostedZoneIdT = Aws::String>
488 m_hostedZoneIdHasBeenSet =
true;
489 m_hostedZoneId = std::forward<HostedZoneIdT>(value);
491 template <
typename HostedZoneIdT = Aws::String>
505 m_storageEncryptedHasBeenSet =
true;
506 m_storageEncrypted = value;
521 template <
typename KmsKeyIdT = Aws::String>
523 m_kmsKeyIdHasBeenSet =
true;
524 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
526 template <
typename KmsKeyIdT = Aws::String>
541 template <
typename DbClusterResourceIdT = Aws::String>
543 m_dbClusterResourceIdHasBeenSet =
true;
544 m_dbClusterResourceId = std::forward<DbClusterResourceIdT>(value);
546 template <
typename DbClusterResourceIdT = Aws::String>
559 template <
typename DBClusterArnT = Aws::String>
561 m_dBClusterArnHasBeenSet =
true;
562 m_dBClusterArn = std::forward<DBClusterArnT>(value);
564 template <
typename DBClusterArnT = Aws::String>
580 template <
typename AssociatedRolesT = Aws::Vector<DBClusterRole>>
582 m_associatedRolesHasBeenSet =
true;
583 m_associatedRoles = std::forward<AssociatedRolesT>(value);
585 template <
typename AssociatedRolesT = Aws::Vector<DBClusterRole>>
590 template <
typename AssociatedRolesT = DBClusterRole>
592 m_associatedRolesHasBeenSet =
true;
593 m_associatedRoles.emplace_back(std::forward<AssociatedRolesT>(value));
604 template <
typename CloneGroupIdT = Aws::String>
606 m_cloneGroupIdHasBeenSet =
true;
607 m_cloneGroupId = std::forward<CloneGroupIdT>(value);
609 template <
typename CloneGroupIdT = Aws::String>
623 template <
typename ClusterCreateTimeT = Aws::Utils::DateTime>
625 m_clusterCreateTimeHasBeenSet =
true;
626 m_clusterCreateTime = std::forward<ClusterCreateTimeT>(value);
628 template <
typename ClusterCreateTimeT = Aws::Utils::DateTime>
642 template <
typename EnabledCloudwatchLogsExportsT = Aws::Vector<Aws::String>>
644 m_enabledCloudwatchLogsExportsHasBeenSet =
true;
645 m_enabledCloudwatchLogsExports = std::forward<EnabledCloudwatchLogsExportsT>(value);
647 template <
typename EnabledCloudwatchLogsExportsT = Aws::Vector<Aws::String>>
652 template <
typename EnabledCloudwatchLogsExportsT = Aws::String>
654 m_enabledCloudwatchLogsExportsHasBeenSet =
true;
655 m_enabledCloudwatchLogsExports.emplace_back(std::forward<EnabledCloudwatchLogsExportsT>(value));
671 m_deletionProtectionHasBeenSet =
true;
672 m_deletionProtection = value;
687 template <
typename IOOptimizedNextAllowedModificationTimeT = Aws::Utils::DateTime>
689 m_iOOptimizedNextAllowedModificationTimeHasBeenSet =
true;
690 m_iOOptimizedNextAllowedModificationTime = std::forward<IOOptimizedNextAllowedModificationTimeT>(value);
692 template <
typename IOOptimizedNextAllowedModificationTimeT = Aws::Utils::DateTime>
709 template <
typename StorageTypeT = Aws::String>
711 m_storageTypeHasBeenSet =
true;
712 m_storageType = std::forward<StorageTypeT>(value);
714 template <
typename StorageTypeT = Aws::String>
726 return m_serverlessV2ScalingConfiguration;
729 template <
typename ServerlessV2ScalingConfigurationT = ServerlessV2ScalingConfigurationInfo>
731 m_serverlessV2ScalingConfigurationHasBeenSet =
true;
732 m_serverlessV2ScalingConfiguration = std::forward<ServerlessV2ScalingConfigurationT>(value);
734 template <
typename ServerlessV2ScalingConfigurationT = ServerlessV2ScalingConfigurationInfo>
748 template <
typename MasterUserSecretT = ClusterMasterUserSecret>
750 m_masterUserSecretHasBeenSet =
true;
751 m_masterUserSecret = std::forward<MasterUserSecretT>(value);
753 template <
typename MasterUserSecretT = ClusterMasterUserSecret>
772 template <
typename NetworkTypeT = Aws::String>
774 m_networkTypeHasBeenSet =
true;
775 m_networkType = std::forward<NetworkTypeT>(value);
777 template <
typename NetworkTypeT = Aws::String>
786 int m_backupRetentionPeriod{0};
804 bool m_multiAZ{
false};
830 bool m_storageEncrypted{
false};
846 bool m_deletionProtection{
false};
852 ServerlessV2ScalingConfigurationInfo m_serverlessV2ScalingConfiguration;
854 ClusterMasterUserSecret m_masterUserSecret;
857 bool m_availabilityZonesHasBeenSet =
false;
858 bool m_backupRetentionPeriodHasBeenSet =
false;
859 bool m_dBClusterIdentifierHasBeenSet =
false;
860 bool m_dBClusterParameterGroupHasBeenSet =
false;
861 bool m_dBSubnetGroupHasBeenSet =
false;
862 bool m_statusHasBeenSet =
false;
863 bool m_percentProgressHasBeenSet =
false;
864 bool m_earliestRestorableTimeHasBeenSet =
false;
865 bool m_endpointHasBeenSet =
false;
866 bool m_readerEndpointHasBeenSet =
false;
867 bool m_multiAZHasBeenSet =
false;
868 bool m_engineHasBeenSet =
false;
869 bool m_engineVersionHasBeenSet =
false;
870 bool m_latestRestorableTimeHasBeenSet =
false;
871 bool m_portHasBeenSet =
false;
872 bool m_masterUsernameHasBeenSet =
false;
873 bool m_preferredBackupWindowHasBeenSet =
false;
874 bool m_preferredMaintenanceWindowHasBeenSet =
false;
875 bool m_replicationSourceIdentifierHasBeenSet =
false;
876 bool m_readReplicaIdentifiersHasBeenSet =
false;
877 bool m_dBClusterMembersHasBeenSet =
false;
878 bool m_vpcSecurityGroupsHasBeenSet =
false;
879 bool m_hostedZoneIdHasBeenSet =
false;
880 bool m_storageEncryptedHasBeenSet =
false;
881 bool m_kmsKeyIdHasBeenSet =
false;
882 bool m_dbClusterResourceIdHasBeenSet =
false;
883 bool m_dBClusterArnHasBeenSet =
false;
884 bool m_associatedRolesHasBeenSet =
false;
885 bool m_cloneGroupIdHasBeenSet =
false;
886 bool m_clusterCreateTimeHasBeenSet =
false;
887 bool m_enabledCloudwatchLogsExportsHasBeenSet =
false;
888 bool m_deletionProtectionHasBeenSet =
false;
889 bool m_iOOptimizedNextAllowedModificationTimeHasBeenSet =
false;
890 bool m_storageTypeHasBeenSet =
false;
891 bool m_serverlessV2ScalingConfigurationHasBeenSet =
false;
892 bool m_masterUserSecretHasBeenSet =
false;
893 bool m_networkTypeHasBeenSet =
false;
const Aws::String & GetNetworkType() const
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
void SetServerlessV2ScalingConfiguration(ServerlessV2ScalingConfigurationT &&value)
DBCluster & WithPort(int value)
DBCluster & WithServerlessV2ScalingConfiguration(ServerlessV2ScalingConfigurationT &&value)
void SetNetworkType(NetworkTypeT &&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
bool NetworkTypeHasBeenSet() 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)
bool IOOptimizedNextAllowedModificationTimeHasBeenSet() const
int GetBackupRetentionPeriod() const
DBCluster & WithEngineVersion(EngineVersionT &&value)
const Aws::Utils::DateTime & GetIOOptimizedNextAllowedModificationTime() const
void SetIOOptimizedNextAllowedModificationTime(IOOptimizedNextAllowedModificationTimeT &&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 ServerlessV2ScalingConfigurationHasBeenSet() const
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)
const ServerlessV2ScalingConfigurationInfo & GetServerlessV2ScalingConfiguration() const
bool MasterUsernameHasBeenSet() const
DBCluster & WithStorageType(StorageTypeT &&value)
DBCluster & WithIOOptimizedNextAllowedModificationTime(IOOptimizedNextAllowedModificationTimeT &&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)
DBCluster & WithNetworkType(NetworkTypeT &&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