AWS SDK for C++

AWS SDK for C++ Version 1.11.808

Loading...
Searching...
No Matches
CreateClusterRequest.h
1
6#pragma once
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>
13
14#include <utility>
15
16namespace Aws {
17namespace Redshift {
18namespace Model {
19
26 public:
27 AWS_REDSHIFT_API CreateClusterRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; }
34
35 AWS_REDSHIFT_API Aws::String SerializePayload() const override;
36
37 protected:
38 AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
39
40 public:
42
56 inline const Aws::String& GetDBName() const { return m_dBName; }
57 inline bool DBNameHasBeenSet() const { return m_dBNameHasBeenSet; }
58 template <typename DBNameT = Aws::String>
59 void SetDBName(DBNameT&& value) {
60 m_dBNameHasBeenSet = true;
61 m_dBName = std::forward<DBNameT>(value);
62 }
63 template <typename DBNameT = Aws::String>
64 CreateClusterRequest& WithDBName(DBNameT&& value) {
65 SetDBName(std::forward<DBNameT>(value));
66 return *this;
67 }
69
71
82 inline const Aws::String& GetClusterIdentifier() const { return m_clusterIdentifier; }
83 inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
84 template <typename ClusterIdentifierT = Aws::String>
85 void SetClusterIdentifier(ClusterIdentifierT&& value) {
86 m_clusterIdentifierHasBeenSet = true;
87 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
88 }
89 template <typename ClusterIdentifierT = Aws::String>
90 CreateClusterRequest& WithClusterIdentifier(ClusterIdentifierT&& value) {
91 SetClusterIdentifier(std::forward<ClusterIdentifierT>(value));
92 return *this;
93 }
95
97
104 inline const Aws::String& GetClusterType() const { return m_clusterType; }
105 inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; }
106 template <typename ClusterTypeT = Aws::String>
107 void SetClusterType(ClusterTypeT&& value) {
108 m_clusterTypeHasBeenSet = true;
109 m_clusterType = std::forward<ClusterTypeT>(value);
110 }
111 template <typename ClusterTypeT = Aws::String>
112 CreateClusterRequest& WithClusterType(ClusterTypeT&& value) {
113 SetClusterType(std::forward<ClusterTypeT>(value));
114 return *this;
115 }
117
119
129 inline const Aws::String& GetNodeType() const { return m_nodeType; }
130 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
131 template <typename NodeTypeT = Aws::String>
132 void SetNodeType(NodeTypeT&& value) {
133 m_nodeTypeHasBeenSet = true;
134 m_nodeType = std::forward<NodeTypeT>(value);
135 }
136 template <typename NodeTypeT = Aws::String>
137 CreateClusterRequest& WithNodeType(NodeTypeT&& value) {
138 SetNodeType(std::forward<NodeTypeT>(value));
139 return *this;
140 }
142
144
156 inline const Aws::String& GetMasterUsername() const { return m_masterUsername; }
157 inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; }
158 template <typename MasterUsernameT = Aws::String>
159 void SetMasterUsername(MasterUsernameT&& value) {
160 m_masterUsernameHasBeenSet = true;
161 m_masterUsername = std::forward<MasterUsernameT>(value);
162 }
163 template <typename MasterUsernameT = Aws::String>
164 CreateClusterRequest& WithMasterUsername(MasterUsernameT&& value) {
165 SetMasterUsername(std::forward<MasterUsernameT>(value));
166 return *this;
167 }
169
171
182 inline const Aws::String& GetMasterUserPassword() const { return m_masterUserPassword; }
183 inline bool MasterUserPasswordHasBeenSet() const { return m_masterUserPasswordHasBeenSet; }
184 template <typename MasterUserPasswordT = Aws::String>
185 void SetMasterUserPassword(MasterUserPasswordT&& value) {
186 m_masterUserPasswordHasBeenSet = true;
187 m_masterUserPassword = std::forward<MasterUserPasswordT>(value);
188 }
189 template <typename MasterUserPasswordT = Aws::String>
190 CreateClusterRequest& WithMasterUserPassword(MasterUserPasswordT&& value) {
191 SetMasterUserPassword(std::forward<MasterUserPasswordT>(value));
192 return *this;
193 }
195
197
201 inline const Aws::Vector<Aws::String>& GetClusterSecurityGroups() const { return m_clusterSecurityGroups; }
202 inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; }
203 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
204 void SetClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
205 m_clusterSecurityGroupsHasBeenSet = true;
206 m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value);
207 }
208 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
209 CreateClusterRequest& WithClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
210 SetClusterSecurityGroups(std::forward<ClusterSecurityGroupsT>(value));
211 return *this;
212 }
213 template <typename ClusterSecurityGroupsT = Aws::String>
214 CreateClusterRequest& AddClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
215 m_clusterSecurityGroupsHasBeenSet = true;
216 m_clusterSecurityGroups.emplace_back(std::forward<ClusterSecurityGroupsT>(value));
217 return *this;
218 }
220
222
227 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const { return m_vpcSecurityGroupIds; }
228 inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }
229 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
230 void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
231 m_vpcSecurityGroupIdsHasBeenSet = true;
232 m_vpcSecurityGroupIds = std::forward<VpcSecurityGroupIdsT>(value);
233 }
234 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
235 CreateClusterRequest& WithVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
236 SetVpcSecurityGroupIds(std::forward<VpcSecurityGroupIdsT>(value));
237 return *this;
238 }
239 template <typename VpcSecurityGroupIdsT = Aws::String>
240 CreateClusterRequest& AddVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
241 m_vpcSecurityGroupIdsHasBeenSet = true;
242 m_vpcSecurityGroupIds.emplace_back(std::forward<VpcSecurityGroupIdsT>(value));
243 return *this;
244 }
246
248
253 inline const Aws::String& GetClusterSubnetGroupName() const { return m_clusterSubnetGroupName; }
254 inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; }
255 template <typename ClusterSubnetGroupNameT = Aws::String>
256 void SetClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
257 m_clusterSubnetGroupNameHasBeenSet = true;
258 m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value);
259 }
260 template <typename ClusterSubnetGroupNameT = Aws::String>
261 CreateClusterRequest& WithClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
262 SetClusterSubnetGroupName(std::forward<ClusterSubnetGroupNameT>(value));
263 return *this;
264 }
266
268
278 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
279 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
280 template <typename AvailabilityZoneT = Aws::String>
281 void SetAvailabilityZone(AvailabilityZoneT&& value) {
282 m_availabilityZoneHasBeenSet = true;
283 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
284 }
285 template <typename AvailabilityZoneT = Aws::String>
286 CreateClusterRequest& WithAvailabilityZone(AvailabilityZoneT&& value) {
287 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
288 return *this;
289 }
291
293
304 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
305 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
306 template <typename PreferredMaintenanceWindowT = Aws::String>
307 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
308 m_preferredMaintenanceWindowHasBeenSet = true;
309 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
310 }
311 template <typename PreferredMaintenanceWindowT = Aws::String>
312 CreateClusterRequest& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
313 SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value));
314 return *this;
315 }
317
319
329 inline const Aws::String& GetClusterParameterGroupName() const { return m_clusterParameterGroupName; }
330 inline bool ClusterParameterGroupNameHasBeenSet() const { return m_clusterParameterGroupNameHasBeenSet; }
331 template <typename ClusterParameterGroupNameT = Aws::String>
332 void SetClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
333 m_clusterParameterGroupNameHasBeenSet = true;
334 m_clusterParameterGroupName = std::forward<ClusterParameterGroupNameT>(value);
335 }
336 template <typename ClusterParameterGroupNameT = Aws::String>
337 CreateClusterRequest& WithClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
338 SetClusterParameterGroupName(std::forward<ClusterParameterGroupNameT>(value));
339 return *this;
340 }
342
344
353 inline int GetAutomatedSnapshotRetentionPeriod() const { return m_automatedSnapshotRetentionPeriod; }
354 inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; }
355 inline void SetAutomatedSnapshotRetentionPeriod(int value) {
356 m_automatedSnapshotRetentionPeriodHasBeenSet = true;
357 m_automatedSnapshotRetentionPeriod = value;
358 }
361 return *this;
362 }
364
366
372 inline int GetManualSnapshotRetentionPeriod() const { return m_manualSnapshotRetentionPeriod; }
373 inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; }
374 inline void SetManualSnapshotRetentionPeriod(int value) {
375 m_manualSnapshotRetentionPeriodHasBeenSet = true;
376 m_manualSnapshotRetentionPeriod = value;
377 }
380 return *this;
381 }
383
385
396 inline int GetPort() const { return m_port; }
397 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
398 inline void SetPort(int value) {
399 m_portHasBeenSet = true;
400 m_port = value;
401 }
402 inline CreateClusterRequest& WithPort(int value) {
403 SetPort(value);
404 return *this;
405 }
407
409
415 inline const Aws::String& GetClusterVersion() const { return m_clusterVersion; }
416 inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; }
417 template <typename ClusterVersionT = Aws::String>
418 void SetClusterVersion(ClusterVersionT&& value) {
419 m_clusterVersionHasBeenSet = true;
420 m_clusterVersion = std::forward<ClusterVersionT>(value);
421 }
422 template <typename ClusterVersionT = Aws::String>
423 CreateClusterRequest& WithClusterVersion(ClusterVersionT&& value) {
424 SetClusterVersion(std::forward<ClusterVersionT>(value));
425 return *this;
426 }
428
430
438 inline bool GetAllowVersionUpgrade() const { return m_allowVersionUpgrade; }
439 inline bool AllowVersionUpgradeHasBeenSet() const { return m_allowVersionUpgradeHasBeenSet; }
440 inline void SetAllowVersionUpgrade(bool value) {
441 m_allowVersionUpgradeHasBeenSet = true;
442 m_allowVersionUpgrade = value;
443 }
446 return *this;
447 }
449
451
462 inline int GetNumberOfNodes() const { return m_numberOfNodes; }
463 inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; }
464 inline void SetNumberOfNodes(int value) {
465 m_numberOfNodesHasBeenSet = true;
466 m_numberOfNodes = value;
467 }
469 SetNumberOfNodes(value);
470 return *this;
471 }
473
475
479 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
480 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
481 inline void SetPubliclyAccessible(bool value) {
482 m_publiclyAccessibleHasBeenSet = true;
483 m_publiclyAccessible = value;
484 }
487 return *this;
488 }
490
492
497 inline bool GetEncrypted() const { return m_encrypted; }
498 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
499 inline void SetEncrypted(bool value) {
500 m_encryptedHasBeenSet = true;
501 m_encrypted = value;
502 }
504 SetEncrypted(value);
505 return *this;
506 }
508
510
514 inline const Aws::String& GetHsmClientCertificateIdentifier() const { return m_hsmClientCertificateIdentifier; }
515 inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; }
516 template <typename HsmClientCertificateIdentifierT = Aws::String>
517 void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
518 m_hsmClientCertificateIdentifierHasBeenSet = true;
519 m_hsmClientCertificateIdentifier = std::forward<HsmClientCertificateIdentifierT>(value);
520 }
521 template <typename HsmClientCertificateIdentifierT = Aws::String>
522 CreateClusterRequest& WithHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
523 SetHsmClientCertificateIdentifier(std::forward<HsmClientCertificateIdentifierT>(value));
524 return *this;
525 }
527
529
533 inline const Aws::String& GetHsmConfigurationIdentifier() const { return m_hsmConfigurationIdentifier; }
534 inline bool HsmConfigurationIdentifierHasBeenSet() const { return m_hsmConfigurationIdentifierHasBeenSet; }
535 template <typename HsmConfigurationIdentifierT = Aws::String>
536 void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
537 m_hsmConfigurationIdentifierHasBeenSet = true;
538 m_hsmConfigurationIdentifier = std::forward<HsmConfigurationIdentifierT>(value);
539 }
540 template <typename HsmConfigurationIdentifierT = Aws::String>
541 CreateClusterRequest& WithHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
542 SetHsmConfigurationIdentifier(std::forward<HsmConfigurationIdentifierT>(value));
543 return *this;
544 }
546
548
558 inline const Aws::String& GetElasticIp() const { return m_elasticIp; }
559 inline bool ElasticIpHasBeenSet() const { return m_elasticIpHasBeenSet; }
560 template <typename ElasticIpT = Aws::String>
561 void SetElasticIp(ElasticIpT&& value) {
562 m_elasticIpHasBeenSet = true;
563 m_elasticIp = std::forward<ElasticIpT>(value);
564 }
565 template <typename ElasticIpT = Aws::String>
566 CreateClusterRequest& WithElasticIp(ElasticIpT&& value) {
567 SetElasticIp(std::forward<ElasticIpT>(value));
568 return *this;
569 }
571
573
576 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
577 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
578 template <typename TagsT = Aws::Vector<Tag>>
579 void SetTags(TagsT&& value) {
580 m_tagsHasBeenSet = true;
581 m_tags = std::forward<TagsT>(value);
582 }
583 template <typename TagsT = Aws::Vector<Tag>>
585 SetTags(std::forward<TagsT>(value));
586 return *this;
587 }
588 template <typename TagsT = Tag>
590 m_tagsHasBeenSet = true;
591 m_tags.emplace_back(std::forward<TagsT>(value));
592 return *this;
593 }
595
597
601 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
602 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
603 template <typename KmsKeyIdT = Aws::String>
604 void SetKmsKeyId(KmsKeyIdT&& value) {
605 m_kmsKeyIdHasBeenSet = true;
606 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
607 }
608 template <typename KmsKeyIdT = Aws::String>
609 CreateClusterRequest& WithKmsKeyId(KmsKeyIdT&& value) {
610 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
611 return *this;
612 }
614
616
625 inline bool GetEnhancedVpcRouting() const { return m_enhancedVpcRouting; }
626 inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; }
627 inline void SetEnhancedVpcRouting(bool value) {
628 m_enhancedVpcRoutingHasBeenSet = true;
629 m_enhancedVpcRouting = value;
630 }
633 return *this;
634 }
636
638
641 inline const Aws::String& GetAdditionalInfo() const { return m_additionalInfo; }
642 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
643 template <typename AdditionalInfoT = Aws::String>
644 void SetAdditionalInfo(AdditionalInfoT&& value) {
645 m_additionalInfoHasBeenSet = true;
646 m_additionalInfo = std::forward<AdditionalInfoT>(value);
647 }
648 template <typename AdditionalInfoT = Aws::String>
649 CreateClusterRequest& WithAdditionalInfo(AdditionalInfoT&& value) {
650 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
651 return *this;
652 }
654
656
665 inline const Aws::Vector<Aws::String>& GetIamRoles() const { return m_iamRoles; }
666 inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; }
667 template <typename IamRolesT = Aws::Vector<Aws::String>>
668 void SetIamRoles(IamRolesT&& value) {
669 m_iamRolesHasBeenSet = true;
670 m_iamRoles = std::forward<IamRolesT>(value);
671 }
672 template <typename IamRolesT = Aws::Vector<Aws::String>>
673 CreateClusterRequest& WithIamRoles(IamRolesT&& value) {
674 SetIamRoles(std::forward<IamRolesT>(value));
675 return *this;
676 }
677 template <typename IamRolesT = Aws::String>
678 CreateClusterRequest& AddIamRoles(IamRolesT&& value) {
679 m_iamRolesHasBeenSet = true;
680 m_iamRoles.emplace_back(std::forward<IamRolesT>(value));
681 return *this;
682 }
684
686
691 inline const Aws::String& GetMaintenanceTrackName() const { return m_maintenanceTrackName; }
692 inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; }
693 template <typename MaintenanceTrackNameT = Aws::String>
694 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) {
695 m_maintenanceTrackNameHasBeenSet = true;
696 m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value);
697 }
698 template <typename MaintenanceTrackNameT = Aws::String>
699 CreateClusterRequest& WithMaintenanceTrackName(MaintenanceTrackNameT&& value) {
700 SetMaintenanceTrackName(std::forward<MaintenanceTrackNameT>(value));
701 return *this;
702 }
704
706
709 inline const Aws::String& GetSnapshotScheduleIdentifier() const { return m_snapshotScheduleIdentifier; }
710 inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; }
711 template <typename SnapshotScheduleIdentifierT = Aws::String>
712 void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
713 m_snapshotScheduleIdentifierHasBeenSet = true;
714 m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value);
715 }
716 template <typename SnapshotScheduleIdentifierT = Aws::String>
717 CreateClusterRequest& WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
718 SetSnapshotScheduleIdentifier(std::forward<SnapshotScheduleIdentifierT>(value));
719 return *this;
720 }
722
724
728 inline bool GetAvailabilityZoneRelocation() const { return m_availabilityZoneRelocation; }
729 inline bool AvailabilityZoneRelocationHasBeenSet() const { return m_availabilityZoneRelocationHasBeenSet; }
730 inline void SetAvailabilityZoneRelocation(bool value) {
731 m_availabilityZoneRelocationHasBeenSet = true;
732 m_availabilityZoneRelocation = value;
733 }
736 return *this;
737 }
739
741
746 inline AquaConfigurationStatus GetAquaConfigurationStatus() const { return m_aquaConfigurationStatus; }
747 inline bool AquaConfigurationStatusHasBeenSet() const { return m_aquaConfigurationStatusHasBeenSet; }
749 m_aquaConfigurationStatusHasBeenSet = true;
750 m_aquaConfigurationStatus = value;
751 }
754 return *this;
755 }
757
759
763 inline const Aws::String& GetDefaultIamRoleArn() const { return m_defaultIamRoleArn; }
764 inline bool DefaultIamRoleArnHasBeenSet() const { return m_defaultIamRoleArnHasBeenSet; }
765 template <typename DefaultIamRoleArnT = Aws::String>
766 void SetDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
767 m_defaultIamRoleArnHasBeenSet = true;
768 m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value);
769 }
770 template <typename DefaultIamRoleArnT = Aws::String>
771 CreateClusterRequest& WithDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
772 SetDefaultIamRoleArn(std::forward<DefaultIamRoleArnT>(value));
773 return *this;
774 }
776
778
782 inline const Aws::String& GetLoadSampleData() const { return m_loadSampleData; }
783 inline bool LoadSampleDataHasBeenSet() const { return m_loadSampleDataHasBeenSet; }
784 template <typename LoadSampleDataT = Aws::String>
785 void SetLoadSampleData(LoadSampleDataT&& value) {
786 m_loadSampleDataHasBeenSet = true;
787 m_loadSampleData = std::forward<LoadSampleDataT>(value);
788 }
789 template <typename LoadSampleDataT = Aws::String>
790 CreateClusterRequest& WithLoadSampleData(LoadSampleDataT&& value) {
791 SetLoadSampleData(std::forward<LoadSampleDataT>(value));
792 return *this;
793 }
795
797
804 inline bool GetManageMasterPassword() const { return m_manageMasterPassword; }
805 inline bool ManageMasterPasswordHasBeenSet() const { return m_manageMasterPasswordHasBeenSet; }
806 inline void SetManageMasterPassword(bool value) {
807 m_manageMasterPasswordHasBeenSet = true;
808 m_manageMasterPassword = value;
809 }
812 return *this;
813 }
815
817
822 inline const Aws::String& GetMasterPasswordSecretKmsKeyId() const { return m_masterPasswordSecretKmsKeyId; }
823 inline bool MasterPasswordSecretKmsKeyIdHasBeenSet() const { return m_masterPasswordSecretKmsKeyIdHasBeenSet; }
824 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
825 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
826 m_masterPasswordSecretKmsKeyIdHasBeenSet = true;
827 m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value);
828 }
829 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
830 CreateClusterRequest& WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
831 SetMasterPasswordSecretKmsKeyId(std::forward<MasterPasswordSecretKmsKeyIdT>(value));
832 return *this;
833 }
835
837
841 inline const Aws::String& GetIpAddressType() const { return m_ipAddressType; }
842 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
843 template <typename IpAddressTypeT = Aws::String>
844 void SetIpAddressType(IpAddressTypeT&& value) {
845 m_ipAddressTypeHasBeenSet = true;
846 m_ipAddressType = std::forward<IpAddressTypeT>(value);
847 }
848 template <typename IpAddressTypeT = Aws::String>
849 CreateClusterRequest& WithIpAddressType(IpAddressTypeT&& value) {
850 SetIpAddressType(std::forward<IpAddressTypeT>(value));
851 return *this;
852 }
854
856
860 inline bool GetMultiAZ() const { return m_multiAZ; }
861 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
862 inline void SetMultiAZ(bool value) {
863 m_multiAZHasBeenSet = true;
864 m_multiAZ = value;
865 }
866 inline CreateClusterRequest& WithMultiAZ(bool value) {
867 SetMultiAZ(value);
868 return *this;
869 }
871
873
877 inline const Aws::String& GetRedshiftIdcApplicationArn() const { return m_redshiftIdcApplicationArn; }
878 inline bool RedshiftIdcApplicationArnHasBeenSet() const { return m_redshiftIdcApplicationArnHasBeenSet; }
879 template <typename RedshiftIdcApplicationArnT = Aws::String>
880 void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
881 m_redshiftIdcApplicationArnHasBeenSet = true;
882 m_redshiftIdcApplicationArn = std::forward<RedshiftIdcApplicationArnT>(value);
883 }
884 template <typename RedshiftIdcApplicationArnT = Aws::String>
885 CreateClusterRequest& WithRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
886 SetRedshiftIdcApplicationArn(std::forward<RedshiftIdcApplicationArnT>(value));
887 return *this;
888 }
890
892
900 inline const Aws::String& GetCatalogName() const { return m_catalogName; }
901 inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
902 template <typename CatalogNameT = Aws::String>
903 void SetCatalogName(CatalogNameT&& value) {
904 m_catalogNameHasBeenSet = true;
905 m_catalogName = std::forward<CatalogNameT>(value);
906 }
907 template <typename CatalogNameT = Aws::String>
908 CreateClusterRequest& WithCatalogName(CatalogNameT&& value) {
909 SetCatalogName(std::forward<CatalogNameT>(value));
910 return *this;
911 }
913
915
919 inline bool GetExtraComputeForAutomaticOptimization() const { return m_extraComputeForAutomaticOptimization; }
920 inline bool ExtraComputeForAutomaticOptimizationHasBeenSet() const { return m_extraComputeForAutomaticOptimizationHasBeenSet; }
922 m_extraComputeForAutomaticOptimizationHasBeenSet = true;
923 m_extraComputeForAutomaticOptimization = value;
924 }
927 return *this;
928 }
930 private:
931 Aws::String m_dBName;
932
933 Aws::String m_clusterIdentifier;
934
935 Aws::String m_clusterType;
936
937 Aws::String m_nodeType;
938
939 Aws::String m_masterUsername;
940
941 Aws::String m_masterUserPassword;
942
943 Aws::Vector<Aws::String> m_clusterSecurityGroups;
944
945 Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
946
947 Aws::String m_clusterSubnetGroupName;
948
949 Aws::String m_availabilityZone;
950
951 Aws::String m_preferredMaintenanceWindow;
952
953 Aws::String m_clusterParameterGroupName;
954
955 int m_automatedSnapshotRetentionPeriod{0};
956
957 int m_manualSnapshotRetentionPeriod{0};
958
959 int m_port{0};
960
961 Aws::String m_clusterVersion;
962
963 bool m_allowVersionUpgrade{false};
964
965 int m_numberOfNodes{0};
966
967 bool m_publiclyAccessible{false};
968
969 bool m_encrypted{false};
970
971 Aws::String m_hsmClientCertificateIdentifier;
972
973 Aws::String m_hsmConfigurationIdentifier;
974
975 Aws::String m_elasticIp;
976
977 Aws::Vector<Tag> m_tags;
978
979 Aws::String m_kmsKeyId;
980
981 bool m_enhancedVpcRouting{false};
982
983 Aws::String m_additionalInfo;
984
985 Aws::Vector<Aws::String> m_iamRoles;
986
987 Aws::String m_maintenanceTrackName;
988
989 Aws::String m_snapshotScheduleIdentifier;
990
991 bool m_availabilityZoneRelocation{false};
992
994
995 Aws::String m_defaultIamRoleArn;
996
997 Aws::String m_loadSampleData;
998
999 bool m_manageMasterPassword{false};
1000
1001 Aws::String m_masterPasswordSecretKmsKeyId;
1002
1003 Aws::String m_ipAddressType;
1004
1005 bool m_multiAZ{false};
1006
1007 Aws::String m_redshiftIdcApplicationArn;
1008
1009 Aws::String m_catalogName;
1010
1011 bool m_extraComputeForAutomaticOptimization{false};
1012 bool m_dBNameHasBeenSet = false;
1013 bool m_clusterIdentifierHasBeenSet = false;
1014 bool m_clusterTypeHasBeenSet = false;
1015 bool m_nodeTypeHasBeenSet = false;
1016 bool m_masterUsernameHasBeenSet = false;
1017 bool m_masterUserPasswordHasBeenSet = false;
1018 bool m_clusterSecurityGroupsHasBeenSet = false;
1019 bool m_vpcSecurityGroupIdsHasBeenSet = false;
1020 bool m_clusterSubnetGroupNameHasBeenSet = false;
1021 bool m_availabilityZoneHasBeenSet = false;
1022 bool m_preferredMaintenanceWindowHasBeenSet = false;
1023 bool m_clusterParameterGroupNameHasBeenSet = false;
1024 bool m_automatedSnapshotRetentionPeriodHasBeenSet = false;
1025 bool m_manualSnapshotRetentionPeriodHasBeenSet = false;
1026 bool m_portHasBeenSet = false;
1027 bool m_clusterVersionHasBeenSet = false;
1028 bool m_allowVersionUpgradeHasBeenSet = false;
1029 bool m_numberOfNodesHasBeenSet = false;
1030 bool m_publiclyAccessibleHasBeenSet = false;
1031 bool m_encryptedHasBeenSet = false;
1032 bool m_hsmClientCertificateIdentifierHasBeenSet = false;
1033 bool m_hsmConfigurationIdentifierHasBeenSet = false;
1034 bool m_elasticIpHasBeenSet = false;
1035 bool m_tagsHasBeenSet = false;
1036 bool m_kmsKeyIdHasBeenSet = false;
1037 bool m_enhancedVpcRoutingHasBeenSet = false;
1038 bool m_additionalInfoHasBeenSet = false;
1039 bool m_iamRolesHasBeenSet = false;
1040 bool m_maintenanceTrackNameHasBeenSet = false;
1041 bool m_snapshotScheduleIdentifierHasBeenSet = false;
1042 bool m_availabilityZoneRelocationHasBeenSet = false;
1043 bool m_aquaConfigurationStatusHasBeenSet = false;
1044 bool m_defaultIamRoleArnHasBeenSet = false;
1045 bool m_loadSampleDataHasBeenSet = false;
1046 bool m_manageMasterPasswordHasBeenSet = false;
1047 bool m_masterPasswordSecretKmsKeyIdHasBeenSet = false;
1048 bool m_ipAddressTypeHasBeenSet = false;
1049 bool m_multiAZHasBeenSet = false;
1050 bool m_redshiftIdcApplicationArnHasBeenSet = false;
1051 bool m_catalogNameHasBeenSet = false;
1052 bool m_extraComputeForAutomaticOptimizationHasBeenSet = false;
1053};
1054
1055} // namespace Model
1056} // namespace Redshift
1057} // namespace Aws
CreateClusterRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetClusterVersion(ClusterVersionT &&value)
CreateClusterRequest & WithManageMasterPassword(bool value)
CreateClusterRequest & WithClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
CreateClusterRequest & WithKmsKeyId(KmsKeyIdT &&value)
CreateClusterRequest & AddIamRoles(IamRolesT &&value)
CreateClusterRequest & WithAvailabilityZoneRelocation(bool value)
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
const Aws::Vector< Aws::String > & GetClusterSecurityGroups() const
CreateClusterRequest & WithClusterSecurityGroups(ClusterSecurityGroupsT &&value)
AquaConfigurationStatus GetAquaConfigurationStatus() const
CreateClusterRequest & WithLoadSampleData(LoadSampleDataT &&value)
AWS_REDSHIFT_API Aws::String SerializePayload() const override
void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT &&value)
const Aws::String & GetHsmConfigurationIdentifier() const
void SetDefaultIamRoleArn(DefaultIamRoleArnT &&value)
CreateClusterRequest & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetIamRoles() const
CreateClusterRequest & AddVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
CreateClusterRequest & WithPort(int value)
CreateClusterRequest & WithElasticIp(ElasticIpT &&value)
CreateClusterRequest & WithIpAddressType(IpAddressTypeT &&value)
CreateClusterRequest & WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
CreateClusterRequest & WithAquaConfigurationStatus(AquaConfigurationStatus value)
void SetMasterUserPassword(MasterUserPasswordT &&value)
void SetLoadSampleData(LoadSampleDataT &&value)
void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT &&value)
void SetClusterParameterGroupName(ClusterParameterGroupNameT &&value)
CreateClusterRequest & WithMasterUserPassword(MasterUserPasswordT &&value)
CreateClusterRequest & WithDBName(DBNameT &&value)
CreateClusterRequest & WithPubliclyAccessible(bool value)
const Aws::Vector< Aws::String > & GetVpcSecurityGroupIds() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
CreateClusterRequest & WithClusterParameterGroupName(ClusterParameterGroupNameT &&value)
void SetClusterSubnetGroupName(ClusterSubnetGroupNameT &&value)
CreateClusterRequest & WithManualSnapshotRetentionPeriod(int value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
AWS_REDSHIFT_API CreateClusterRequest()=default
const Aws::String & GetRedshiftIdcApplicationArn() const
CreateClusterRequest & WithDefaultIamRoleArn(DefaultIamRoleArnT &&value)
virtual const char * GetServiceRequestName() const override
CreateClusterRequest & WithHsmConfigurationIdentifier(HsmConfigurationIdentifierT &&value)
CreateClusterRequest & WithClusterVersion(ClusterVersionT &&value)
void SetMaintenanceTrackName(MaintenanceTrackNameT &&value)
CreateClusterRequest & WithMultiAZ(bool value)
CreateClusterRequest & WithNodeType(NodeTypeT &&value)
CreateClusterRequest & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
CreateClusterRequest & WithMaintenanceTrackName(MaintenanceTrackNameT &&value)
CreateClusterRequest & WithIamRoles(IamRolesT &&value)
CreateClusterRequest & WithClusterIdentifier(ClusterIdentifierT &&value)
CreateClusterRequest & WithClusterType(ClusterTypeT &&value)
const Aws::String & GetSnapshotScheduleIdentifier() const
CreateClusterRequest & WithMasterUsername(MasterUsernameT &&value)
void SetAdditionalInfo(AdditionalInfoT &&value)
CreateClusterRequest & WithVpcSecurityGroupIds(VpcSecurityGroupIdsT &&value)
void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT &&value)
CreateClusterRequest & WithAdditionalInfo(AdditionalInfoT &&value)
CreateClusterRequest & WithHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT &&value)
CreateClusterRequest & AddTags(TagsT &&value)
CreateClusterRequest & WithExtraComputeForAutomaticOptimization(bool value)
void SetMasterUsername(MasterUsernameT &&value)
CreateClusterRequest & AddClusterSecurityGroups(ClusterSecurityGroupsT &&value)
void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
CreateClusterRequest & WithAutomatedSnapshotRetentionPeriod(int value)
CreateClusterRequest & WithRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT &&value)
const Aws::String & GetMasterPasswordSecretKmsKeyId() const
const Aws::String & GetClusterSubnetGroupName() const
AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const Aws::String & GetClusterParameterGroupName() const
CreateClusterRequest & WithNumberOfNodes(int value)
CreateClusterRequest & WithCatalogName(CatalogNameT &&value)
CreateClusterRequest & WithAllowVersionUpgrade(bool value)
CreateClusterRequest & WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
CreateClusterRequest & WithEncrypted(bool value)
const Aws::Vector< Tag > & GetTags() const
void SetAquaConfigurationStatus(AquaConfigurationStatus value)
const Aws::String & GetHsmClientCertificateIdentifier() const
const Aws::String & GetMaintenanceTrackName() const
void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
CreateClusterRequest & WithEnhancedVpcRouting(bool value)
void SetClusterSecurityGroups(ClusterSecurityGroupsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector