AWS SDK for C++

AWS SDK for C++ Version 1.11.743

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
128 inline const Aws::String& GetNodeType() const { return m_nodeType; }
129 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
130 template <typename NodeTypeT = Aws::String>
131 void SetNodeType(NodeTypeT&& value) {
132 m_nodeTypeHasBeenSet = true;
133 m_nodeType = std::forward<NodeTypeT>(value);
134 }
135 template <typename NodeTypeT = Aws::String>
136 CreateClusterRequest& WithNodeType(NodeTypeT&& value) {
137 SetNodeType(std::forward<NodeTypeT>(value));
138 return *this;
139 }
141
143
155 inline const Aws::String& GetMasterUsername() const { return m_masterUsername; }
156 inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; }
157 template <typename MasterUsernameT = Aws::String>
158 void SetMasterUsername(MasterUsernameT&& value) {
159 m_masterUsernameHasBeenSet = true;
160 m_masterUsername = std::forward<MasterUsernameT>(value);
161 }
162 template <typename MasterUsernameT = Aws::String>
163 CreateClusterRequest& WithMasterUsername(MasterUsernameT&& value) {
164 SetMasterUsername(std::forward<MasterUsernameT>(value));
165 return *this;
166 }
168
170
181 inline const Aws::String& GetMasterUserPassword() const { return m_masterUserPassword; }
182 inline bool MasterUserPasswordHasBeenSet() const { return m_masterUserPasswordHasBeenSet; }
183 template <typename MasterUserPasswordT = Aws::String>
184 void SetMasterUserPassword(MasterUserPasswordT&& value) {
185 m_masterUserPasswordHasBeenSet = true;
186 m_masterUserPassword = std::forward<MasterUserPasswordT>(value);
187 }
188 template <typename MasterUserPasswordT = Aws::String>
189 CreateClusterRequest& WithMasterUserPassword(MasterUserPasswordT&& value) {
190 SetMasterUserPassword(std::forward<MasterUserPasswordT>(value));
191 return *this;
192 }
194
196
200 inline const Aws::Vector<Aws::String>& GetClusterSecurityGroups() const { return m_clusterSecurityGroups; }
201 inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; }
202 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
203 void SetClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
204 m_clusterSecurityGroupsHasBeenSet = true;
205 m_clusterSecurityGroups = std::forward<ClusterSecurityGroupsT>(value);
206 }
207 template <typename ClusterSecurityGroupsT = Aws::Vector<Aws::String>>
208 CreateClusterRequest& WithClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
209 SetClusterSecurityGroups(std::forward<ClusterSecurityGroupsT>(value));
210 return *this;
211 }
212 template <typename ClusterSecurityGroupsT = Aws::String>
213 CreateClusterRequest& AddClusterSecurityGroups(ClusterSecurityGroupsT&& value) {
214 m_clusterSecurityGroupsHasBeenSet = true;
215 m_clusterSecurityGroups.emplace_back(std::forward<ClusterSecurityGroupsT>(value));
216 return *this;
217 }
219
221
226 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const { return m_vpcSecurityGroupIds; }
227 inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }
228 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
229 void SetVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
230 m_vpcSecurityGroupIdsHasBeenSet = true;
231 m_vpcSecurityGroupIds = std::forward<VpcSecurityGroupIdsT>(value);
232 }
233 template <typename VpcSecurityGroupIdsT = Aws::Vector<Aws::String>>
234 CreateClusterRequest& WithVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
235 SetVpcSecurityGroupIds(std::forward<VpcSecurityGroupIdsT>(value));
236 return *this;
237 }
238 template <typename VpcSecurityGroupIdsT = Aws::String>
239 CreateClusterRequest& AddVpcSecurityGroupIds(VpcSecurityGroupIdsT&& value) {
240 m_vpcSecurityGroupIdsHasBeenSet = true;
241 m_vpcSecurityGroupIds.emplace_back(std::forward<VpcSecurityGroupIdsT>(value));
242 return *this;
243 }
245
247
252 inline const Aws::String& GetClusterSubnetGroupName() const { return m_clusterSubnetGroupName; }
253 inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; }
254 template <typename ClusterSubnetGroupNameT = Aws::String>
255 void SetClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
256 m_clusterSubnetGroupNameHasBeenSet = true;
257 m_clusterSubnetGroupName = std::forward<ClusterSubnetGroupNameT>(value);
258 }
259 template <typename ClusterSubnetGroupNameT = Aws::String>
260 CreateClusterRequest& WithClusterSubnetGroupName(ClusterSubnetGroupNameT&& value) {
261 SetClusterSubnetGroupName(std::forward<ClusterSubnetGroupNameT>(value));
262 return *this;
263 }
265
267
277 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
278 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
279 template <typename AvailabilityZoneT = Aws::String>
280 void SetAvailabilityZone(AvailabilityZoneT&& value) {
281 m_availabilityZoneHasBeenSet = true;
282 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
283 }
284 template <typename AvailabilityZoneT = Aws::String>
285 CreateClusterRequest& WithAvailabilityZone(AvailabilityZoneT&& value) {
286 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
287 return *this;
288 }
290
292
303 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
304 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
305 template <typename PreferredMaintenanceWindowT = Aws::String>
306 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
307 m_preferredMaintenanceWindowHasBeenSet = true;
308 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
309 }
310 template <typename PreferredMaintenanceWindowT = Aws::String>
311 CreateClusterRequest& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
312 SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value));
313 return *this;
314 }
316
318
328 inline const Aws::String& GetClusterParameterGroupName() const { return m_clusterParameterGroupName; }
329 inline bool ClusterParameterGroupNameHasBeenSet() const { return m_clusterParameterGroupNameHasBeenSet; }
330 template <typename ClusterParameterGroupNameT = Aws::String>
331 void SetClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
332 m_clusterParameterGroupNameHasBeenSet = true;
333 m_clusterParameterGroupName = std::forward<ClusterParameterGroupNameT>(value);
334 }
335 template <typename ClusterParameterGroupNameT = Aws::String>
336 CreateClusterRequest& WithClusterParameterGroupName(ClusterParameterGroupNameT&& value) {
337 SetClusterParameterGroupName(std::forward<ClusterParameterGroupNameT>(value));
338 return *this;
339 }
341
343
352 inline int GetAutomatedSnapshotRetentionPeriod() const { return m_automatedSnapshotRetentionPeriod; }
353 inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; }
354 inline void SetAutomatedSnapshotRetentionPeriod(int value) {
355 m_automatedSnapshotRetentionPeriodHasBeenSet = true;
356 m_automatedSnapshotRetentionPeriod = value;
357 }
360 return *this;
361 }
363
365
371 inline int GetManualSnapshotRetentionPeriod() const { return m_manualSnapshotRetentionPeriod; }
372 inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; }
373 inline void SetManualSnapshotRetentionPeriod(int value) {
374 m_manualSnapshotRetentionPeriodHasBeenSet = true;
375 m_manualSnapshotRetentionPeriod = value;
376 }
379 return *this;
380 }
382
384
395 inline int GetPort() const { return m_port; }
396 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
397 inline void SetPort(int value) {
398 m_portHasBeenSet = true;
399 m_port = value;
400 }
401 inline CreateClusterRequest& WithPort(int value) {
402 SetPort(value);
403 return *this;
404 }
406
408
414 inline const Aws::String& GetClusterVersion() const { return m_clusterVersion; }
415 inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; }
416 template <typename ClusterVersionT = Aws::String>
417 void SetClusterVersion(ClusterVersionT&& value) {
418 m_clusterVersionHasBeenSet = true;
419 m_clusterVersion = std::forward<ClusterVersionT>(value);
420 }
421 template <typename ClusterVersionT = Aws::String>
422 CreateClusterRequest& WithClusterVersion(ClusterVersionT&& value) {
423 SetClusterVersion(std::forward<ClusterVersionT>(value));
424 return *this;
425 }
427
429
437 inline bool GetAllowVersionUpgrade() const { return m_allowVersionUpgrade; }
438 inline bool AllowVersionUpgradeHasBeenSet() const { return m_allowVersionUpgradeHasBeenSet; }
439 inline void SetAllowVersionUpgrade(bool value) {
440 m_allowVersionUpgradeHasBeenSet = true;
441 m_allowVersionUpgrade = value;
442 }
445 return *this;
446 }
448
450
461 inline int GetNumberOfNodes() const { return m_numberOfNodes; }
462 inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; }
463 inline void SetNumberOfNodes(int value) {
464 m_numberOfNodesHasBeenSet = true;
465 m_numberOfNodes = value;
466 }
468 SetNumberOfNodes(value);
469 return *this;
470 }
472
474
478 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
479 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
480 inline void SetPubliclyAccessible(bool value) {
481 m_publiclyAccessibleHasBeenSet = true;
482 m_publiclyAccessible = value;
483 }
486 return *this;
487 }
489
491
496 inline bool GetEncrypted() const { return m_encrypted; }
497 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
498 inline void SetEncrypted(bool value) {
499 m_encryptedHasBeenSet = true;
500 m_encrypted = value;
501 }
503 SetEncrypted(value);
504 return *this;
505 }
507
509
513 inline const Aws::String& GetHsmClientCertificateIdentifier() const { return m_hsmClientCertificateIdentifier; }
514 inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; }
515 template <typename HsmClientCertificateIdentifierT = Aws::String>
516 void SetHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
517 m_hsmClientCertificateIdentifierHasBeenSet = true;
518 m_hsmClientCertificateIdentifier = std::forward<HsmClientCertificateIdentifierT>(value);
519 }
520 template <typename HsmClientCertificateIdentifierT = Aws::String>
521 CreateClusterRequest& WithHsmClientCertificateIdentifier(HsmClientCertificateIdentifierT&& value) {
522 SetHsmClientCertificateIdentifier(std::forward<HsmClientCertificateIdentifierT>(value));
523 return *this;
524 }
526
528
532 inline const Aws::String& GetHsmConfigurationIdentifier() const { return m_hsmConfigurationIdentifier; }
533 inline bool HsmConfigurationIdentifierHasBeenSet() const { return m_hsmConfigurationIdentifierHasBeenSet; }
534 template <typename HsmConfigurationIdentifierT = Aws::String>
535 void SetHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
536 m_hsmConfigurationIdentifierHasBeenSet = true;
537 m_hsmConfigurationIdentifier = std::forward<HsmConfigurationIdentifierT>(value);
538 }
539 template <typename HsmConfigurationIdentifierT = Aws::String>
540 CreateClusterRequest& WithHsmConfigurationIdentifier(HsmConfigurationIdentifierT&& value) {
541 SetHsmConfigurationIdentifier(std::forward<HsmConfigurationIdentifierT>(value));
542 return *this;
543 }
545
547
557 inline const Aws::String& GetElasticIp() const { return m_elasticIp; }
558 inline bool ElasticIpHasBeenSet() const { return m_elasticIpHasBeenSet; }
559 template <typename ElasticIpT = Aws::String>
560 void SetElasticIp(ElasticIpT&& value) {
561 m_elasticIpHasBeenSet = true;
562 m_elasticIp = std::forward<ElasticIpT>(value);
563 }
564 template <typename ElasticIpT = Aws::String>
565 CreateClusterRequest& WithElasticIp(ElasticIpT&& value) {
566 SetElasticIp(std::forward<ElasticIpT>(value));
567 return *this;
568 }
570
572
575 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
576 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
577 template <typename TagsT = Aws::Vector<Tag>>
578 void SetTags(TagsT&& value) {
579 m_tagsHasBeenSet = true;
580 m_tags = std::forward<TagsT>(value);
581 }
582 template <typename TagsT = Aws::Vector<Tag>>
584 SetTags(std::forward<TagsT>(value));
585 return *this;
586 }
587 template <typename TagsT = Tag>
589 m_tagsHasBeenSet = true;
590 m_tags.emplace_back(std::forward<TagsT>(value));
591 return *this;
592 }
594
596
600 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
601 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
602 template <typename KmsKeyIdT = Aws::String>
603 void SetKmsKeyId(KmsKeyIdT&& value) {
604 m_kmsKeyIdHasBeenSet = true;
605 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
606 }
607 template <typename KmsKeyIdT = Aws::String>
608 CreateClusterRequest& WithKmsKeyId(KmsKeyIdT&& value) {
609 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
610 return *this;
611 }
613
615
624 inline bool GetEnhancedVpcRouting() const { return m_enhancedVpcRouting; }
625 inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; }
626 inline void SetEnhancedVpcRouting(bool value) {
627 m_enhancedVpcRoutingHasBeenSet = true;
628 m_enhancedVpcRouting = value;
629 }
632 return *this;
633 }
635
637
640 inline const Aws::String& GetAdditionalInfo() const { return m_additionalInfo; }
641 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
642 template <typename AdditionalInfoT = Aws::String>
643 void SetAdditionalInfo(AdditionalInfoT&& value) {
644 m_additionalInfoHasBeenSet = true;
645 m_additionalInfo = std::forward<AdditionalInfoT>(value);
646 }
647 template <typename AdditionalInfoT = Aws::String>
648 CreateClusterRequest& WithAdditionalInfo(AdditionalInfoT&& value) {
649 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
650 return *this;
651 }
653
655
664 inline const Aws::Vector<Aws::String>& GetIamRoles() const { return m_iamRoles; }
665 inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; }
666 template <typename IamRolesT = Aws::Vector<Aws::String>>
667 void SetIamRoles(IamRolesT&& value) {
668 m_iamRolesHasBeenSet = true;
669 m_iamRoles = std::forward<IamRolesT>(value);
670 }
671 template <typename IamRolesT = Aws::Vector<Aws::String>>
672 CreateClusterRequest& WithIamRoles(IamRolesT&& value) {
673 SetIamRoles(std::forward<IamRolesT>(value));
674 return *this;
675 }
676 template <typename IamRolesT = Aws::String>
677 CreateClusterRequest& AddIamRoles(IamRolesT&& value) {
678 m_iamRolesHasBeenSet = true;
679 m_iamRoles.emplace_back(std::forward<IamRolesT>(value));
680 return *this;
681 }
683
685
690 inline const Aws::String& GetMaintenanceTrackName() const { return m_maintenanceTrackName; }
691 inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; }
692 template <typename MaintenanceTrackNameT = Aws::String>
693 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) {
694 m_maintenanceTrackNameHasBeenSet = true;
695 m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value);
696 }
697 template <typename MaintenanceTrackNameT = Aws::String>
698 CreateClusterRequest& WithMaintenanceTrackName(MaintenanceTrackNameT&& value) {
699 SetMaintenanceTrackName(std::forward<MaintenanceTrackNameT>(value));
700 return *this;
701 }
703
705
708 inline const Aws::String& GetSnapshotScheduleIdentifier() const { return m_snapshotScheduleIdentifier; }
709 inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; }
710 template <typename SnapshotScheduleIdentifierT = Aws::String>
711 void SetSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
712 m_snapshotScheduleIdentifierHasBeenSet = true;
713 m_snapshotScheduleIdentifier = std::forward<SnapshotScheduleIdentifierT>(value);
714 }
715 template <typename SnapshotScheduleIdentifierT = Aws::String>
716 CreateClusterRequest& WithSnapshotScheduleIdentifier(SnapshotScheduleIdentifierT&& value) {
717 SetSnapshotScheduleIdentifier(std::forward<SnapshotScheduleIdentifierT>(value));
718 return *this;
719 }
721
723
727 inline bool GetAvailabilityZoneRelocation() const { return m_availabilityZoneRelocation; }
728 inline bool AvailabilityZoneRelocationHasBeenSet() const { return m_availabilityZoneRelocationHasBeenSet; }
729 inline void SetAvailabilityZoneRelocation(bool value) {
730 m_availabilityZoneRelocationHasBeenSet = true;
731 m_availabilityZoneRelocation = value;
732 }
735 return *this;
736 }
738
740
745 inline AquaConfigurationStatus GetAquaConfigurationStatus() const { return m_aquaConfigurationStatus; }
746 inline bool AquaConfigurationStatusHasBeenSet() const { return m_aquaConfigurationStatusHasBeenSet; }
748 m_aquaConfigurationStatusHasBeenSet = true;
749 m_aquaConfigurationStatus = value;
750 }
753 return *this;
754 }
756
758
762 inline const Aws::String& GetDefaultIamRoleArn() const { return m_defaultIamRoleArn; }
763 inline bool DefaultIamRoleArnHasBeenSet() const { return m_defaultIamRoleArnHasBeenSet; }
764 template <typename DefaultIamRoleArnT = Aws::String>
765 void SetDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
766 m_defaultIamRoleArnHasBeenSet = true;
767 m_defaultIamRoleArn = std::forward<DefaultIamRoleArnT>(value);
768 }
769 template <typename DefaultIamRoleArnT = Aws::String>
770 CreateClusterRequest& WithDefaultIamRoleArn(DefaultIamRoleArnT&& value) {
771 SetDefaultIamRoleArn(std::forward<DefaultIamRoleArnT>(value));
772 return *this;
773 }
775
777
781 inline const Aws::String& GetLoadSampleData() const { return m_loadSampleData; }
782 inline bool LoadSampleDataHasBeenSet() const { return m_loadSampleDataHasBeenSet; }
783 template <typename LoadSampleDataT = Aws::String>
784 void SetLoadSampleData(LoadSampleDataT&& value) {
785 m_loadSampleDataHasBeenSet = true;
786 m_loadSampleData = std::forward<LoadSampleDataT>(value);
787 }
788 template <typename LoadSampleDataT = Aws::String>
789 CreateClusterRequest& WithLoadSampleData(LoadSampleDataT&& value) {
790 SetLoadSampleData(std::forward<LoadSampleDataT>(value));
791 return *this;
792 }
794
796
803 inline bool GetManageMasterPassword() const { return m_manageMasterPassword; }
804 inline bool ManageMasterPasswordHasBeenSet() const { return m_manageMasterPasswordHasBeenSet; }
805 inline void SetManageMasterPassword(bool value) {
806 m_manageMasterPasswordHasBeenSet = true;
807 m_manageMasterPassword = value;
808 }
811 return *this;
812 }
814
816
821 inline const Aws::String& GetMasterPasswordSecretKmsKeyId() const { return m_masterPasswordSecretKmsKeyId; }
822 inline bool MasterPasswordSecretKmsKeyIdHasBeenSet() const { return m_masterPasswordSecretKmsKeyIdHasBeenSet; }
823 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
824 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
825 m_masterPasswordSecretKmsKeyIdHasBeenSet = true;
826 m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value);
827 }
828 template <typename MasterPasswordSecretKmsKeyIdT = Aws::String>
829 CreateClusterRequest& WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) {
830 SetMasterPasswordSecretKmsKeyId(std::forward<MasterPasswordSecretKmsKeyIdT>(value));
831 return *this;
832 }
834
836
840 inline const Aws::String& GetIpAddressType() const { return m_ipAddressType; }
841 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
842 template <typename IpAddressTypeT = Aws::String>
843 void SetIpAddressType(IpAddressTypeT&& value) {
844 m_ipAddressTypeHasBeenSet = true;
845 m_ipAddressType = std::forward<IpAddressTypeT>(value);
846 }
847 template <typename IpAddressTypeT = Aws::String>
848 CreateClusterRequest& WithIpAddressType(IpAddressTypeT&& value) {
849 SetIpAddressType(std::forward<IpAddressTypeT>(value));
850 return *this;
851 }
853
855
859 inline bool GetMultiAZ() const { return m_multiAZ; }
860 inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
861 inline void SetMultiAZ(bool value) {
862 m_multiAZHasBeenSet = true;
863 m_multiAZ = value;
864 }
865 inline CreateClusterRequest& WithMultiAZ(bool value) {
866 SetMultiAZ(value);
867 return *this;
868 }
870
872
876 inline const Aws::String& GetRedshiftIdcApplicationArn() const { return m_redshiftIdcApplicationArn; }
877 inline bool RedshiftIdcApplicationArnHasBeenSet() const { return m_redshiftIdcApplicationArnHasBeenSet; }
878 template <typename RedshiftIdcApplicationArnT = Aws::String>
879 void SetRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
880 m_redshiftIdcApplicationArnHasBeenSet = true;
881 m_redshiftIdcApplicationArn = std::forward<RedshiftIdcApplicationArnT>(value);
882 }
883 template <typename RedshiftIdcApplicationArnT = Aws::String>
884 CreateClusterRequest& WithRedshiftIdcApplicationArn(RedshiftIdcApplicationArnT&& value) {
885 SetRedshiftIdcApplicationArn(std::forward<RedshiftIdcApplicationArnT>(value));
886 return *this;
887 }
889
891
899 inline const Aws::String& GetCatalogName() const { return m_catalogName; }
900 inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
901 template <typename CatalogNameT = Aws::String>
902 void SetCatalogName(CatalogNameT&& value) {
903 m_catalogNameHasBeenSet = true;
904 m_catalogName = std::forward<CatalogNameT>(value);
905 }
906 template <typename CatalogNameT = Aws::String>
907 CreateClusterRequest& WithCatalogName(CatalogNameT&& value) {
908 SetCatalogName(std::forward<CatalogNameT>(value));
909 return *this;
910 }
912
914
918 inline bool GetExtraComputeForAutomaticOptimization() const { return m_extraComputeForAutomaticOptimization; }
919 inline bool ExtraComputeForAutomaticOptimizationHasBeenSet() const { return m_extraComputeForAutomaticOptimizationHasBeenSet; }
921 m_extraComputeForAutomaticOptimizationHasBeenSet = true;
922 m_extraComputeForAutomaticOptimization = value;
923 }
926 return *this;
927 }
929 private:
930 Aws::String m_dBName;
931
932 Aws::String m_clusterIdentifier;
933
934 Aws::String m_clusterType;
935
936 Aws::String m_nodeType;
937
938 Aws::String m_masterUsername;
939
940 Aws::String m_masterUserPassword;
941
942 Aws::Vector<Aws::String> m_clusterSecurityGroups;
943
944 Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
945
946 Aws::String m_clusterSubnetGroupName;
947
948 Aws::String m_availabilityZone;
949
950 Aws::String m_preferredMaintenanceWindow;
951
952 Aws::String m_clusterParameterGroupName;
953
954 int m_automatedSnapshotRetentionPeriod{0};
955
956 int m_manualSnapshotRetentionPeriod{0};
957
958 int m_port{0};
959
960 Aws::String m_clusterVersion;
961
962 bool m_allowVersionUpgrade{false};
963
964 int m_numberOfNodes{0};
965
966 bool m_publiclyAccessible{false};
967
968 bool m_encrypted{false};
969
970 Aws::String m_hsmClientCertificateIdentifier;
971
972 Aws::String m_hsmConfigurationIdentifier;
973
974 Aws::String m_elasticIp;
975
976 Aws::Vector<Tag> m_tags;
977
978 Aws::String m_kmsKeyId;
979
980 bool m_enhancedVpcRouting{false};
981
982 Aws::String m_additionalInfo;
983
984 Aws::Vector<Aws::String> m_iamRoles;
985
986 Aws::String m_maintenanceTrackName;
987
988 Aws::String m_snapshotScheduleIdentifier;
989
990 bool m_availabilityZoneRelocation{false};
991
993
994 Aws::String m_defaultIamRoleArn;
995
996 Aws::String m_loadSampleData;
997
998 bool m_manageMasterPassword{false};
999
1000 Aws::String m_masterPasswordSecretKmsKeyId;
1001
1002 Aws::String m_ipAddressType;
1003
1004 bool m_multiAZ{false};
1005
1006 Aws::String m_redshiftIdcApplicationArn;
1007
1008 Aws::String m_catalogName;
1009
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;
1052};
1053
1054} // namespace Model
1055} // namespace Redshift
1056} // 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