7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/redshift/model/Endpoint.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/redshift/model/PendingModifiedValues.h>
14#include <aws/redshift/model/RestoreStatus.h>
15#include <aws/redshift/model/DataTransferProgress.h>
16#include <aws/redshift/model/HsmStatus.h>
17#include <aws/redshift/model/ClusterSnapshotCopyStatus.h>
18#include <aws/redshift/model/ElasticIpStatus.h>
19#include <aws/redshift/model/ScheduleState.h>
20#include <aws/redshift/model/ResizeInfo.h>
21#include <aws/redshift/model/AquaConfiguration.h>
22#include <aws/redshift/model/ReservedNodeExchangeStatus.h>
23#include <aws/redshift/model/SecondaryClusterInfo.h>
24#include <aws/redshift/model/ClusterSecurityGroupMembership.h>
25#include <aws/redshift/model/VpcSecurityGroupMembership.h>
26#include <aws/redshift/model/ClusterParameterGroupStatus.h>
27#include <aws/redshift/model/ClusterNode.h>
28#include <aws/redshift/model/Tag.h>
29#include <aws/redshift/model/ClusterIamRole.h>
30#include <aws/redshift/model/DeferredMaintenanceWindow.h>
69 template<
typename ClusterIdentifierT = Aws::String>
70 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
71 template<
typename ClusterIdentifierT = Aws::String>
81 template<
typename NodeTypeT = Aws::String>
82 void SetNodeType(NodeTypeT&& value) { m_nodeTypeHasBeenSet =
true; m_nodeType = std::forward<NodeTypeT>(value); }
83 template<
typename NodeTypeT = Aws::String>
107 template<
typename ClusterStatusT = Aws::String>
108 void SetClusterStatus(ClusterStatusT&& value) { m_clusterStatusHasBeenSet =
true; m_clusterStatus = std::forward<ClusterStatusT>(value); }
109 template<
typename ClusterStatusT = Aws::String>
126 template<
typename ClusterAvailabilityStatusT = Aws::String>
127 void SetClusterAvailabilityStatus(ClusterAvailabilityStatusT&& value) { m_clusterAvailabilityStatusHasBeenSet =
true; m_clusterAvailabilityStatus = std::forward<ClusterAvailabilityStatusT>(value); }
128 template<
typename ClusterAvailabilityStatusT = Aws::String>
138 template<
typename ModifyStatusT = Aws::String>
139 void SetModifyStatus(ModifyStatusT&& value) { m_modifyStatusHasBeenSet =
true; m_modifyStatus = std::forward<ModifyStatusT>(value); }
140 template<
typename ModifyStatusT = Aws::String>
151 template<
typename MasterUsernameT = Aws::String>
152 void SetMasterUsername(MasterUsernameT&& value) { m_masterUsernameHasBeenSet =
true; m_masterUsername = std::forward<MasterUsernameT>(value); }
153 template<
typename MasterUsernameT = Aws::String>
166 template<
typename DBNameT = Aws::String>
167 void SetDBName(DBNameT&& value) { m_dBNameHasBeenSet =
true; m_dBName = std::forward<DBNameT>(value); }
168 template<
typename DBNameT = Aws::String>
178 template<
typename Endpo
intT = Endpo
int>
179 void SetEndpoint(EndpointT&& value) { m_endpointHasBeenSet =
true; m_endpoint = std::forward<EndpointT>(value); }
180 template<
typename Endpo
intT = Endpo
int>
190 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
191 void SetClusterCreateTime(ClusterCreateTimeT&& value) { m_clusterCreateTimeHasBeenSet =
true; m_clusterCreateTime = std::forward<ClusterCreateTimeT>(value); }
192 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
231 template<
typename ClusterSecurityGroupsT = Aws::Vector<ClusterSecurityGroupMembership>>
232 void SetClusterSecurityGroups(ClusterSecurityGroupsT&& value) { m_clusterSecurityGroupsHasBeenSet =
true; m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value); }
233 template<
typename ClusterSecurityGroupsT = Aws::Vector<ClusterSecurityGroupMembership>>
235 template<
typename ClusterSecurityGroupsT = ClusterSecurityGroupMembership>
236 Cluster&
AddClusterSecurityGroups(ClusterSecurityGroupsT&& value) { m_clusterSecurityGroupsHasBeenSet =
true; m_clusterSecurityGroups.emplace_back(std::forward<ClusterSecurityGroupsT>(value));
return *
this; }
247 template<
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
248 void SetVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet =
true; m_vpcSecurityGroups = std::forward<VpcSecurityGroupsT>(value); }
249 template<
typename VpcSecurityGroupsT = Aws::Vector<VpcSecurityGroupMembership>>
251 template<
typename VpcSecurityGroupsT = VpcSecurityGroupMembership>
252 Cluster&
AddVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet =
true; m_vpcSecurityGroups.emplace_back(std::forward<VpcSecurityGroupsT>(value));
return *
this; }
262 template<
typename ClusterParameterGroupsT = Aws::Vector<ClusterParameterGroupStatus>>
263 void SetClusterParameterGroups(ClusterParameterGroupsT&& value) { m_clusterParameterGroupsHasBeenSet =
true; m_clusterParameterGroups = std::forward<ClusterParameterGroupsT>(value); }
264 template<
typename ClusterParameterGroupsT = Aws::Vector<ClusterParameterGroupStatus>>
266 template<
typename ClusterParameterGroupsT = ClusterParameterGroupStatus>
267 Cluster&
AddClusterParameterGroups(ClusterParameterGroupsT&& value) { m_clusterParameterGroupsHasBeenSet =
true; m_clusterParameterGroups.emplace_back(std::forward<ClusterParameterGroupsT>(value));
return *
this; }
277 template<
typename ClusterSubnetGroupNameT = Aws::String>
278 void SetClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) { m_clusterSubnetGroupNameHasBeenSet =
true; m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value); }
279 template<
typename ClusterSubnetGroupNameT = Aws::String>
289 template<
typename VpcIdT = Aws::String>
290 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
291 template<
typename VpcIdT = Aws::String>
301 template<
typename AvailabilityZoneT = Aws::String>
302 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
303 template<
typename AvailabilityZoneT = Aws::String>
314 template<
typename PreferredMa
intenanceWindowT = Aws::String>
315 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
316 template<
typename PreferredMa
intenanceWindowT = Aws::String>
327 template<
typename PendingModifiedValuesT = PendingModifiedValues>
328 void SetPendingModifiedValues(PendingModifiedValuesT&& value) { m_pendingModifiedValuesHasBeenSet =
true; m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value); }
329 template<
typename PendingModifiedValuesT = PendingModifiedValues>
340 template<
typename ClusterVersionT = Aws::String>
341 void SetClusterVersion(ClusterVersionT&& value) { m_clusterVersionHasBeenSet =
true; m_clusterVersion = std::forward<ClusterVersionT>(value); }
342 template<
typename ClusterVersionT = Aws::String>
354 inline void SetAllowVersionUpgrade(
bool value) { m_allowVersionUpgradeHasBeenSet =
true; m_allowVersionUpgrade = value; }
364 inline void SetNumberOfNodes(
int value) { m_numberOfNodesHasBeenSet =
true; m_numberOfNodes = value; }
375 inline void SetPubliclyAccessible(
bool value) { m_publiclyAccessibleHasBeenSet =
true; m_publiclyAccessible = value; }
386 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
397 template<
typename RestoreStatusT = RestoreStatus>
398 void SetRestoreStatus(RestoreStatusT&& value) { m_restoreStatusHasBeenSet =
true; m_restoreStatus = std::forward<RestoreStatusT>(value); }
399 template<
typename RestoreStatusT = RestoreStatus>
409 template<
typename DataTransferProgressT = DataTransferProgress>
410 void SetDataTransferProgress(DataTransferProgressT&& value) { m_dataTransferProgressHasBeenSet =
true; m_dataTransferProgress = std::forward<DataTransferProgressT>(value); }
411 template<
typename DataTransferProgressT = DataTransferProgress>
423 template<
typename HsmStatusT = HsmStatus>
424 void SetHsmStatus(HsmStatusT&& value) { m_hsmStatusHasBeenSet =
true; m_hsmStatus = std::forward<HsmStatusT>(value); }
425 template<
typename HsmStatusT = HsmStatus>
436 template<
typename ClusterSnapshotCopyStatusT = ClusterSnapshotCopyStatus>
437 void SetClusterSnapshotCopyStatus(ClusterSnapshotCopyStatusT&& value) { m_clusterSnapshotCopyStatusHasBeenSet =
true; m_clusterSnapshotCopyStatus = std::forward<ClusterSnapshotCopyStatusT>(value); }
438 template<
typename ClusterSnapshotCopyStatusT = ClusterSnapshotCopyStatus>
448 template<
typename ClusterPublicKeyT = Aws::String>
449 void SetClusterPublicKey(ClusterPublicKeyT&& value) { m_clusterPublicKeyHasBeenSet =
true; m_clusterPublicKey = std::forward<ClusterPublicKeyT>(value); }
450 template<
typename ClusterPublicKeyT = Aws::String>
460 template<
typename ClusterNodesT = Aws::Vector<ClusterNode>>
461 void SetClusterNodes(ClusterNodesT&& value) { m_clusterNodesHasBeenSet =
true; m_clusterNodes = std::forward<ClusterNodesT>(value); }
462 template<
typename ClusterNodesT = Aws::Vector<ClusterNode>>
464 template<
typename ClusterNodesT = ClusterNode>
465 Cluster&
AddClusterNodes(ClusterNodesT&& value) { m_clusterNodesHasBeenSet =
true; m_clusterNodes.emplace_back(std::forward<ClusterNodesT>(value));
return *
this; }
474 template<
typename ElasticIpStatusT = ElasticIpStatus>
475 void SetElasticIpStatus(ElasticIpStatusT&& value) { m_elasticIpStatusHasBeenSet =
true; m_elasticIpStatus = std::forward<ElasticIpStatusT>(value); }
476 template<
typename ElasticIpStatusT = ElasticIpStatus>
486 template<
typename ClusterRevisionNumberT = Aws::String>
487 void SetClusterRevisionNumber(ClusterRevisionNumberT&& value) { m_clusterRevisionNumberHasBeenSet =
true; m_clusterRevisionNumber = std::forward<ClusterRevisionNumberT>(value); }
488 template<
typename ClusterRevisionNumberT = Aws::String>
498 template<
typename TagsT = Aws::Vector<Tag>>
499 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
500 template<
typename TagsT = Aws::Vector<Tag>>
502 template<
typename TagsT = Tag>
503 Cluster&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
513 template<
typename KmsKeyIdT = Aws::String>
514 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
515 template<
typename KmsKeyIdT = Aws::String>
531 inline void SetEnhancedVpcRouting(
bool value) { m_enhancedVpcRoutingHasBeenSet =
true; m_enhancedVpcRouting = value; }
542 template<
typename IamRolesT = Aws::Vector<ClusterIamRole>>
543 void SetIamRoles(IamRolesT&& value) { m_iamRolesHasBeenSet =
true; m_iamRoles = std::forward<IamRolesT>(value); }
544 template<
typename IamRolesT = Aws::Vector<ClusterIamRole>>
546 template<
typename IamRolesT = ClusterIamRole>
547 Cluster&
AddIamRoles(IamRolesT&& value) { m_iamRolesHasBeenSet =
true; m_iamRoles.emplace_back(std::forward<IamRolesT>(value));
return *
this; }
556 template<
typename PendingActionsT = Aws::Vector<Aws::String>>
557 void SetPendingActions(PendingActionsT&& value) { m_pendingActionsHasBeenSet =
true; m_pendingActions = std::forward<PendingActionsT>(value); }
558 template<
typename PendingActionsT = Aws::Vector<Aws::String>>
560 template<
typename PendingActionsT = Aws::String>
561 Cluster&
AddPendingActions(PendingActionsT&& value) { m_pendingActionsHasBeenSet =
true; m_pendingActions.emplace_back(std::forward<PendingActionsT>(value));
return *
this; }
570 template<
typename Ma
intenanceTrackNameT = Aws::String>
571 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) { m_maintenanceTrackNameHasBeenSet =
true; m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value); }
572 template<
typename Ma
intenanceTrackNameT = Aws::String>
583 template<
typename ElasticResizeNumberOfNodeOptionsT = Aws::String>
584 void SetElasticResizeNumberOfNodeOptions(ElasticResizeNumberOfNodeOptionsT&& value) { m_elasticResizeNumberOfNodeOptionsHasBeenSet =
true; m_elasticResizeNumberOfNodeOptions = std::forward<ElasticResizeNumberOfNodeOptionsT>(value); }
585 template<
typename ElasticResizeNumberOfNodeOptionsT = Aws::String>
595 template<
typename DeferredMa
intenanceWindowsT = Aws::Vector<DeferredMa
intenanceWindow>>
596 void SetDeferredMaintenanceWindows(DeferredMaintenanceWindowsT&& value) { m_deferredMaintenanceWindowsHasBeenSet =
true; m_deferredMaintenanceWindows = std::forward<DeferredMaintenanceWindowsT>(value); }
597 template<
typename DeferredMa
intenanceWindowsT = Aws::Vector<DeferredMa
intenanceWindow>>
599 template<
typename DeferredMa
intenanceWindowsT = DeferredMa
intenanceWindow>
600 Cluster&
AddDeferredMaintenanceWindows(DeferredMaintenanceWindowsT&& value) { m_deferredMaintenanceWindowsHasBeenSet =
true; m_deferredMaintenanceWindows.emplace_back(std::forward<DeferredMaintenanceWindowsT>(value));
return *
this; }
609 template<
typename SnapshotScheduleIdentifierT = Aws::String>
610 void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) { m_snapshotScheduleIdentifierHasBeenSet =
true; m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value); }
611 template<
typename SnapshotScheduleIdentifierT = Aws::String>
632 template<
typename ExpectedNextSnapshotScheduleTimeT = Aws::Utils::DateTime>
633 void SetExpectedNextSnapshotScheduleTime(ExpectedNextSnapshotScheduleTimeT&& value) { m_expectedNextSnapshotScheduleTimeHasBeenSet =
true; m_expectedNextSnapshotScheduleTime = std::forward<ExpectedNextSnapshotScheduleTimeT>(value); }
634 template<
typename ExpectedNextSnapshotScheduleTimeT = Aws::Utils::DateTime>
647 template<
typename ExpectedNextSnapshotScheduleTimeStatusT = Aws::String>
648 void SetExpectedNextSnapshotScheduleTimeStatus(ExpectedNextSnapshotScheduleTimeStatusT&& value) { m_expectedNextSnapshotScheduleTimeStatusHasBeenSet =
true; m_expectedNextSnapshotScheduleTimeStatus = std::forward<ExpectedNextSnapshotScheduleTimeStatusT>(value); }
649 template<
typename ExpectedNextSnapshotScheduleTimeStatusT = Aws::String>
659 template<
typename NextMa
intenanceWindowStartTimeT = Aws::Utils::DateTime>
660 void SetNextMaintenanceWindowStartTime(NextMaintenanceWindowStartTimeT&& value) { m_nextMaintenanceWindowStartTimeHasBeenSet =
true; m_nextMaintenanceWindowStartTime = std::forward<NextMaintenanceWindowStartTimeT>(value); }
661 template<
typename NextMa
intenanceWindowStartTimeT = Aws::Utils::DateTime>
673 template<
typename ResizeInfoT = ResizeInfo>
674 void SetResizeInfo(ResizeInfoT&& value) { m_resizeInfoHasBeenSet =
true; m_resizeInfo = std::forward<ResizeInfoT>(value); }
675 template<
typename ResizeInfoT = ResizeInfo>
685 template<
typename AvailabilityZoneRelocationStatusT = Aws::String>
686 void SetAvailabilityZoneRelocationStatus(AvailabilityZoneRelocationStatusT&& value) { m_availabilityZoneRelocationStatusHasBeenSet =
true; m_availabilityZoneRelocationStatus = std::forward<AvailabilityZoneRelocationStatusT>(value); }
687 template<
typename AvailabilityZoneRelocationStatusT = Aws::String>
697 template<
typename ClusterNamespaceArnT = Aws::String>
698 void SetClusterNamespaceArn(ClusterNamespaceArnT&& value) { m_clusterNamespaceArnHasBeenSet =
true; m_clusterNamespaceArn = std::forward<ClusterNamespaceArnT>(value); }
699 template<
typename ClusterNamespaceArnT = Aws::String>
720 template<
typename AquaConfigurationT = AquaConfiguration>
721 void SetAquaConfiguration(AquaConfigurationT&& value) { m_aquaConfigurationHasBeenSet =
true; m_aquaConfiguration = std::forward<AquaConfigurationT>(value); }
722 template<
typename AquaConfigurationT = AquaConfiguration>
733 template<
typename DefaultIamRoleArnT = Aws::String>
734 void SetDefaultIamRoleArn(DefaultIamRoleArnT&& value) { m_defaultIamRoleArnHasBeenSet =
true; m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value); }
735 template<
typename DefaultIamRoleArnT = Aws::String>
746 template<
typename ReservedNodeExchangeStatusT = ReservedNodeExchangeStatus>
747 void SetReservedNodeExchangeStatus(ReservedNodeExchangeStatusT&& value) { m_reservedNodeExchangeStatusHasBeenSet =
true; m_reservedNodeExchangeStatus = std::forward<ReservedNodeExchangeStatusT>(value); }
748 template<
typename ReservedNodeExchangeStatusT = ReservedNodeExchangeStatus>
758 template<
typename CustomDomainNameT = Aws::String>
759 void SetCustomDomainName(CustomDomainNameT&& value) { m_customDomainNameHasBeenSet =
true; m_customDomainName = std::forward<CustomDomainNameT>(value); }
760 template<
typename CustomDomainNameT = Aws::String>
770 template<
typename CustomDomainCertificateArnT = Aws::String>
771 void SetCustomDomainCertificateArn(CustomDomainCertificateArnT&& value) { m_customDomainCertificateArnHasBeenSet =
true; m_customDomainCertificateArn = std::forward<CustomDomainCertificateArnT>(value); }
772 template<
typename CustomDomainCertificateArnT = Aws::String>
783 template<
typename CustomDomainCertificateExpiryDateT = Aws::Utils::DateTime>
784 void SetCustomDomainCertificateExpiryDate(CustomDomainCertificateExpiryDateT&& value) { m_customDomainCertificateExpiryDateHasBeenSet =
true; m_customDomainCertificateExpiryDate = std::forward<CustomDomainCertificateExpiryDateT>(value); }
785 template<
typename CustomDomainCertificateExpiryDateT = Aws::Utils::DateTime>
796 template<
typename MasterPasswordSecretArnT = Aws::String>
797 void SetMasterPasswordSecretArn(MasterPasswordSecretArnT&& value) { m_masterPasswordSecretArnHasBeenSet =
true; m_masterPasswordSecretArn = std::forward<MasterPasswordSecretArnT>(value); }
798 template<
typename MasterPasswordSecretArnT = Aws::String>
809 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
810 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) { m_masterPasswordSecretKmsKeyIdHasBeenSet =
true; m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value); }
811 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
822 template<
typename IpAddressTypeT = Aws::String>
823 void SetIpAddressType(IpAddressTypeT&& value) { m_ipAddressTypeHasBeenSet =
true; m_ipAddressType = std::forward<IpAddressTypeT>(value); }
824 template<
typename IpAddressTypeT = Aws::String>
835 template<
typename MultiAZT = Aws::String>
836 void SetMultiAZ(MultiAZT&& value) { m_multiAZHasBeenSet =
true; m_multiAZ = std::forward<MultiAZT>(value); }
837 template<
typename MultiAZT = Aws::String>
848 template<
typename MultiAZSecondaryT = SecondaryClusterInfo>
849 void SetMultiAZSecondary(MultiAZSecondaryT&& value) { m_multiAZSecondaryHasBeenSet =
true; m_multiAZSecondary = std::forward<MultiAZSecondaryT>(value); }
850 template<
typename MultiAZSecondaryT = SecondaryClusterInfo>
856 bool m_clusterIdentifierHasBeenSet =
false;
859 bool m_nodeTypeHasBeenSet =
false;
862 bool m_clusterStatusHasBeenSet =
false;
865 bool m_clusterAvailabilityStatusHasBeenSet =
false;
868 bool m_modifyStatusHasBeenSet =
false;
871 bool m_masterUsernameHasBeenSet =
false;
874 bool m_dBNameHasBeenSet =
false;
877 bool m_endpointHasBeenSet =
false;
880 bool m_clusterCreateTimeHasBeenSet =
false;
882 int m_automatedSnapshotRetentionPeriod{0};
883 bool m_automatedSnapshotRetentionPeriodHasBeenSet =
false;
885 int m_manualSnapshotRetentionPeriod{0};
886 bool m_manualSnapshotRetentionPeriodHasBeenSet =
false;
889 bool m_clusterSecurityGroupsHasBeenSet =
false;
892 bool m_vpcSecurityGroupsHasBeenSet =
false;
895 bool m_clusterParameterGroupsHasBeenSet =
false;
898 bool m_clusterSubnetGroupNameHasBeenSet =
false;
901 bool m_vpcIdHasBeenSet =
false;
904 bool m_availabilityZoneHasBeenSet =
false;
907 bool m_preferredMaintenanceWindowHasBeenSet =
false;
909 PendingModifiedValues m_pendingModifiedValues;
910 bool m_pendingModifiedValuesHasBeenSet =
false;
913 bool m_clusterVersionHasBeenSet =
false;
915 bool m_allowVersionUpgrade{
false};
916 bool m_allowVersionUpgradeHasBeenSet =
false;
918 int m_numberOfNodes{0};
919 bool m_numberOfNodesHasBeenSet =
false;
921 bool m_publiclyAccessible{
false};
922 bool m_publiclyAccessibleHasBeenSet =
false;
924 bool m_encrypted{
false};
925 bool m_encryptedHasBeenSet =
false;
927 RestoreStatus m_restoreStatus;
928 bool m_restoreStatusHasBeenSet =
false;
930 DataTransferProgress m_dataTransferProgress;
931 bool m_dataTransferProgressHasBeenSet =
false;
933 HsmStatus m_hsmStatus;
934 bool m_hsmStatusHasBeenSet =
false;
936 ClusterSnapshotCopyStatus m_clusterSnapshotCopyStatus;
937 bool m_clusterSnapshotCopyStatusHasBeenSet =
false;
940 bool m_clusterPublicKeyHasBeenSet =
false;
943 bool m_clusterNodesHasBeenSet =
false;
945 ElasticIpStatus m_elasticIpStatus;
946 bool m_elasticIpStatusHasBeenSet =
false;
949 bool m_clusterRevisionNumberHasBeenSet =
false;
952 bool m_tagsHasBeenSet =
false;
955 bool m_kmsKeyIdHasBeenSet =
false;
957 bool m_enhancedVpcRouting{
false};
958 bool m_enhancedVpcRoutingHasBeenSet =
false;
961 bool m_iamRolesHasBeenSet =
false;
964 bool m_pendingActionsHasBeenSet =
false;
967 bool m_maintenanceTrackNameHasBeenSet =
false;
970 bool m_elasticResizeNumberOfNodeOptionsHasBeenSet =
false;
973 bool m_deferredMaintenanceWindowsHasBeenSet =
false;
976 bool m_snapshotScheduleIdentifierHasBeenSet =
false;
979 bool m_snapshotScheduleStateHasBeenSet =
false;
982 bool m_expectedNextSnapshotScheduleTimeHasBeenSet =
false;
984 Aws::String m_expectedNextSnapshotScheduleTimeStatus;
985 bool m_expectedNextSnapshotScheduleTimeStatusHasBeenSet =
false;
988 bool m_nextMaintenanceWindowStartTimeHasBeenSet =
false;
990 ResizeInfo m_resizeInfo;
991 bool m_resizeInfoHasBeenSet =
false;
994 bool m_availabilityZoneRelocationStatusHasBeenSet =
false;
997 bool m_clusterNamespaceArnHasBeenSet =
false;
999 long long m_totalStorageCapacityInMegaBytes{0};
1000 bool m_totalStorageCapacityInMegaBytesHasBeenSet =
false;
1002 AquaConfiguration m_aquaConfiguration;
1003 bool m_aquaConfigurationHasBeenSet =
false;
1006 bool m_defaultIamRoleArnHasBeenSet =
false;
1008 ReservedNodeExchangeStatus m_reservedNodeExchangeStatus;
1009 bool m_reservedNodeExchangeStatusHasBeenSet =
false;
1012 bool m_customDomainNameHasBeenSet =
false;
1015 bool m_customDomainCertificateArnHasBeenSet =
false;
1018 bool m_customDomainCertificateExpiryDateHasBeenSet =
false;
1021 bool m_masterPasswordSecretArnHasBeenSet =
false;
1024 bool m_masterPasswordSecretKmsKeyIdHasBeenSet =
false;
1027 bool m_ipAddressTypeHasBeenSet =
false;
1030 bool m_multiAZHasBeenSet =
false;
1032 SecondaryClusterInfo m_multiAZSecondary;
1033 bool m_multiAZSecondaryHasBeenSet =
false;
bool MasterUsernameHasBeenSet() const
Cluster & WithAllowVersionUpgrade(bool value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const AquaConfiguration & GetAquaConfiguration() const
bool ExpectedNextSnapshotScheduleTimeHasBeenSet() const
const DataTransferProgress & GetDataTransferProgress() const
bool EnhancedVpcRoutingHasBeenSet() const
void SetClusterAvailabilityStatus(ClusterAvailabilityStatusT &&value)
const Aws::String & GetDefaultIamRoleArn() const
const Aws::String & GetMaintenanceTrackName() const
bool ClusterParameterGroupsHasBeenSet() const
const Aws::Vector< DeferredMaintenanceWindow > & GetDeferredMaintenanceWindows() const
const Aws::String & GetClusterRevisionNumber() const
Cluster & WithAquaConfiguration(AquaConfigurationT &&value)
const Aws::String & GetSnapshotScheduleIdentifier() const
const Aws::String & GetCustomDomainCertificateArn() const
void SetNumberOfNodes(int value)
Cluster & WithVpcSecurityGroups(VpcSecurityGroupsT &&value)
const Aws::Utils::DateTime & GetNextMaintenanceWindowStartTime() const
bool GetEncrypted() const
Cluster & AddClusterNodes(ClusterNodesT &&value)
bool AutomatedSnapshotRetentionPeriodHasBeenSet() const
void SetMasterUsername(MasterUsernameT &&value)
bool ClusterAvailabilityStatusHasBeenSet() const
Cluster & WithClusterStatus(ClusterStatusT &&value)
Cluster & WithIamRoles(IamRolesT &&value)
Cluster & WithClusterVersion(ClusterVersionT &&value)
bool ClusterIdentifierHasBeenSet() const
const ReservedNodeExchangeStatus & GetReservedNodeExchangeStatus() const
bool KmsKeyIdHasBeenSet() const
Cluster & WithTags(TagsT &&value)
void SetClusterPublicKey(ClusterPublicKeyT &&value)
const PendingModifiedValues & GetPendingModifiedValues() const
Cluster & WithNumberOfNodes(int value)
Cluster & WithClusterPublicKey(ClusterPublicKeyT &&value)
const Aws::Vector< ClusterSecurityGroupMembership > & GetClusterSecurityGroups() const
Cluster & AddDeferredMaintenanceWindows(DeferredMaintenanceWindowsT &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const SecondaryClusterInfo & GetMultiAZSecondary() const
Cluster & WithManualSnapshotRetentionPeriod(int value)
void SetEnhancedVpcRouting(bool value)
Cluster & WithClusterNamespaceArn(ClusterNamespaceArnT &&value)
void SetNextMaintenanceWindowStartTime(NextMaintenanceWindowStartTimeT &&value)
long long GetTotalStorageCapacityInMegaBytes() const
void SetSnapshotScheduleState(ScheduleState value)
bool GetAllowVersionUpgrade() const
Cluster & WithClusterNodes(ClusterNodesT &&value)
Cluster & WithClusterSecurityGroups(ClusterSecurityGroupsT &&value)
const Aws::String & GetVpcId() const
const Aws::String & GetClusterPublicKey() const
bool MasterPasswordSecretArnHasBeenSet() const
AWS_REDSHIFT_API Cluster()=default
Cluster & WithModifyStatus(ModifyStatusT &&value)
bool AllowVersionUpgradeHasBeenSet() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
int GetAutomatedSnapshotRetentionPeriod() const
void SetMultiAZ(MultiAZT &&value)
void SetCustomDomainCertificateArn(CustomDomainCertificateArnT &&value)
bool EncryptedHasBeenSet() const
void SetElasticResizeNumberOfNodeOptions(ElasticResizeNumberOfNodeOptionsT &&value)
Cluster & AddClusterSecurityGroups(ClusterSecurityGroupsT &&value)
void SetHsmStatus(HsmStatusT &&value)
void SetVpcSecurityGroups(VpcSecurityGroupsT &&value)
void SetMasterPasswordSecretArn(MasterPasswordSecretArnT &&value)
void SetAquaConfiguration(AquaConfigurationT &&value)
Cluster & WithResizeInfo(ResizeInfoT &&value)
void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
bool MasterPasswordSecretKmsKeyIdHasBeenSet() const
void SetManualSnapshotRetentionPeriod(int value)
bool AvailabilityZoneHasBeenSet() const
bool ModifyStatusHasBeenSet() const
void SetDefaultIamRoleArn(DefaultIamRoleArnT &&value)
void SetAllowVersionUpgrade(bool value)
const Aws::String & GetCustomDomainName() const
Cluster & AddTags(TagsT &&value)
bool DeferredMaintenanceWindowsHasBeenSet() const
bool SnapshotScheduleStateHasBeenSet() const
Cluster & WithRestoreStatus(RestoreStatusT &&value)
void SetCustomDomainCertificateExpiryDate(CustomDomainCertificateExpiryDateT &&value)
bool PendingModifiedValuesHasBeenSet() const
void SetElasticIpStatus(ElasticIpStatusT &&value)
bool MaintenanceTrackNameHasBeenSet() const
bool ClusterRevisionNumberHasBeenSet() const
bool TotalStorageCapacityInMegaBytesHasBeenSet() const
void SetPubliclyAccessible(bool value)
void SetVpcId(VpcIdT &&value)
bool AquaConfigurationHasBeenSet() const
Cluster & WithAvailabilityZone(AvailabilityZoneT &&value)
const Aws::String & GetElasticResizeNumberOfNodeOptions() const
Cluster & WithMultiAZ(MultiAZT &&value)
bool NumberOfNodesHasBeenSet() const
Cluster & WithMaintenanceTrackName(MaintenanceTrackNameT &&value)
void SetReservedNodeExchangeStatus(ReservedNodeExchangeStatusT &&value)
void SetExpectedNextSnapshotScheduleTime(ExpectedNextSnapshotScheduleTimeT &&value)
bool IamRolesHasBeenSet() const
bool DBNameHasBeenSet() const
const Aws::String & GetMultiAZ() const
bool ExpectedNextSnapshotScheduleTimeStatusHasBeenSet() const
void SetDBName(DBNameT &&value)
void SetIamRoles(IamRolesT &&value)
const Aws::String & GetDBName() const
Cluster & AddVpcSecurityGroups(VpcSecurityGroupsT &&value)
Cluster & AddClusterParameterGroups(ClusterParameterGroupsT &&value)
void SetIpAddressType(IpAddressTypeT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetDataTransferProgress(DataTransferProgressT &&value)
const HsmStatus & GetHsmStatus() const
void SetKmsKeyId(KmsKeyIdT &&value)
bool ClusterSubnetGroupNameHasBeenSet() const
bool ClusterSecurityGroupsHasBeenSet() const
bool ClusterPublicKeyHasBeenSet() const
Cluster & WithMultiAZSecondary(MultiAZSecondaryT &&value)
bool ResizeInfoHasBeenSet() const
Cluster & WithEnhancedVpcRouting(bool value)
const Aws::String & GetClusterSubnetGroupName() const
Cluster & WithExpectedNextSnapshotScheduleTimeStatus(ExpectedNextSnapshotScheduleTimeStatusT &&value)
const Aws::Vector< ClusterIamRole > & GetIamRoles() const
const Aws::Vector< VpcSecurityGroupMembership > & GetVpcSecurityGroups() const
AWS_REDSHIFT_API Cluster(const Aws::Utils::Xml::XmlNode &xmlNode)
Cluster & WithClusterCreateTime(ClusterCreateTimeT &&value)
void SetDeferredMaintenanceWindows(DeferredMaintenanceWindowsT &&value)
void SetClusterSnapshotCopyStatus(ClusterSnapshotCopyStatusT &&value)
Cluster & WithMasterUsername(MasterUsernameT &&value)
void SetTags(TagsT &&value)
const Aws::String & GetAvailabilityZoneRelocationStatus() const
void SetPendingActions(PendingActionsT &&value)
bool MultiAZSecondaryHasBeenSet() const
void SetClusterCreateTime(ClusterCreateTimeT &&value)
void SetClusterNodes(ClusterNodesT &&value)
bool MultiAZHasBeenSet() const
Cluster & WithPendingModifiedValues(PendingModifiedValuesT &&value)
Cluster & WithVpcId(VpcIdT &&value)
void SetRestoreStatus(RestoreStatusT &&value)
Cluster & WithDataTransferProgress(DataTransferProgressT &&value)
Cluster & WithElasticResizeNumberOfNodeOptions(ElasticResizeNumberOfNodeOptionsT &&value)
Cluster & WithKmsKeyId(KmsKeyIdT &&value)
bool ClusterSnapshotCopyStatusHasBeenSet() const
Cluster & WithClusterSnapshotCopyStatus(ClusterSnapshotCopyStatusT &&value)
bool ClusterCreateTimeHasBeenSet() const
Cluster & WithClusterParameterGroups(ClusterParameterGroupsT &&value)
bool VpcIdHasBeenSet() const
const Aws::Vector< ClusterParameterGroupStatus > & GetClusterParameterGroups() const
int GetManualSnapshotRetentionPeriod() const
const Aws::String & GetAvailabilityZone() const
bool RestoreStatusHasBeenSet() const
const Endpoint & GetEndpoint() const
bool CustomDomainCertificateArnHasBeenSet() const
bool ElasticIpStatusHasBeenSet() const
void SetClusterSecurityGroups(ClusterSecurityGroupsT &&value)
void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
Cluster & WithNodeType(NodeTypeT &&value)
bool ElasticResizeNumberOfNodeOptionsHasBeenSet() const
const Aws::String & GetModifyStatus() const
void SetCustomDomainName(CustomDomainNameT &&value)
bool PreferredMaintenanceWindowHasBeenSet() const
Cluster & WithTotalStorageCapacityInMegaBytes(long long value)
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
bool NodeTypeHasBeenSet() const
Cluster & WithPubliclyAccessible(bool value)
bool ManualSnapshotRetentionPeriodHasBeenSet() const
const Aws::Vector< ClusterNode > & GetClusterNodes() const
Cluster & WithNextMaintenanceWindowStartTime(NextMaintenanceWindowStartTimeT &&value)
void SetMaintenanceTrackName(MaintenanceTrackNameT &&value)
Cluster & AddPendingActions(PendingActionsT &&value)
const Aws::String & GetMasterPasswordSecretKmsKeyId() const
void SetClusterNamespaceArn(ClusterNamespaceArnT &&value)
bool TagsHasBeenSet() const
Cluster & WithAvailabilityZoneRelocationStatus(AvailabilityZoneRelocationStatusT &&value)
void SetExpectedNextSnapshotScheduleTimeStatus(ExpectedNextSnapshotScheduleTimeStatusT &&value)
Cluster & WithDeferredMaintenanceWindows(DeferredMaintenanceWindowsT &&value)
void SetClusterStatus(ClusterStatusT &&value)
const Aws::String & GetMasterUsername() const
bool VpcSecurityGroupsHasBeenSet() const
const Aws::Utils::DateTime & GetExpectedNextSnapshotScheduleTime() const
bool EndpointHasBeenSet() const
Cluster & WithEndpoint(EndpointT &&value)
Cluster & WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
Cluster & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
bool IpAddressTypeHasBeenSet() const
const Aws::String & GetExpectedNextSnapshotScheduleTimeStatus() const
const Aws::Vector< Tag > & GetTags() const
bool DefaultIamRoleArnHasBeenSet() const
void SetClusterVersion(ClusterVersionT &&value)
const Aws::String & GetKmsKeyId() const
void SetModifyStatus(ModifyStatusT &&value)
Cluster & WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
const RestoreStatus & GetRestoreStatus() const
bool PendingActionsHasBeenSet() const
Cluster & WithReservedNodeExchangeStatus(ReservedNodeExchangeStatusT &&value)
Cluster & WithAutomatedSnapshotRetentionPeriod(int value)
void SetPendingModifiedValues(PendingModifiedValuesT &&value)
Cluster & WithClusterRevisionNumber(ClusterRevisionNumberT &&value)
bool CustomDomainCertificateExpiryDateHasBeenSet() const
int GetNumberOfNodes() const
void SetEncrypted(bool value)
AWS_REDSHIFT_API Cluster & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetAutomatedSnapshotRetentionPeriod(int value)
Cluster & WithClusterIdentifier(ClusterIdentifierT &&value)
bool HsmStatusHasBeenSet() const
Cluster & WithCustomDomainName(CustomDomainNameT &&value)
bool ClusterVersionHasBeenSet() const
bool NextMaintenanceWindowStartTimeHasBeenSet() const
Cluster & WithExpectedNextSnapshotScheduleTime(ExpectedNextSnapshotScheduleTimeT &&value)
bool DataTransferProgressHasBeenSet() const
const ResizeInfo & GetResizeInfo() const
const Aws::Vector< Aws::String > & GetPendingActions() const
bool AvailabilityZoneRelocationStatusHasBeenSet() const
void SetClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
bool PubliclyAccessibleHasBeenSet() const
Cluster & WithSnapshotScheduleState(ScheduleState value)
Cluster & WithHsmStatus(HsmStatusT &&value)
const Aws::String & GetClusterAvailabilityStatus() const
Cluster & WithDefaultIamRoleArn(DefaultIamRoleArnT &&value)
bool ClusterNodesHasBeenSet() const
Cluster & WithCustomDomainCertificateArn(CustomDomainCertificateArnT &&value)
const Aws::Utils::DateTime & GetClusterCreateTime() const
Cluster & WithIpAddressType(IpAddressTypeT &&value)
ScheduleState GetSnapshotScheduleState() const
const Aws::String & GetClusterNamespaceArn() const
const Aws::String & GetClusterStatus() const
void SetAvailabilityZoneRelocationStatus(AvailabilityZoneRelocationStatusT &&value)
Cluster & WithDBName(DBNameT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
Cluster & WithEncrypted(bool value)
const Aws::String & GetIpAddressType() const
const Aws::String & GetNodeType() const
void SetTotalStorageCapacityInMegaBytes(long long value)
const Aws::String & GetClusterIdentifier() const
bool ReservedNodeExchangeStatusHasBeenSet() const
void SetClusterRevisionNumber(ClusterRevisionNumberT &&value)
bool GetPubliclyAccessible() const
Cluster & WithClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
const ClusterSnapshotCopyStatus & GetClusterSnapshotCopyStatus() const
const ElasticIpStatus & GetElasticIpStatus() const
const Aws::String & GetClusterVersion() const
Cluster & WithMasterPasswordSecretArn(MasterPasswordSecretArnT &&value)
bool ClusterNamespaceArnHasBeenSet() const
const Aws::Utils::DateTime & GetCustomDomainCertificateExpiryDate() const
void SetMultiAZSecondary(MultiAZSecondaryT &&value)
Cluster & AddIamRoles(IamRolesT &&value)
Cluster & WithElasticIpStatus(ElasticIpStatusT &&value)
Cluster & WithClusterAvailabilityStatus(ClusterAvailabilityStatusT &&value)
bool GetEnhancedVpcRouting() const
void SetClusterParameterGroups(ClusterParameterGroupsT &&value)
bool ClusterStatusHasBeenSet() const
void SetResizeInfo(ResizeInfoT &&value)
const Aws::String & GetMasterPasswordSecretArn() const
Cluster & WithPendingActions(PendingActionsT &&value)
void SetNodeType(NodeTypeT &&value)
Cluster & WithCustomDomainCertificateExpiryDate(CustomDomainCertificateExpiryDateT &&value)
bool SnapshotScheduleIdentifierHasBeenSet() const
void SetEndpoint(EndpointT &&value)
bool CustomDomainNameHasBeenSet() const
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