7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/redshift/RedshiftRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/redshift/model/AquaConfigurationStatus.h>
12#include <aws/redshift/model/Tag.h>
62 template<
typename DBNameT = Aws::String>
63 void SetDBName(DBNameT&& value) { m_dBNameHasBeenSet =
true; m_dBName = std::forward<DBNameT>(value); }
64 template<
typename DBNameT = Aws::String>
82 template<
typename ClusterIdentifierT = Aws::String>
83 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
84 template<
typename ClusterIdentifierT = Aws::String>
98 template<
typename ClusterTypeT = Aws::String>
99 void SetClusterType(ClusterTypeT&& value) { m_clusterTypeHasBeenSet =
true; m_clusterType = std::forward<ClusterTypeT>(value); }
100 template<
typename ClusterTypeT = Aws::String>
116 template<
typename NodeTypeT = Aws::String>
117 void SetNodeType(NodeTypeT&& value) { m_nodeTypeHasBeenSet =
true; m_nodeType = std::forward<NodeTypeT>(value); }
118 template<
typename NodeTypeT = Aws::String>
137 template<
typename MasterUsernameT = Aws::String>
138 void SetMasterUsername(MasterUsernameT&& value) { m_masterUsernameHasBeenSet =
true; m_masterUsername = std::forward<MasterUsernameT>(value); }
139 template<
typename MasterUsernameT = Aws::String>
157 template<
typename MasterUserPasswordT = Aws::String>
158 void SetMasterUserPassword(MasterUserPasswordT&& value) { m_masterUserPasswordHasBeenSet =
true; m_masterUserPassword = std::forward<MasterUserPasswordT>(value); }
159 template<
typename MasterUserPasswordT = Aws::String>
170 template<
typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
171 void SetClusterSecurityGroups(ClusterSecurityGroupsT&& value) { m_clusterSecurityGroupsHasBeenSet =
true; m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value); }
172 template<
typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
174 template<
typename ClusterSecurityGroupsT = Aws::String>
186 template<
typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
187 void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) { m_vpcSecurityGroupIdsHasBeenSet =
true; m_vpcSecurityGroupIds = std::forward<VpcSecurityGroupIdsT>(value); }
188 template<
typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
190 template<
typename VpcSecurityGroupIdsT = Aws::String>
202 template<
typename ClusterSubnetGroupNameT = Aws::String>
203 void SetClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) { m_clusterSubnetGroupNameHasBeenSet =
true; m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value); }
204 template<
typename ClusterSubnetGroupNameT = Aws::String>
221 template<
typename AvailabilityZoneT = Aws::String>
222 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
223 template<
typename AvailabilityZoneT = Aws::String>
241 template<
typename PreferredMa
intenanceWindowT = Aws::String>
242 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
243 template<
typename PreferredMa
intenanceWindowT = Aws::String>
260 template<
typename ClusterParameterGroupNameT = Aws::String>
261 void SetClusterParameterGroupName(ClusterParameterGroupNameT&& value) { m_clusterParameterGroupNameHasBeenSet =
true; m_clusterParameterGroupName = std::forward<ClusterParameterGroupNameT>(value); }
262 template<
typename ClusterParameterGroupNameT = Aws::String>
309 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
322 template<
typename ClusterVersionT = Aws::String>
323 void SetClusterVersion(ClusterVersionT&& value) { m_clusterVersionHasBeenSet =
true; m_clusterVersion = std::forward<ClusterVersionT>(value); }
324 template<
typename ClusterVersionT = Aws::String>
339 inline void SetAllowVersionUpgrade(
bool value) { m_allowVersionUpgradeHasBeenSet =
true; m_allowVersionUpgrade = value; }
357 inline void SetNumberOfNodes(
int value) { m_numberOfNodesHasBeenSet =
true; m_numberOfNodes = value; }
368 inline void SetPubliclyAccessible(
bool value) { m_publiclyAccessibleHasBeenSet =
true; m_publiclyAccessible = value; }
380 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
391 template<
typename HsmClientCertificateIdentifierT = Aws::String>
392 void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) { m_hsmClientCertificateIdentifierHasBeenSet =
true; m_hsmClientCertificateIdentifier = std::forward<HsmClientCertificateIdentifierT>(value); }
393 template<
typename HsmClientCertificateIdentifierT = Aws::String>
404 template<
typename HsmConfigurationIdentifierT = Aws::String>
405 void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) { m_hsmConfigurationIdentifierHasBeenSet =
true; m_hsmConfigurationIdentifier = std::forward<HsmConfigurationIdentifierT>(value); }
406 template<
typename HsmConfigurationIdentifierT = Aws::String>
423 template<
typename ElasticIpT = Aws::String>
424 void SetElasticIp(ElasticIpT&& value) { m_elasticIpHasBeenSet =
true; m_elasticIp = std::forward<ElasticIpT>(value); }
425 template<
typename ElasticIpT = Aws::String>
435 template<
typename TagsT = Aws::Vector<Tag>>
436 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
437 template<
typename TagsT = Aws::Vector<Tag>>
439 template<
typename TagsT = Tag>
450 template<
typename KmsKeyIdT = Aws::String>
451 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
452 template<
typename KmsKeyIdT = Aws::String>
468 inline void SetEnhancedVpcRouting(
bool value) { m_enhancedVpcRoutingHasBeenSet =
true; m_enhancedVpcRouting = value; }
478 template<
typename AdditionalInfoT = Aws::String>
479 void SetAdditionalInfo(AdditionalInfoT&& value) { m_additionalInfoHasBeenSet =
true; m_additionalInfo = std::forward<AdditionalInfoT>(value); }
480 template<
typename AdditionalInfoT = Aws::String>
496 template<
typename IamRolesT = Aws::Vector<Aws::String>>
497 void SetIamRoles(IamRolesT&& value) { m_iamRolesHasBeenSet =
true; m_iamRoles = std::forward<IamRolesT>(value); }
498 template<
typename IamRolesT = Aws::Vector<Aws::String>>
500 template<
typename IamRolesT = Aws::String>
512 template<
typename Ma
intenanceTrackNameT = Aws::String>
513 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) { m_maintenanceTrackNameHasBeenSet =
true; m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value); }
514 template<
typename Ma
intenanceTrackNameT = Aws::String>
524 template<
typename SnapshotScheduleIdentifierT = Aws::String>
525 void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) { m_snapshotScheduleIdentifierHasBeenSet =
true; m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value); }
526 template<
typename SnapshotScheduleIdentifierT = Aws::String>
560 template<
typename DefaultIamRoleArnT = Aws::String>
561 void SetDefaultIamRoleArn(DefaultIamRoleArnT&& value) { m_defaultIamRoleArnHasBeenSet =
true; m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value); }
562 template<
typename DefaultIamRoleArnT = Aws::String>
573 template<
typename LoadSampleDataT = Aws::String>
574 void SetLoadSampleData(LoadSampleDataT&& value) { m_loadSampleDataHasBeenSet =
true; m_loadSampleData = std::forward<LoadSampleDataT>(value); }
575 template<
typename LoadSampleDataT = Aws::String>
601 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
602 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) { m_masterPasswordSecretKmsKeyIdHasBeenSet =
true; m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value); }
603 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
614 template<
typename IpAddressTypeT = Aws::String>
615 void SetIpAddressType(IpAddressTypeT&& value) { m_ipAddressTypeHasBeenSet =
true; m_ipAddressType = std::forward<IpAddressTypeT>(value); }
616 template<
typename IpAddressTypeT = Aws::String>
627 inline void SetMultiAZ(
bool value) { m_multiAZHasBeenSet =
true; m_multiAZ = value; }
638 template<
typename RedshiftIdcApplicationArnT = Aws::String>
639 void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) { m_redshiftIdcApplicationArnHasBeenSet =
true; m_redshiftIdcApplicationArn = std::forward<RedshiftIdcApplicationArnT>(value); }
640 template<
typename RedshiftIdcApplicationArnT = Aws::String>
646 bool m_dBNameHasBeenSet =
false;
649 bool m_clusterIdentifierHasBeenSet =
false;
652 bool m_clusterTypeHasBeenSet =
false;
655 bool m_nodeTypeHasBeenSet =
false;
658 bool m_masterUsernameHasBeenSet =
false;
661 bool m_masterUserPasswordHasBeenSet =
false;
664 bool m_clusterSecurityGroupsHasBeenSet =
false;
667 bool m_vpcSecurityGroupIdsHasBeenSet =
false;
670 bool m_clusterSubnetGroupNameHasBeenSet =
false;
673 bool m_availabilityZoneHasBeenSet =
false;
676 bool m_preferredMaintenanceWindowHasBeenSet =
false;
679 bool m_clusterParameterGroupNameHasBeenSet =
false;
681 int m_automatedSnapshotRetentionPeriod{0};
682 bool m_automatedSnapshotRetentionPeriodHasBeenSet =
false;
684 int m_manualSnapshotRetentionPeriod{0};
685 bool m_manualSnapshotRetentionPeriodHasBeenSet =
false;
688 bool m_portHasBeenSet =
false;
691 bool m_clusterVersionHasBeenSet =
false;
693 bool m_allowVersionUpgrade{
false};
694 bool m_allowVersionUpgradeHasBeenSet =
false;
696 int m_numberOfNodes{0};
697 bool m_numberOfNodesHasBeenSet =
false;
699 bool m_publiclyAccessible{
false};
700 bool m_publiclyAccessibleHasBeenSet =
false;
702 bool m_encrypted{
false};
703 bool m_encryptedHasBeenSet =
false;
706 bool m_hsmClientCertificateIdentifierHasBeenSet =
false;
709 bool m_hsmConfigurationIdentifierHasBeenSet =
false;
712 bool m_elasticIpHasBeenSet =
false;
715 bool m_tagsHasBeenSet =
false;
718 bool m_kmsKeyIdHasBeenSet =
false;
720 bool m_enhancedVpcRouting{
false};
721 bool m_enhancedVpcRoutingHasBeenSet =
false;
724 bool m_additionalInfoHasBeenSet =
false;
727 bool m_iamRolesHasBeenSet =
false;
730 bool m_maintenanceTrackNameHasBeenSet =
false;
733 bool m_snapshotScheduleIdentifierHasBeenSet =
false;
735 bool m_availabilityZoneRelocation{
false};
736 bool m_availabilityZoneRelocationHasBeenSet =
false;
739 bool m_aquaConfigurationStatusHasBeenSet =
false;
742 bool m_defaultIamRoleArnHasBeenSet =
false;
745 bool m_loadSampleDataHasBeenSet =
false;
747 bool m_manageMasterPassword{
false};
748 bool m_manageMasterPasswordHasBeenSet =
false;
751 bool m_masterPasswordSecretKmsKeyIdHasBeenSet =
false;
754 bool m_ipAddressTypeHasBeenSet =
false;
756 bool m_multiAZ{
false};
757 bool m_multiAZHasBeenSet =
false;
760 bool m_redshiftIdcApplicationArnHasBeenSet =
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)
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 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
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)
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 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)
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)
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)
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