AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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/dax/DAXRequest.h>
10#include <aws/dax/DAX_EXPORTS.h>
11#include <aws/dax/model/ClusterEndpointEncryptionType.h>
12#include <aws/dax/model/NetworkType.h>
13#include <aws/dax/model/SSESpecification.h>
14#include <aws/dax/model/Tag.h>
15
16#include <utility>
17
18namespace Aws {
19namespace DAX {
20namespace Model {
21
25 public:
26 AWS_DAX_API CreateClusterRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; }
33
34 AWS_DAX_API Aws::String SerializePayload() const override;
35
37
39
46 inline const Aws::String& GetClusterName() const { return m_clusterName; }
47 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; }
48 template <typename ClusterNameT = Aws::String>
49 void SetClusterName(ClusterNameT&& value) {
50 m_clusterNameHasBeenSet = true;
51 m_clusterName = std::forward<ClusterNameT>(value);
52 }
53 template <typename ClusterNameT = Aws::String>
54 CreateClusterRequest& WithClusterName(ClusterNameT&& value) {
55 SetClusterName(std::forward<ClusterNameT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetNodeType() const { return m_nodeType; }
65 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
66 template <typename NodeTypeT = Aws::String>
67 void SetNodeType(NodeTypeT&& value) {
68 m_nodeTypeHasBeenSet = true;
69 m_nodeType = std::forward<NodeTypeT>(value);
70 }
71 template <typename NodeTypeT = Aws::String>
72 CreateClusterRequest& WithNodeType(NodeTypeT&& value) {
73 SetNodeType(std::forward<NodeTypeT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::String& GetDescription() const { return m_description; }
83 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
84 template <typename DescriptionT = Aws::String>
85 void SetDescription(DescriptionT&& value) {
86 m_descriptionHasBeenSet = true;
87 m_description = std::forward<DescriptionT>(value);
88 }
89 template <typename DescriptionT = Aws::String>
90 CreateClusterRequest& WithDescription(DescriptionT&& value) {
91 SetDescription(std::forward<DescriptionT>(value));
92 return *this;
93 }
95
97
107 inline int GetReplicationFactor() const { return m_replicationFactor; }
108 inline bool ReplicationFactorHasBeenSet() const { return m_replicationFactorHasBeenSet; }
109 inline void SetReplicationFactor(int value) {
110 m_replicationFactorHasBeenSet = true;
111 m_replicationFactor = value;
112 }
115 return *this;
116 }
118
120
127 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
128 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
129 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
130 void SetAvailabilityZones(AvailabilityZonesT&& value) {
131 m_availabilityZonesHasBeenSet = true;
132 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
133 }
134 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
135 CreateClusterRequest& WithAvailabilityZones(AvailabilityZonesT&& value) {
136 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
137 return *this;
138 }
139 template <typename AvailabilityZonesT = Aws::String>
140 CreateClusterRequest& AddAvailabilityZones(AvailabilityZonesT&& value) {
141 m_availabilityZonesHasBeenSet = true;
142 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
143 return *this;
144 }
146
148
154 inline const Aws::String& GetSubnetGroupName() const { return m_subnetGroupName; }
155 inline bool SubnetGroupNameHasBeenSet() const { return m_subnetGroupNameHasBeenSet; }
156 template <typename SubnetGroupNameT = Aws::String>
157 void SetSubnetGroupName(SubnetGroupNameT&& value) {
158 m_subnetGroupNameHasBeenSet = true;
159 m_subnetGroupName = std::forward<SubnetGroupNameT>(value);
160 }
161 template <typename SubnetGroupNameT = Aws::String>
162 CreateClusterRequest& WithSubnetGroupName(SubnetGroupNameT&& value) {
163 SetSubnetGroupName(std::forward<SubnetGroupNameT>(value));
164 return *this;
165 }
167
169
174 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
175 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
176 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
177 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
178 m_securityGroupIdsHasBeenSet = true;
179 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
180 }
181 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
182 CreateClusterRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
183 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
184 return *this;
185 }
186 template <typename SecurityGroupIdsT = Aws::String>
187 CreateClusterRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
188 m_securityGroupIdsHasBeenSet = true;
189 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
190 return *this;
191 }
193
195
208 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
209 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
210 template <typename PreferredMaintenanceWindowT = Aws::String>
211 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
212 m_preferredMaintenanceWindowHasBeenSet = true;
213 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
214 }
215 template <typename PreferredMaintenanceWindowT = Aws::String>
216 CreateClusterRequest& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) {
217 SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value));
218 return *this;
219 }
221
223
228 inline const Aws::String& GetNotificationTopicArn() const { return m_notificationTopicArn; }
229 inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; }
230 template <typename NotificationTopicArnT = Aws::String>
231 void SetNotificationTopicArn(NotificationTopicArnT&& value) {
232 m_notificationTopicArnHasBeenSet = true;
233 m_notificationTopicArn = std::forward<NotificationTopicArnT>(value);
234 }
235 template <typename NotificationTopicArnT = Aws::String>
236 CreateClusterRequest& WithNotificationTopicArn(NotificationTopicArnT&& value) {
237 SetNotificationTopicArn(std::forward<NotificationTopicArnT>(value));
238 return *this;
239 }
241
243
248 inline const Aws::String& GetIamRoleArn() const { return m_iamRoleArn; }
249 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; }
250 template <typename IamRoleArnT = Aws::String>
251 void SetIamRoleArn(IamRoleArnT&& value) {
252 m_iamRoleArnHasBeenSet = true;
253 m_iamRoleArn = std::forward<IamRoleArnT>(value);
254 }
255 template <typename IamRoleArnT = Aws::String>
256 CreateClusterRequest& WithIamRoleArn(IamRoleArnT&& value) {
257 SetIamRoleArn(std::forward<IamRoleArnT>(value));
258 return *this;
259 }
261
263
266 inline const Aws::String& GetParameterGroupName() const { return m_parameterGroupName; }
267 inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; }
268 template <typename ParameterGroupNameT = Aws::String>
269 void SetParameterGroupName(ParameterGroupNameT&& value) {
270 m_parameterGroupNameHasBeenSet = true;
271 m_parameterGroupName = std::forward<ParameterGroupNameT>(value);
272 }
273 template <typename ParameterGroupNameT = Aws::String>
274 CreateClusterRequest& WithParameterGroupName(ParameterGroupNameT&& value) {
275 SetParameterGroupName(std::forward<ParameterGroupNameT>(value));
276 return *this;
277 }
279
281
284 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
285 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
286 template <typename TagsT = Aws::Vector<Tag>>
287 void SetTags(TagsT&& value) {
288 m_tagsHasBeenSet = true;
289 m_tags = std::forward<TagsT>(value);
290 }
291 template <typename TagsT = Aws::Vector<Tag>>
293 SetTags(std::forward<TagsT>(value));
294 return *this;
295 }
296 template <typename TagsT = Tag>
298 m_tagsHasBeenSet = true;
299 m_tags.emplace_back(std::forward<TagsT>(value));
300 return *this;
301 }
303
305
309 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
310 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
311 template <typename SSESpecificationT = SSESpecification>
312 void SetSSESpecification(SSESpecificationT&& value) {
313 m_sSESpecificationHasBeenSet = true;
314 m_sSESpecification = std::forward<SSESpecificationT>(value);
315 }
316 template <typename SSESpecificationT = SSESpecification>
317 CreateClusterRequest& WithSSESpecification(SSESpecificationT&& value) {
318 SetSSESpecification(std::forward<SSESpecificationT>(value));
319 return *this;
320 }
322
324
329 inline ClusterEndpointEncryptionType GetClusterEndpointEncryptionType() const { return m_clusterEndpointEncryptionType; }
330 inline bool ClusterEndpointEncryptionTypeHasBeenSet() const { return m_clusterEndpointEncryptionTypeHasBeenSet; }
332 m_clusterEndpointEncryptionTypeHasBeenSet = true;
333 m_clusterEndpointEncryptionType = value;
334 }
337 return *this;
338 }
340
342
352 inline NetworkType GetNetworkType() const { return m_networkType; }
353 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
354 inline void SetNetworkType(NetworkType value) {
355 m_networkTypeHasBeenSet = true;
356 m_networkType = value;
357 }
359 SetNetworkType(value);
360 return *this;
361 }
363 private:
364 Aws::String m_clusterName;
365
366 Aws::String m_nodeType;
367
368 Aws::String m_description;
369
370 int m_replicationFactor{0};
371
372 Aws::Vector<Aws::String> m_availabilityZones;
373
374 Aws::String m_subnetGroupName;
375
376 Aws::Vector<Aws::String> m_securityGroupIds;
377
378 Aws::String m_preferredMaintenanceWindow;
379
380 Aws::String m_notificationTopicArn;
381
382 Aws::String m_iamRoleArn;
383
384 Aws::String m_parameterGroupName;
385
386 Aws::Vector<Tag> m_tags;
387
388 SSESpecification m_sSESpecification;
389
391
392 NetworkType m_networkType{NetworkType::NOT_SET};
393 bool m_clusterNameHasBeenSet = false;
394 bool m_nodeTypeHasBeenSet = false;
395 bool m_descriptionHasBeenSet = false;
396 bool m_replicationFactorHasBeenSet = false;
397 bool m_availabilityZonesHasBeenSet = false;
398 bool m_subnetGroupNameHasBeenSet = false;
399 bool m_securityGroupIdsHasBeenSet = false;
400 bool m_preferredMaintenanceWindowHasBeenSet = false;
401 bool m_notificationTopicArnHasBeenSet = false;
402 bool m_iamRoleArnHasBeenSet = false;
403 bool m_parameterGroupNameHasBeenSet = false;
404 bool m_tagsHasBeenSet = false;
405 bool m_sSESpecificationHasBeenSet = false;
406 bool m_clusterEndpointEncryptionTypeHasBeenSet = false;
407 bool m_networkTypeHasBeenSet = false;
408};
409
410} // namespace Model
411} // namespace DAX
412} // namespace Aws
const Aws::String & GetDescription() const
CreateClusterRequest & WithNotificationTopicArn(NotificationTopicArnT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
virtual const char * GetServiceRequestName() const override
const Aws::String & GetSubnetGroupName() const
CreateClusterRequest & WithReplicationFactor(int value)
const Aws::String & GetNodeType() const
void SetSSESpecification(SSESpecificationT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
const Aws::String & GetIamRoleArn() const
void SetSubnetGroupName(SubnetGroupNameT &&value)
const Aws::String & GetClusterName() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
CreateClusterRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetNotificationTopicArn(NotificationTopicArnT &&value)
CreateClusterRequest & WithClusterName(ClusterNameT &&value)
CreateClusterRequest & WithTags(TagsT &&value)
CreateClusterRequest & WithIamRoleArn(IamRoleArnT &&value)
ClusterEndpointEncryptionType GetClusterEndpointEncryptionType() const
const Aws::Vector< Tag > & GetTags() const
AWS_DAX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
AWS_DAX_API CreateClusterRequest()=default
CreateClusterRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateClusterRequest & WithNetworkType(NetworkType value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
const SSESpecification & GetSSESpecification() const
CreateClusterRequest & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
AWS_DAX_API Aws::String SerializePayload() const override
CreateClusterRequest & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
void SetParameterGroupName(ParameterGroupNameT &&value)
CreateClusterRequest & WithNodeType(NodeTypeT &&value)
CreateClusterRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetNotificationTopicArn() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
CreateClusterRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateClusterRequest & WithClusterEndpointEncryptionType(ClusterEndpointEncryptionType value)
void SetClusterName(ClusterNameT &&value)
CreateClusterRequest & AddTags(TagsT &&value)
CreateClusterRequest & WithSSESpecification(SSESpecificationT &&value)
CreateClusterRequest & WithSubnetGroupName(SubnetGroupNameT &&value)
CreateClusterRequest & WithParameterGroupName(ParameterGroupNameT &&value)
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
const Aws::String & GetParameterGroupName() const
void SetClusterEndpointEncryptionType(ClusterEndpointEncryptionType value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector