7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/redshift/RedshiftRequest.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/AquaConfigurationStatus.h>
12#include <aws/redshift/model/Tag.h>
58 template <
typename DBNameT = Aws::String>
60 m_dBNameHasBeenSet =
true;
61 m_dBName = std::forward<DBNameT>(value);
63 template <
typename DBNameT = Aws::String>
84 template <
typename ClusterIdentifierT = Aws::String>
86 m_clusterIdentifierHasBeenSet =
true;
87 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
89 template <
typename ClusterIdentifierT = Aws::String>
106 template <
typename ClusterTypeT = Aws::String>
108 m_clusterTypeHasBeenSet =
true;
109 m_clusterType = std::forward<ClusterTypeT>(value);
111 template <
typename ClusterTypeT = Aws::String>
130 template <
typename NodeTypeT = Aws::String>
132 m_nodeTypeHasBeenSet =
true;
133 m_nodeType = std::forward<NodeTypeT>(value);
135 template <
typename NodeTypeT = Aws::String>
157 template <
typename MasterUsernameT = Aws::String>
159 m_masterUsernameHasBeenSet =
true;
160 m_masterUsername = std::forward<MasterUsernameT>(value);
162 template <
typename MasterUsernameT = Aws::String>
183 template <
typename MasterUserPasswordT = Aws::String>
185 m_masterUserPasswordHasBeenSet =
true;
186 m_masterUserPassword = std::forward<MasterUserPasswordT>(value);
188 template <
typename MasterUserPasswordT = Aws::String>
202 template <
typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
204 m_clusterSecurityGroupsHasBeenSet =
true;
205 m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value);
207 template <
typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
212 template <
typename ClusterSecurityGroupsT = Aws::String>
214 m_clusterSecurityGroupsHasBeenSet =
true;
215 m_clusterSecurityGroups.emplace_back(std::forward<ClusterSecurityGroupsT>(value));
228 template <
typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
230 m_vpcSecurityGroupIdsHasBeenSet =
true;
231 m_vpcSecurityGroupIds = std::forward<VpcSecurityGroupIdsT>(value);
233 template <
typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
238 template <
typename VpcSecurityGroupIdsT = Aws::String>
240 m_vpcSecurityGroupIdsHasBeenSet =
true;
241 m_vpcSecurityGroupIds.emplace_back(std::forward<VpcSecurityGroupIdsT>(value));
254 template <
typename ClusterSubnetGroupNameT = Aws::String>
256 m_clusterSubnetGroupNameHasBeenSet =
true;
257 m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value);
259 template <
typename ClusterSubnetGroupNameT = Aws::String>
279 template <
typename AvailabilityZoneT = Aws::String>
281 m_availabilityZoneHasBeenSet =
true;
282 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
284 template <
typename AvailabilityZoneT = Aws::String>
305 template <
typename PreferredMa
intenanceWindowT = Aws::String>
307 m_preferredMaintenanceWindowHasBeenSet =
true;
308 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
310 template <
typename PreferredMa
intenanceWindowT = Aws::String>
330 template <
typename ClusterParameterGroupNameT = Aws::String>
332 m_clusterParameterGroupNameHasBeenSet =
true;
333 m_clusterParameterGroupName = std::forward<ClusterParameterGroupNameT>(value);
335 template <
typename ClusterParameterGroupNameT = Aws::String>
355 m_automatedSnapshotRetentionPeriodHasBeenSet =
true;
356 m_automatedSnapshotRetentionPeriod = value;
374 m_manualSnapshotRetentionPeriodHasBeenSet =
true;
375 m_manualSnapshotRetentionPeriod = value;
398 m_portHasBeenSet =
true;
416 template <
typename ClusterVersionT = Aws::String>
418 m_clusterVersionHasBeenSet =
true;
419 m_clusterVersion = std::forward<ClusterVersionT>(value);
421 template <
typename ClusterVersionT = Aws::String>
440 m_allowVersionUpgradeHasBeenSet =
true;
441 m_allowVersionUpgrade = value;
464 m_numberOfNodesHasBeenSet =
true;
465 m_numberOfNodes = value;
481 m_publiclyAccessibleHasBeenSet =
true;
482 m_publiclyAccessible = value;
499 m_encryptedHasBeenSet =
true;
515 template <
typename HsmClientCertificateIdentifierT = Aws::String>
517 m_hsmClientCertificateIdentifierHasBeenSet =
true;
518 m_hsmClientCertificateIdentifier = std::forward<HsmClientCertificateIdentifierT>(value);
520 template <
typename HsmClientCertificateIdentifierT = Aws::String>
534 template <
typename HsmConfigurationIdentifierT = Aws::String>
536 m_hsmConfigurationIdentifierHasBeenSet =
true;
537 m_hsmConfigurationIdentifier = std::forward<HsmConfigurationIdentifierT>(value);
539 template <
typename HsmConfigurationIdentifierT = Aws::String>
559 template <
typename ElasticIpT = Aws::String>
561 m_elasticIpHasBeenSet =
true;
562 m_elasticIp = std::forward<ElasticIpT>(value);
564 template <
typename ElasticIpT = Aws::String>
577 template <
typename TagsT = Aws::Vector<Tag>>
579 m_tagsHasBeenSet =
true;
580 m_tags = std::forward<TagsT>(value);
582 template <
typename TagsT = Aws::Vector<Tag>>
584 SetTags(std::forward<TagsT>(value));
587 template <
typename TagsT = Tag>
589 m_tagsHasBeenSet =
true;
590 m_tags.emplace_back(std::forward<TagsT>(value));
602 template <
typename KmsKeyIdT = Aws::String>
604 m_kmsKeyIdHasBeenSet =
true;
605 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
607 template <
typename KmsKeyIdT = Aws::String>
627 m_enhancedVpcRoutingHasBeenSet =
true;
628 m_enhancedVpcRouting = value;
642 template <
typename AdditionalInfoT = Aws::String>
644 m_additionalInfoHasBeenSet =
true;
645 m_additionalInfo = std::forward<AdditionalInfoT>(value);
647 template <
typename AdditionalInfoT = Aws::String>
666 template <
typename IamRolesT = Aws::Vector<Aws::String>>
668 m_iamRolesHasBeenSet =
true;
669 m_iamRoles = std::forward<IamRolesT>(value);
671 template <
typename IamRolesT = Aws::Vector<Aws::String>>
676 template <
typename IamRolesT = Aws::String>
678 m_iamRolesHasBeenSet =
true;
679 m_iamRoles.emplace_back(std::forward<IamRolesT>(value));
692 template <
typename Ma
intenanceTrackNameT = Aws::String>
694 m_maintenanceTrackNameHasBeenSet =
true;
695 m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value);
697 template <
typename Ma
intenanceTrackNameT = Aws::String>
710 template <
typename SnapshotScheduleIdentifierT = Aws::String>
712 m_snapshotScheduleIdentifierHasBeenSet =
true;
713 m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value);
715 template <
typename SnapshotScheduleIdentifierT = Aws::String>
730 m_availabilityZoneRelocationHasBeenSet =
true;
731 m_availabilityZoneRelocation = value;
748 m_aquaConfigurationStatusHasBeenSet =
true;
749 m_aquaConfigurationStatus = value;
764 template <
typename DefaultIamRoleArnT = Aws::String>
766 m_defaultIamRoleArnHasBeenSet =
true;
767 m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value);
769 template <
typename DefaultIamRoleArnT = Aws::String>
783 template <
typename LoadSampleDataT = Aws::String>
785 m_loadSampleDataHasBeenSet =
true;
786 m_loadSampleData = std::forward<LoadSampleDataT>(value);
788 template <
typename LoadSampleDataT = Aws::String>
806 m_manageMasterPasswordHasBeenSet =
true;
807 m_manageMasterPassword = value;
823 template <
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
825 m_masterPasswordSecretKmsKeyIdHasBeenSet =
true;
826 m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value);
828 template <
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
842 template <
typename IpAddressTypeT = Aws::String>
844 m_ipAddressTypeHasBeenSet =
true;
845 m_ipAddressType = std::forward<IpAddressTypeT>(value);
847 template <
typename IpAddressTypeT = Aws::String>
862 m_multiAZHasBeenSet =
true;
878 template <
typename RedshiftIdcApplicationArnT = Aws::String>
880 m_redshiftIdcApplicationArnHasBeenSet =
true;
881 m_redshiftIdcApplicationArn = std::forward<RedshiftIdcApplicationArnT>(value);
883 template <
typename RedshiftIdcApplicationArnT = Aws::String>
901 template <
typename CatalogNameT = Aws::String>
903 m_catalogNameHasBeenSet =
true;
904 m_catalogName = std::forward<CatalogNameT>(value);
906 template <
typename CatalogNameT = Aws::String>
921 m_extraComputeForAutomaticOptimizationHasBeenSet =
true;
922 m_extraComputeForAutomaticOptimization = value;
954 int m_automatedSnapshotRetentionPeriod{0};
956 int m_manualSnapshotRetentionPeriod{0};
962 bool m_allowVersionUpgrade{
false};
964 int m_numberOfNodes{0};
966 bool m_publiclyAccessible{
false};
968 bool m_encrypted{
false};
980 bool m_enhancedVpcRouting{
false};
990 bool m_availabilityZoneRelocation{
false};
998 bool m_manageMasterPassword{
false};
1004 bool m_multiAZ{
false};
1010 bool m_extraComputeForAutomaticOptimization{
false};
1011 bool m_dBNameHasBeenSet =
false;
1012 bool m_clusterIdentifierHasBeenSet =
false;
1013 bool m_clusterTypeHasBeenSet =
false;
1014 bool m_nodeTypeHasBeenSet =
false;
1015 bool m_masterUsernameHasBeenSet =
false;
1016 bool m_masterUserPasswordHasBeenSet =
false;
1017 bool m_clusterSecurityGroupsHasBeenSet =
false;
1018 bool m_vpcSecurityGroupIdsHasBeenSet =
false;
1019 bool m_clusterSubnetGroupNameHasBeenSet =
false;
1020 bool m_availabilityZoneHasBeenSet =
false;
1021 bool m_preferredMaintenanceWindowHasBeenSet =
false;
1022 bool m_clusterParameterGroupNameHasBeenSet =
false;
1023 bool m_automatedSnapshotRetentionPeriodHasBeenSet =
false;
1024 bool m_manualSnapshotRetentionPeriodHasBeenSet =
false;
1025 bool m_portHasBeenSet =
false;
1026 bool m_clusterVersionHasBeenSet =
false;
1027 bool m_allowVersionUpgradeHasBeenSet =
false;
1028 bool m_numberOfNodesHasBeenSet =
false;
1029 bool m_publiclyAccessibleHasBeenSet =
false;
1030 bool m_encryptedHasBeenSet =
false;
1031 bool m_hsmClientCertificateIdentifierHasBeenSet =
false;
1032 bool m_hsmConfigurationIdentifierHasBeenSet =
false;
1033 bool m_elasticIpHasBeenSet =
false;
1034 bool m_tagsHasBeenSet =
false;
1035 bool m_kmsKeyIdHasBeenSet =
false;
1036 bool m_enhancedVpcRoutingHasBeenSet =
false;
1037 bool m_additionalInfoHasBeenSet =
false;
1038 bool m_iamRolesHasBeenSet =
false;
1039 bool m_maintenanceTrackNameHasBeenSet =
false;
1040 bool m_snapshotScheduleIdentifierHasBeenSet =
false;
1041 bool m_availabilityZoneRelocationHasBeenSet =
false;
1042 bool m_aquaConfigurationStatusHasBeenSet =
false;
1043 bool m_defaultIamRoleArnHasBeenSet =
false;
1044 bool m_loadSampleDataHasBeenSet =
false;
1045 bool m_manageMasterPasswordHasBeenSet =
false;
1046 bool m_masterPasswordSecretKmsKeyIdHasBeenSet =
false;
1047 bool m_ipAddressTypeHasBeenSet =
false;
1048 bool m_multiAZHasBeenSet =
false;
1049 bool m_redshiftIdcApplicationArnHasBeenSet =
false;
1050 bool m_catalogNameHasBeenSet =
false;
1051 bool m_extraComputeForAutomaticOptimizationHasBeenSet =
false;
CreateClusterRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
const Aws::String & GetDefaultIamRoleArn() const
void SetClusterVersion(ClusterVersionT &&value)
const Aws::String & GetAdditionalInfo() const
CreateClusterRequest & WithManageMasterPassword(bool value)
CreateClusterRequest & WithClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
CreateClusterRequest & WithKmsKeyId(KmsKeyIdT &&value)
const Aws::String & GetElasticIp() const
bool KmsKeyIdHasBeenSet() const
const Aws::String & GetAvailabilityZone() const
CreateClusterRequest & AddIamRoles(IamRolesT &&value)
CreateClusterRequest & WithAvailabilityZoneRelocation(bool value)
bool GetManageMasterPassword() const
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
const Aws::Vector< Aws::String > & GetClusterSecurityGroups() const
CreateClusterRequest & WithClusterSecurityGroups(ClusterSecurityGroupsT &&value)
void SetCatalogName(CatalogNameT &&value)
AquaConfigurationStatus GetAquaConfigurationStatus() const
bool AutomatedSnapshotRetentionPeriodHasBeenSet() const
bool TagsHasBeenSet() const
bool NumberOfNodesHasBeenSet() const
const Aws::String & GetLoadSampleData() const
bool MasterUsernameHasBeenSet() const
CreateClusterRequest & WithLoadSampleData(LoadSampleDataT &&value)
AWS_REDSHIFT_API Aws::String SerializePayload() const override
bool CatalogNameHasBeenSet() const
bool IamRolesHasBeenSet() const
void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT &&value)
const Aws::String & GetHsmConfigurationIdentifier() const
void SetDefaultIamRoleArn(DefaultIamRoleArnT &&value)
CreateClusterRequest & WithTags(TagsT &&value)
bool AvailabilityZoneRelocationHasBeenSet() const
const Aws::Vector< Aws::String > & GetIamRoles() const
CreateClusterRequest & AddVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
bool EncryptedHasBeenSet() const
bool LoadSampleDataHasBeenSet() const
bool ClusterParameterGroupNameHasBeenSet() const
bool AllowVersionUpgradeHasBeenSet() const
bool GetExtraComputeForAutomaticOptimization() const
const Aws::String & GetClusterType() const
bool GetEncrypted() const
CreateClusterRequest & WithPort(int value)
void SetMultiAZ(bool value)
int GetNumberOfNodes() const
bool GetAllowVersionUpgrade() const
CreateClusterRequest & WithElasticIp(ElasticIpT &&value)
CreateClusterRequest & WithIpAddressType(IpAddressTypeT &&value)
const Aws::String & GetClusterVersion() const
bool ClusterSubnetGroupNameHasBeenSet() const
CreateClusterRequest & WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
CreateClusterRequest & WithAquaConfigurationStatus(AquaConfigurationStatus value)
void SetMasterUserPassword(MasterUserPasswordT &&value)
void SetLoadSampleData(LoadSampleDataT &&value)
bool HsmConfigurationIdentifierHasBeenSet() const
void SetIpAddressType(IpAddressTypeT &&value)
void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT &&value)
void SetClusterParameterGroupName(ClusterParameterGroupNameT &&value)
CreateClusterRequest & WithMasterUserPassword(MasterUserPasswordT &&value)
bool DBNameHasBeenSet() const
bool MasterPasswordSecretKmsKeyIdHasBeenSet() const
const Aws::String & GetNodeType() const
CreateClusterRequest & WithDBName(DBNameT &&value)
CreateClusterRequest & WithPubliclyAccessible(bool value)
const Aws::Vector< Aws::String > & GetVpcSecurityGroupIds() const
bool VpcSecurityGroupIdsHasBeenSet() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
CreateClusterRequest & WithClusterParameterGroupName(ClusterParameterGroupNameT &&value)
void SetClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
CreateClusterRequest & WithManualSnapshotRetentionPeriod(int value)
bool ClusterSecurityGroupsHasBeenSet() const
bool ManualSnapshotRetentionPeriodHasBeenSet() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetEncrypted(bool value)
bool GetAvailabilityZoneRelocation() const
AWS_REDSHIFT_API CreateClusterRequest()=default
bool NodeTypeHasBeenSet() const
const Aws::String & GetRedshiftIdcApplicationArn() const
void SetAvailabilityZoneRelocation(bool value)
bool ClusterTypeHasBeenSet() const
CreateClusterRequest & WithDefaultIamRoleArn(DefaultIamRoleArnT &&value)
const Aws::String & GetCatalogName() const
int GetManualSnapshotRetentionPeriod() const
void SetAllowVersionUpgrade(bool value)
bool PubliclyAccessibleHasBeenSet() const
bool AquaConfigurationStatusHasBeenSet() const
virtual const char * GetServiceRequestName() const override
CreateClusterRequest & WithHsmConfigurationIdentifier(HsmConfigurationIdentifierT &&value)
bool DefaultIamRoleArnHasBeenSet() const
void SetAutomatedSnapshotRetentionPeriod(int value)
bool AdditionalInfoHasBeenSet() const
const Aws::String & GetIpAddressType() const
CreateClusterRequest & WithClusterVersion(ClusterVersionT &&value)
void SetMaintenanceTrackName(MaintenanceTrackNameT &&value)
bool HsmClientCertificateIdentifierHasBeenSet() const
void SetManageMasterPassword(bool value)
CreateClusterRequest & WithMultiAZ(bool value)
bool ExtraComputeForAutomaticOptimizationHasBeenSet() const
bool ManageMasterPasswordHasBeenSet() const
CreateClusterRequest & WithNodeType(NodeTypeT &&value)
void SetNodeType(NodeTypeT &&value)
bool RedshiftIdcApplicationArnHasBeenSet() const
bool PortHasBeenSet() const
const Aws::String & GetDBName() const
CreateClusterRequest & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
bool ElasticIpHasBeenSet() const
const Aws::String & GetMasterUsername() const
void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
void SetElasticIp(ElasticIpT &&value)
CreateClusterRequest & WithMaintenanceTrackName(MaintenanceTrackNameT &&value)
CreateClusterRequest & WithIamRoles(IamRolesT &&value)
const Aws::String & GetClusterIdentifier() const
const Aws::String & GetKmsKeyId() const
void SetIamRoles(IamRolesT &&value)
CreateClusterRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
void SetTags(TagsT &&value)
CreateClusterRequest & WithClusterType(ClusterTypeT &&value)
bool MasterUserPasswordHasBeenSet() const
const Aws::String & GetSnapshotScheduleIdentifier() const
CreateClusterRequest & WithMasterUsername(MasterUsernameT &&value)
void SetAdditionalInfo(AdditionalInfoT &&value)
CreateClusterRequest & WithVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT &&value)
bool SnapshotScheduleIdentifierHasBeenSet() const
CreateClusterRequest & WithAdditionalInfo(AdditionalInfoT &&value)
void SetEnhancedVpcRouting(bool value)
CreateClusterRequest & WithHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT &&value)
bool GetPubliclyAccessible() const
CreateClusterRequest & AddTags(TagsT &&value)
int GetAutomatedSnapshotRetentionPeriod() const
bool GetEnhancedVpcRouting() const
void SetKmsKeyId(KmsKeyIdT &&value)
bool EnhancedVpcRoutingHasBeenSet() const
void SetPubliclyAccessible(bool value)
CreateClusterRequest & WithExtraComputeForAutomaticOptimization(bool value)
void SetMasterUsername(MasterUsernameT &&value)
CreateClusterRequest & AddClusterSecurityGroups(ClusterSecurityGroupsT &&value)
void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
void SetDBName(DBNameT &&value)
CreateClusterRequest & WithAutomatedSnapshotRetentionPeriod(int value)
CreateClusterRequest & WithRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT &&value)
const Aws::String & GetMasterPasswordSecretKmsKeyId() const
const Aws::String & GetClusterSubnetGroupName() const
bool MaintenanceTrackNameHasBeenSet() const
AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const Aws::String & GetClusterParameterGroupName() const
CreateClusterRequest & WithNumberOfNodes(int value)
void SetClusterType(ClusterTypeT &&value)
CreateClusterRequest & WithCatalogName(CatalogNameT &&value)
bool AvailabilityZoneHasBeenSet() const
CreateClusterRequest & WithAllowVersionUpgrade(bool value)
bool ClusterVersionHasBeenSet() const
CreateClusterRequest & WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
const Aws::String & GetMasterUserPassword() const
const Aws::String & GetPreferredMaintenanceWindow() const
bool ClusterIdentifierHasBeenSet() const
void SetManualSnapshotRetentionPeriod(int value)
bool MultiAZHasBeenSet() const
CreateClusterRequest & WithEncrypted(bool value)
void SetNumberOfNodes(int value)
void SetExtraComputeForAutomaticOptimization(bool value)
const Aws::Vector< Tag > & GetTags() const
void SetAquaConfigurationStatus(AquaConfigurationStatus value)
const Aws::String & GetHsmClientCertificateIdentifier() const
bool IpAddressTypeHasBeenSet() const
const Aws::String & GetMaintenanceTrackName() const
void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
CreateClusterRequest & WithEnhancedVpcRouting(bool value)
void SetClusterSecurityGroups(ClusterSecurityGroupsT &&value)
bool PreferredMaintenanceWindowHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector