AWS SDK for C++

AWS SDK for C++ Version 1.11.849

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
130 inline const Aws::String& GetNodeType() const { return m_nodeType; }
131 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
132 template <typename NodeTypeT = Aws::String>
133 void SetNodeType(NodeTypeT&& value) {
134 m_nodeTypeHasBeenSet = true;
135 m_nodeType = std::forward<NodeTypeT>(value);
136 }
137 template <typename NodeTypeT = Aws::String>
138 CreateClusterRequest& WithNodeType(NodeTypeT&& value) {
139 SetNodeType(std::forward<NodeTypeT>(value));
140 return *this;
141 }
143
145
157 inline const Aws::String& GetMasterUsername() const { return m_masterUsername; }
158 inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; }
159 template <typename MasterUsernameT = Aws::String>
160 void SetMasterUsername(MasterUsernameT&& value) {
161 m_masterUsernameHasBeenSet = true;
162 m_masterUsername = std::forward<MasterUsernameT>(value);
163 }
164 template <typename MasterUsernameT = Aws::String>
165 CreateClusterRequest& WithMasterUsername(MasterUsernameT&& value) {
166 SetMasterUsername(std::forward<MasterUsernameT>(value));
167 return *this;
168 }
170
172
183 inline const Aws::String& GetMasterUserPassword() const { return m_masterUserPassword; }
184 inline bool MasterUserPasswordHasBeenSet() const { return m_masterUserPasswordHasBeenSet; }
185 template <typename MasterUserPasswordT = Aws::String>
186 void SetMasterUserPassword(MasterUserPasswordT&& value) {
187 m_masterUserPasswordHasBeenSet = true;
188 m_masterUserPassword = std::forward<MasterUserPasswordT>(value);
189 }
190 template <typename MasterUserPasswordT = Aws::String>
191 CreateClusterRequest& WithMasterUserPassword(MasterUserPasswordT&& value) {
192 SetMasterUserPassword(std::forward<MasterUserPasswordT>(value));
193 return *this;
194 }
196
198
202 inline const Aws::Vector<Aws::String>& GetClusterSecurityGroups() const { return m_clusterSecurityGroups; }
203 inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; }
204 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
205 void SetClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
206 m_clusterSecurityGroupsHasBeenSet = true;
207 m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value);
208 }
209 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
210 CreateClusterRequest& WithClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
211 SetClusterSecurityGroups(std::forward<ClusterSecurityGroupsT>(value));
212 return *this;
213 }
214 template <typename ClusterSecurityGroupsT = Aws::String>
215 CreateClusterRequest& AddClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
216 m_clusterSecurityGroupsHasBeenSet = true;
217 m_clusterSecurityGroups.emplace_back(std::forward<ClusterSecurityGroupsT>(value));
218 return *this;
219 }
221
223
228 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const { return m_vpcSecurityGroupIds; }
229 inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }
230 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
231 void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
232 m_vpcSecurityGroupIdsHasBeenSet = true;
233 m_vpcSecurityGroupIds = std::forward<VpcSecurityGroupIdsT>(value);
234 }
235 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
236 CreateClusterRequest& WithVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
237 SetVpcSecurityGroupIds(std::forward<VpcSecurityGroupIdsT>(value));
238 return *this;
239 }
240 template <typename VpcSecurityGroupIdsT = Aws::String>
241 CreateClusterRequest& AddVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
242 m_vpcSecurityGroupIdsHasBeenSet = true;
243 m_vpcSecurityGroupIds.emplace_back(std::forward<VpcSecurityGroupIdsT>(value));
244 return *this;
245 }
247
249
254 inline const Aws::String& GetClusterSubnetGroupName() const { return m_clusterSubnetGroupName; }
255 inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; }
256 template <typename ClusterSubnetGroupNameT = Aws::String>
257 void SetClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
258 m_clusterSubnetGroupNameHasBeenSet = true;
259 m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value);
260 }
261 template <typename ClusterSubnetGroupNameT = Aws::String>
262 CreateClusterRequest& WithClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
263 SetClusterSubnetGroupName(std::forward<ClusterSubnetGroupNameT>(value));
264 return *this;
265 }
267
269
279 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
280 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
281 template <typename AvailabilityZoneT = Aws::String>
282 void SetAvailabilityZone(AvailabilityZoneT&& value) {
283 m_availabilityZoneHasBeenSet = true;
284 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
285 }
286 template <typename AvailabilityZoneT = Aws::String>
287 CreateClusterRequest& WithAvailabilityZone(AvailabilityZoneT&& value) {
288 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
289 return *this;
290 }
292
294
305 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
306 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
307 template <typename PreferredMaintenanceWindowT = Aws::String>
308 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
309 m_preferredMaintenanceWindowHasBeenSet = true;
310 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
311 }
312 template <typename PreferredMaintenanceWindowT = Aws::String>
313 CreateClusterRequest& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
314 SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value));
315 return *this;
316 }
318
320
330 inline const Aws::String& GetClusterParameterGroupName() const { return m_clusterParameterGroupName; }
331 inline bool ClusterParameterGroupNameHasBeenSet() const { return m_clusterParameterGroupNameHasBeenSet; }
332 template <typename ClusterParameterGroupNameT = Aws::String>
333 void SetClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
334 m_clusterParameterGroupNameHasBeenSet = true;
335 m_clusterParameterGroupName = std::forward<ClusterParameterGroupNameT>(value);
336 }
337 template <typename ClusterParameterGroupNameT = Aws::String>
338 CreateClusterRequest& WithClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
339 SetClusterParameterGroupName(std::forward<ClusterParameterGroupNameT>(value));
340 return *this;
341 }
343
345
354 inline int GetAutomatedSnapshotRetentionPeriod() const { return m_automatedSnapshotRetentionPeriod; }
355 inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; }
356 inline void SetAutomatedSnapshotRetentionPeriod(int value) {
357 m_automatedSnapshotRetentionPeriodHasBeenSet = true;
358 m_automatedSnapshotRetentionPeriod = value;
359 }
362 return *this;
363 }
365
367
373 inline int GetManualSnapshotRetentionPeriod() const { return m_manualSnapshotRetentionPeriod; }
374 inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; }
375 inline void SetManualSnapshotRetentionPeriod(int value) {
376 m_manualSnapshotRetentionPeriodHasBeenSet = true;
377 m_manualSnapshotRetentionPeriod = value;
378 }
381 return *this;
382 }
384
386
397 inline int GetPort() const { return m_port; }
398 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
399 inline void SetPort(int value) {
400 m_portHasBeenSet = true;
401 m_port = value;
402 }
403 inline CreateClusterRequest& WithPort(int value) {
404 SetPort(value);
405 return *this;
406 }
408
410
416 inline const Aws::String& GetClusterVersion() const { return m_clusterVersion; }
417 inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; }
418 template <typename ClusterVersionT = Aws::String>
419 void SetClusterVersion(ClusterVersionT&& value) {
420 m_clusterVersionHasBeenSet = true;
421 m_clusterVersion = std::forward<ClusterVersionT>(value);
422 }
423 template <typename ClusterVersionT = Aws::String>
424 CreateClusterRequest& WithClusterVersion(ClusterVersionT&& value) {
425 SetClusterVersion(std::forward<ClusterVersionT>(value));
426 return *this;
427 }
429
431
439 inline bool GetAllowVersionUpgrade() const { return m_allowVersionUpgrade; }
440 inline bool AllowVersionUpgradeHasBeenSet() const { return m_allowVersionUpgradeHasBeenSet; }
441 inline void SetAllowVersionUpgrade(bool value) {
442 m_allowVersionUpgradeHasBeenSet = true;
443 m_allowVersionUpgrade = value;
444 }
447 return *this;
448 }
450
452
463 inline int GetNumberOfNodes() const { return m_numberOfNodes; }
464 inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; }
465 inline void SetNumberOfNodes(int value) {
466 m_numberOfNodesHasBeenSet = true;
467 m_numberOfNodes = value;
468 }
470 SetNumberOfNodes(value);
471 return *this;
472 }
474
476
480 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
481 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
482 inline void SetPubliclyAccessible(bool value) {
483 m_publiclyAccessibleHasBeenSet = true;
484 m_publiclyAccessible = value;
485 }
488 return *this;
489 }
491
493
498 inline bool GetEncrypted() const { return m_encrypted; }
499 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
500 inline void SetEncrypted(bool value) {
501 m_encryptedHasBeenSet = true;
502 m_encrypted = value;
503 }
505 SetEncrypted(value);
506 return *this;
507 }
509
511
515 inline const Aws::String& GetHsmClientCertificateIdentifier() const { return m_hsmClientCertificateIdentifier; }
516 inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; }
517 template <typename HsmClientCertificateIdentifierT = Aws::String>
518 void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
519 m_hsmClientCertificateIdentifierHasBeenSet = true;
520 m_hsmClientCertificateIdentifier = std::forward<HsmClientCertificateIdentifierT>(value);
521 }
522 template <typename HsmClientCertificateIdentifierT = Aws::String>
523 CreateClusterRequest& WithHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
524 SetHsmClientCertificateIdentifier(std::forward<HsmClientCertificateIdentifierT>(value));
525 return *this;
526 }
528
530
534 inline const Aws::String& GetHsmConfigurationIdentifier() const { return m_hsmConfigurationIdentifier; }
535 inline bool HsmConfigurationIdentifierHasBeenSet() const { return m_hsmConfigurationIdentifierHasBeenSet; }
536 template <typename HsmConfigurationIdentifierT = Aws::String>
537 void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
538 m_hsmConfigurationIdentifierHasBeenSet = true;
539 m_hsmConfigurationIdentifier = std::forward<HsmConfigurationIdentifierT>(value);
540 }
541 template <typename HsmConfigurationIdentifierT = Aws::String>
542 CreateClusterRequest& WithHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
543 SetHsmConfigurationIdentifier(std::forward<HsmConfigurationIdentifierT>(value));
544 return *this;
545 }
547
549
559 inline const Aws::String& GetElasticIp() const { return m_elasticIp; }
560 inline bool ElasticIpHasBeenSet() const { return m_elasticIpHasBeenSet; }
561 template <typename ElasticIpT = Aws::String>
562 void SetElasticIp(ElasticIpT&& value) {
563 m_elasticIpHasBeenSet = true;
564 m_elasticIp = std::forward<ElasticIpT>(value);
565 }
566 template <typename ElasticIpT = Aws::String>
567 CreateClusterRequest& WithElasticIp(ElasticIpT&& value) {
568 SetElasticIp(std::forward<ElasticIpT>(value));
569 return *this;
570 }
572
574
577 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
578 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
579 template <typename TagsT = Aws::Vector<Tag>>
580 void SetTags(TagsT&& value) {
581 m_tagsHasBeenSet = true;
582 m_tags = std::forward<TagsT>(value);
583 }
584 template <typename TagsT = Aws::Vector<Tag>>
586 SetTags(std::forward<TagsT>(value));
587 return *this;
588 }
589 template <typename TagsT = Tag>
591 m_tagsHasBeenSet = true;
592 m_tags.emplace_back(std::forward<TagsT>(value));
593 return *this;
594 }
596
598
602 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
603 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
604 template <typename KmsKeyIdT = Aws::String>
605 void SetKmsKeyId(KmsKeyIdT&& value) {
606 m_kmsKeyIdHasBeenSet = true;
607 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
608 }
609 template <typename KmsKeyIdT = Aws::String>
610 CreateClusterRequest& WithKmsKeyId(KmsKeyIdT&& value) {
611 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
612 return *this;
613 }
615
617
626 inline bool GetEnhancedVpcRouting() const { return m_enhancedVpcRouting; }
627 inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; }
628 inline void SetEnhancedVpcRouting(bool value) {
629 m_enhancedVpcRoutingHasBeenSet = true;
630 m_enhancedVpcRouting = value;
631 }
634 return *this;
635 }
637
639
642 inline const Aws::String& GetAdditionalInfo() const { return m_additionalInfo; }
643 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
644 template <typename AdditionalInfoT = Aws::String>
645 void SetAdditionalInfo(AdditionalInfoT&& value) {
646 m_additionalInfoHasBeenSet = true;
647 m_additionalInfo = std::forward<AdditionalInfoT>(value);
648 }
649 template <typename AdditionalInfoT = Aws::String>
650 CreateClusterRequest& WithAdditionalInfo(AdditionalInfoT&& value) {
651 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
652 return *this;
653 }
655
657
666 inline const Aws::Vector<Aws::String>& GetIamRoles() const { return m_iamRoles; }
667 inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; }
668 template <typename IamRolesT = Aws::Vector<Aws::String>>
669 void SetIamRoles(IamRolesT&& value) {
670 m_iamRolesHasBeenSet = true;
671 m_iamRoles = std::forward<IamRolesT>(value);
672 }
673 template <typename IamRolesT = Aws::Vector<Aws::String>>
674 CreateClusterRequest& WithIamRoles(IamRolesT&& value) {
675 SetIamRoles(std::forward<IamRolesT>(value));
676 return *this;
677 }
678 template <typename IamRolesT = Aws::String>
679 CreateClusterRequest& AddIamRoles(IamRolesT&& value) {
680 m_iamRolesHasBeenSet = true;
681 m_iamRoles.emplace_back(std::forward<IamRolesT>(value));
682 return *this;
683 }
685
687
692 inline const Aws::String& GetMaintenanceTrackName() const { return m_maintenanceTrackName; }
693 inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; }
694 template <typename MaintenanceTrackNameT = Aws::String>
695 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) {
696 m_maintenanceTrackNameHasBeenSet = true;
697 m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value);
698 }
699 template <typename MaintenanceTrackNameT = Aws::String>
700 CreateClusterRequest& WithMaintenanceTrackName(MaintenanceTrackNameT&& value) {
701 SetMaintenanceTrackName(std::forward<MaintenanceTrackNameT>(value));
702 return *this;
703 }
705
707
710 inline const Aws::String& GetSnapshotScheduleIdentifier() const { return m_snapshotScheduleIdentifier; }
711 inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; }
712 template <typename SnapshotScheduleIdentifierT = Aws::String>
713 void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
714 m_snapshotScheduleIdentifierHasBeenSet = true;
715 m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value);
716 }
717 template <typename SnapshotScheduleIdentifierT = Aws::String>
718 CreateClusterRequest& WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
719 SetSnapshotScheduleIdentifier(std::forward<SnapshotScheduleIdentifierT>(value));
720 return *this;
721 }
723
725
729 inline bool GetAvailabilityZoneRelocation() const { return m_availabilityZoneRelocation; }
730 inline bool AvailabilityZoneRelocationHasBeenSet() const { return m_availabilityZoneRelocationHasBeenSet; }
731 inline void SetAvailabilityZoneRelocation(bool value) {
732 m_availabilityZoneRelocationHasBeenSet = true;
733 m_availabilityZoneRelocation = value;
734 }
737 return *this;
738 }
740
742
747 inline AquaConfigurationStatus GetAquaConfigurationStatus() const { return m_aquaConfigurationStatus; }
748 inline bool AquaConfigurationStatusHasBeenSet() const { return m_aquaConfigurationStatusHasBeenSet; }
750 m_aquaConfigurationStatusHasBeenSet = true;
751 m_aquaConfigurationStatus = value;
752 }
755 return *this;
756 }
758
760
764 inline const Aws::String& GetDefaultIamRoleArn() const { return m_defaultIamRoleArn; }
765 inline bool DefaultIamRoleArnHasBeenSet() const { return m_defaultIamRoleArnHasBeenSet; }
766 template <typename DefaultIamRoleArnT = Aws::String>
767 void SetDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
768 m_defaultIamRoleArnHasBeenSet = true;
769 m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value);
770 }
771 template <typename DefaultIamRoleArnT = Aws::String>
772 CreateClusterRequest& WithDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
773 SetDefaultIamRoleArn(std::forward<DefaultIamRoleArnT>(value));
774 return *this;
775 }
777
779
783 inline const Aws::String& GetLoadSampleData() const { return m_loadSampleData; }
784 inline bool LoadSampleDataHasBeenSet() const { return m_loadSampleDataHasBeenSet; }
785 template <typename LoadSampleDataT = Aws::String>
786 void SetLoadSampleData(LoadSampleDataT&& value) {
787 m_loadSampleDataHasBeenSet = true;
788 m_loadSampleData = std::forward<LoadSampleDataT>(value);
789 }
790 template <typename LoadSampleDataT = Aws::String>
791 CreateClusterRequest& WithLoadSampleData(LoadSampleDataT&& value) {
792 SetLoadSampleData(std::forward<LoadSampleDataT>(value));
793 return *this;
794 }
796
798
805 inline bool GetManageMasterPassword() const { return m_manageMasterPassword; }
806 inline bool ManageMasterPasswordHasBeenSet() const { return m_manageMasterPasswordHasBeenSet; }
807 inline void SetManageMasterPassword(bool value) {
808 m_manageMasterPasswordHasBeenSet = true;
809 m_manageMasterPassword = value;
810 }
813 return *this;
814 }
816
818
823 inline const Aws::String& GetMasterPasswordSecretKmsKeyId() const { return m_masterPasswordSecretKmsKeyId; }
824 inline bool MasterPasswordSecretKmsKeyIdHasBeenSet() const { return m_masterPasswordSecretKmsKeyIdHasBeenSet; }
825 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
826 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
827 m_masterPasswordSecretKmsKeyIdHasBeenSet = true;
828 m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value);
829 }
830 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
831 CreateClusterRequest& WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
832 SetMasterPasswordSecretKmsKeyId(std::forward<MasterPasswordSecretKmsKeyIdT>(value));
833 return *this;
834 }
836
838
842 inline const Aws::String& GetIpAddressType() const { return m_ipAddressType; }
843 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
844 template <typename IpAddressTypeT = Aws::String>
845 void SetIpAddressType(IpAddressTypeT&& value) {
846 m_ipAddressTypeHasBeenSet = true;
847 m_ipAddressType = std::forward<IpAddressTypeT>(value);
848 }
849 template <typename IpAddressTypeT = Aws::String>
850 CreateClusterRequest& WithIpAddressType(IpAddressTypeT&& value) {
851 SetIpAddressType(std::forward<IpAddressTypeT>(value));
852 return *this;
853 }
855
857
861 inline bool GetMultiAZ() const { return m_multiAZ; }
862 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
863 inline void SetMultiAZ(bool value) {
864 m_multiAZHasBeenSet = true;
865 m_multiAZ = value;
866 }
867 inline CreateClusterRequest& WithMultiAZ(bool value) {
868 SetMultiAZ(value);
869 return *this;
870 }
872
874
878 inline const Aws::String& GetRedshiftIdcApplicationArn() const { return m_redshiftIdcApplicationArn; }
879 inline bool RedshiftIdcApplicationArnHasBeenSet() const { return m_redshiftIdcApplicationArnHasBeenSet; }
880 template <typename RedshiftIdcApplicationArnT = Aws::String>
881 void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
882 m_redshiftIdcApplicationArnHasBeenSet = true;
883 m_redshiftIdcApplicationArn = std::forward<RedshiftIdcApplicationArnT>(value);
884 }
885 template <typename RedshiftIdcApplicationArnT = Aws::String>
886 CreateClusterRequest& WithRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
887 SetRedshiftIdcApplicationArn(std::forward<RedshiftIdcApplicationArnT>(value));
888 return *this;
889 }
891
893
901 inline const Aws::String& GetCatalogName() const { return m_catalogName; }
902 inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
903 template <typename CatalogNameT = Aws::String>
904 void SetCatalogName(CatalogNameT&& value) {
905 m_catalogNameHasBeenSet = true;
906 m_catalogName = std::forward<CatalogNameT>(value);
907 }
908 template <typename CatalogNameT = Aws::String>
909 CreateClusterRequest& WithCatalogName(CatalogNameT&& value) {
910 SetCatalogName(std::forward<CatalogNameT>(value));
911 return *this;
912 }
914
916
920 inline bool GetExtraComputeForAutomaticOptimization() const { return m_extraComputeForAutomaticOptimization; }
921 inline bool ExtraComputeForAutomaticOptimizationHasBeenSet() const { return m_extraComputeForAutomaticOptimizationHasBeenSet; }
923 m_extraComputeForAutomaticOptimizationHasBeenSet = true;
924 m_extraComputeForAutomaticOptimization = value;
925 }
928 return *this;
929 }
931 private:
932 Aws::String m_dBName;
933
934 Aws::String m_clusterIdentifier;
935
936 Aws::String m_clusterType;
937
938 Aws::String m_nodeType;
939
940 Aws::String m_masterUsername;
941
942 Aws::String m_masterUserPassword;
943
944 Aws::Vector<Aws::String> m_clusterSecurityGroups;
945
946 Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
947
948 Aws::String m_clusterSubnetGroupName;
949
950 Aws::String m_availabilityZone;
951
952 Aws::String m_preferredMaintenanceWindow;
953
954 Aws::String m_clusterParameterGroupName;
955
956 int m_automatedSnapshotRetentionPeriod{0};
957
958 int m_manualSnapshotRetentionPeriod{0};
959
960 int m_port{0};
961
962 Aws::String m_clusterVersion;
963
964 bool m_allowVersionUpgrade{false};
965
966 int m_numberOfNodes{0};
967
968 bool m_publiclyAccessible{false};
969
970 bool m_encrypted{false};
971
972 Aws::String m_hsmClientCertificateIdentifier;
973
974 Aws::String m_hsmConfigurationIdentifier;
975
976 Aws::String m_elasticIp;
977
978 Aws::Vector<Tag> m_tags;
979
980 Aws::String m_kmsKeyId;
981
982 bool m_enhancedVpcRouting{false};
983
984 Aws::String m_additionalInfo;
985
986 Aws::Vector<Aws::String> m_iamRoles;
987
988 Aws::String m_maintenanceTrackName;
989
990 Aws::String m_snapshotScheduleIdentifier;
991
992 bool m_availabilityZoneRelocation{false};
993
995
996 Aws::String m_defaultIamRoleArn;
997
998 Aws::String m_loadSampleData;
999
1000 bool m_manageMasterPassword{false};
1001
1002 Aws::String m_masterPasswordSecretKmsKeyId;
1003
1004 Aws::String m_ipAddressType;
1005
1006 bool m_multiAZ{false};
1007
1008 Aws::String m_redshiftIdcApplicationArn;
1009
1010 Aws::String m_catalogName;
1011
1012 bool m_extraComputeForAutomaticOptimization{false};
1013 bool m_dBNameHasBeenSet = false;
1014 bool m_clusterIdentifierHasBeenSet = false;
1015 bool m_clusterTypeHasBeenSet = false;
1016 bool m_nodeTypeHasBeenSet = false;
1017 bool m_masterUsernameHasBeenSet = false;
1018 bool m_masterUserPasswordHasBeenSet = false;
1019 bool m_clusterSecurityGroupsHasBeenSet = false;
1020 bool m_vpcSecurityGroupIdsHasBeenSet = false;
1021 bool m_clusterSubnetGroupNameHasBeenSet = false;
1022 bool m_availabilityZoneHasBeenSet = false;
1023 bool m_preferredMaintenanceWindowHasBeenSet = false;
1024 bool m_clusterParameterGroupNameHasBeenSet = false;
1025 bool m_automatedSnapshotRetentionPeriodHasBeenSet = false;
1026 bool m_manualSnapshotRetentionPeriodHasBeenSet = false;
1027 bool m_portHasBeenSet = false;
1028 bool m_clusterVersionHasBeenSet = false;
1029 bool m_allowVersionUpgradeHasBeenSet = false;
1030 bool m_numberOfNodesHasBeenSet = false;
1031 bool m_publiclyAccessibleHasBeenSet = false;
1032 bool m_encryptedHasBeenSet = false;
1033 bool m_hsmClientCertificateIdentifierHasBeenSet = false;
1034 bool m_hsmConfigurationIdentifierHasBeenSet = false;
1035 bool m_elasticIpHasBeenSet = false;
1036 bool m_tagsHasBeenSet = false;
1037 bool m_kmsKeyIdHasBeenSet = false;
1038 bool m_enhancedVpcRoutingHasBeenSet = false;
1039 bool m_additionalInfoHasBeenSet = false;
1040 bool m_iamRolesHasBeenSet = false;
1041 bool m_maintenanceTrackNameHasBeenSet = false;
1042 bool m_snapshotScheduleIdentifierHasBeenSet = false;
1043 bool m_availabilityZoneRelocationHasBeenSet = false;
1044 bool m_aquaConfigurationStatusHasBeenSet = false;
1045 bool m_defaultIamRoleArnHasBeenSet = false;
1046 bool m_loadSampleDataHasBeenSet = false;
1047 bool m_manageMasterPasswordHasBeenSet = false;
1048 bool m_masterPasswordSecretKmsKeyIdHasBeenSet = false;
1049 bool m_ipAddressTypeHasBeenSet = false;
1050 bool m_multiAZHasBeenSet = false;
1051 bool m_redshiftIdcApplicationArnHasBeenSet = false;
1052 bool m_catalogNameHasBeenSet = false;
1053 bool m_extraComputeForAutomaticOptimizationHasBeenSet = false;
1054};
1055
1056} // namespace Model
1057} // namespace Redshift
1058} // 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