AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateClusterRequest.h
1
6#pragma once
7#include <aws/dax/DAX_EXPORTS.h>
8#include <aws/dax/DAXRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/dax/model/SSESpecification.h>
12#include <aws/dax/model/ClusterEndpointEncryptionType.h>
13#include <aws/dax/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace DAX
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_DAX_API CreateClusterRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; }
35
36 AWS_DAX_API Aws::String SerializePayload() const override;
37
39
40
42
49 inline const Aws::String& GetClusterName() const { return m_clusterName; }
50 inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; }
51 template<typename ClusterNameT = Aws::String>
52 void SetClusterName(ClusterNameT&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::forward<ClusterNameT>(value); }
53 template<typename ClusterNameT = Aws::String>
54 CreateClusterRequest& WithClusterName(ClusterNameT&& value) { SetClusterName(std::forward<ClusterNameT>(value)); return *this;}
56
58
61 inline const Aws::String& GetNodeType() const { return m_nodeType; }
62 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
63 template<typename NodeTypeT = Aws::String>
64 void SetNodeType(NodeTypeT&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::forward<NodeTypeT>(value); }
65 template<typename NodeTypeT = Aws::String>
66 CreateClusterRequest& WithNodeType(NodeTypeT&& value) { SetNodeType(std::forward<NodeTypeT>(value)); return *this;}
68
70
73 inline const Aws::String& GetDescription() const { return m_description; }
74 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
75 template<typename DescriptionT = Aws::String>
76 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
77 template<typename DescriptionT = Aws::String>
78 CreateClusterRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
80
82
92 inline int GetReplicationFactor() const { return m_replicationFactor; }
93 inline bool ReplicationFactorHasBeenSet() const { return m_replicationFactorHasBeenSet; }
94 inline void SetReplicationFactor(int value) { m_replicationFactorHasBeenSet = true; m_replicationFactor = value; }
95 inline CreateClusterRequest& WithReplicationFactor(int value) { SetReplicationFactor(value); return *this;}
97
99
106 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
107 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
108 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
109 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
110 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
111 CreateClusterRequest& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
112 template<typename AvailabilityZonesT = Aws::String>
113 CreateClusterRequest& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
115
117
123 inline const Aws::String& GetSubnetGroupName() const { return m_subnetGroupName; }
124 inline bool SubnetGroupNameHasBeenSet() const { return m_subnetGroupNameHasBeenSet; }
125 template<typename SubnetGroupNameT = Aws::String>
126 void SetSubnetGroupName(SubnetGroupNameT&& value) { m_subnetGroupNameHasBeenSet = true; m_subnetGroupName = std::forward<SubnetGroupNameT>(value); }
127 template<typename SubnetGroupNameT = Aws::String>
128 CreateClusterRequest& WithSubnetGroupName(SubnetGroupNameT&& value) { SetSubnetGroupName(std::forward<SubnetGroupNameT>(value)); return *this;}
130
132
137 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
138 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
139 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
140 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
141 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
142 CreateClusterRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
143 template<typename SecurityGroupIdsT = Aws::String>
144 CreateClusterRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
146
148
161 inline const Aws::String& GetPreferredMaintenanceWindow() const { return m_preferredMaintenanceWindow; }
162 inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
163 template<typename PreferredMaintenanceWindowT = Aws::String>
164 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
165 template<typename PreferredMaintenanceWindowT = Aws::String>
166 CreateClusterRequest& WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { SetPreferredMaintenanceWindow(std::forward<PreferredMaintenanceWindowT>(value)); return *this;}
168
170
175 inline const Aws::String& GetNotificationTopicArn() const { return m_notificationTopicArn; }
176 inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; }
177 template<typename NotificationTopicArnT = Aws::String>
178 void SetNotificationTopicArn(NotificationTopicArnT&& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = std::forward<NotificationTopicArnT>(value); }
179 template<typename NotificationTopicArnT = Aws::String>
180 CreateClusterRequest& WithNotificationTopicArn(NotificationTopicArnT&& value) { SetNotificationTopicArn(std::forward<NotificationTopicArnT>(value)); return *this;}
182
184
189 inline const Aws::String& GetIamRoleArn() const { return m_iamRoleArn; }
190 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; }
191 template<typename IamRoleArnT = Aws::String>
192 void SetIamRoleArn(IamRoleArnT&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::forward<IamRoleArnT>(value); }
193 template<typename IamRoleArnT = Aws::String>
194 CreateClusterRequest& WithIamRoleArn(IamRoleArnT&& value) { SetIamRoleArn(std::forward<IamRoleArnT>(value)); return *this;}
196
198
201 inline const Aws::String& GetParameterGroupName() const { return m_parameterGroupName; }
202 inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; }
203 template<typename ParameterGroupNameT = Aws::String>
204 void SetParameterGroupName(ParameterGroupNameT&& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = std::forward<ParameterGroupNameT>(value); }
205 template<typename ParameterGroupNameT = Aws::String>
206 CreateClusterRequest& WithParameterGroupName(ParameterGroupNameT&& value) { SetParameterGroupName(std::forward<ParameterGroupNameT>(value)); return *this;}
208
210
213 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
214 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
215 template<typename TagsT = Aws::Vector<Tag>>
216 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
217 template<typename TagsT = Aws::Vector<Tag>>
218 CreateClusterRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
219 template<typename TagsT = Tag>
220 CreateClusterRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
222
224
228 inline const SSESpecification& GetSSESpecification() const { return m_sSESpecification; }
229 inline bool SSESpecificationHasBeenSet() const { return m_sSESpecificationHasBeenSet; }
230 template<typename SSESpecificationT = SSESpecification>
231 void SetSSESpecification(SSESpecificationT&& value) { m_sSESpecificationHasBeenSet = true; m_sSESpecification = std::forward<SSESpecificationT>(value); }
232 template<typename SSESpecificationT = SSESpecification>
233 CreateClusterRequest& WithSSESpecification(SSESpecificationT&& value) { SetSSESpecification(std::forward<SSESpecificationT>(value)); return *this;}
235
237
242 inline ClusterEndpointEncryptionType GetClusterEndpointEncryptionType() const { return m_clusterEndpointEncryptionType; }
243 inline bool ClusterEndpointEncryptionTypeHasBeenSet() const { return m_clusterEndpointEncryptionTypeHasBeenSet; }
244 inline void SetClusterEndpointEncryptionType(ClusterEndpointEncryptionType value) { m_clusterEndpointEncryptionTypeHasBeenSet = true; m_clusterEndpointEncryptionType = value; }
247 private:
248
249 Aws::String m_clusterName;
250 bool m_clusterNameHasBeenSet = false;
251
252 Aws::String m_nodeType;
253 bool m_nodeTypeHasBeenSet = false;
254
255 Aws::String m_description;
256 bool m_descriptionHasBeenSet = false;
257
258 int m_replicationFactor{0};
259 bool m_replicationFactorHasBeenSet = false;
260
261 Aws::Vector<Aws::String> m_availabilityZones;
262 bool m_availabilityZonesHasBeenSet = false;
263
264 Aws::String m_subnetGroupName;
265 bool m_subnetGroupNameHasBeenSet = false;
266
267 Aws::Vector<Aws::String> m_securityGroupIds;
268 bool m_securityGroupIdsHasBeenSet = false;
269
270 Aws::String m_preferredMaintenanceWindow;
271 bool m_preferredMaintenanceWindowHasBeenSet = false;
272
273 Aws::String m_notificationTopicArn;
274 bool m_notificationTopicArnHasBeenSet = false;
275
276 Aws::String m_iamRoleArn;
277 bool m_iamRoleArnHasBeenSet = false;
278
279 Aws::String m_parameterGroupName;
280 bool m_parameterGroupNameHasBeenSet = false;
281
282 Aws::Vector<Tag> m_tags;
283 bool m_tagsHasBeenSet = false;
284
285 SSESpecification m_sSESpecification;
286 bool m_sSESpecificationHasBeenSet = false;
287
289 bool m_clusterEndpointEncryptionTypeHasBeenSet = false;
290 };
291
292} // namespace Model
293} // namespace DAX
294} // 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)
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