AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
CreateLaunchConfigurationRequest.h
1
6#pragma once
7#include <aws/autoscaling/AutoScalingRequest.h>
8#include <aws/autoscaling/AutoScaling_EXPORTS.h>
9#include <aws/autoscaling/model/BlockDeviceMapping.h>
10#include <aws/autoscaling/model/InstanceMetadataOptions.h>
11#include <aws/autoscaling/model/InstanceMonitoring.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace AutoScaling {
19namespace Model {
20
24 public:
25 AWS_AUTOSCALING_API CreateLaunchConfigurationRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "CreateLaunchConfiguration"; }
32
33 AWS_AUTOSCALING_API Aws::String SerializePayload() const override;
34
35 protected:
36 AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
37
38 public:
40
44 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
45 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
46 template <typename LaunchConfigurationNameT = Aws::String>
47 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) {
48 m_launchConfigurationNameHasBeenSet = true;
49 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
50 }
51 template <typename LaunchConfigurationNameT = Aws::String>
53 SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value));
54 return *this;
55 }
57
59
66 inline const Aws::String& GetImageId() const { return m_imageId; }
67 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
68 template <typename ImageIdT = Aws::String>
69 void SetImageId(ImageIdT&& value) {
70 m_imageIdHasBeenSet = true;
71 m_imageId = std::forward<ImageIdT>(value);
72 }
73 template <typename ImageIdT = Aws::String>
75 SetImageId(std::forward<ImageIdT>(value));
76 return *this;
77 }
79
81
87 inline const Aws::String& GetKeyName() const { return m_keyName; }
88 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
89 template <typename KeyNameT = Aws::String>
90 void SetKeyName(KeyNameT&& value) {
91 m_keyNameHasBeenSet = true;
92 m_keyName = std::forward<KeyNameT>(value);
93 }
94 template <typename KeyNameT = Aws::String>
96 SetKeyName(std::forward<KeyNameT>(value));
97 return *this;
98 }
100
102
109 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
110 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
111 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
112 void SetSecurityGroups(SecurityGroupsT&& value) {
113 m_securityGroupsHasBeenSet = true;
114 m_securityGroups = std::forward<SecurityGroupsT>(value);
115 }
116 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
118 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
119 return *this;
120 }
121 template <typename SecurityGroupsT = Aws::String>
123 m_securityGroupsHasBeenSet = true;
124 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
125 return *this;
126 }
128
130
133 inline const Aws::String& GetClassicLinkVPCId() const { return m_classicLinkVPCId; }
134 inline bool ClassicLinkVPCIdHasBeenSet() const { return m_classicLinkVPCIdHasBeenSet; }
135 template <typename ClassicLinkVPCIdT = Aws::String>
136 void SetClassicLinkVPCId(ClassicLinkVPCIdT&& value) {
137 m_classicLinkVPCIdHasBeenSet = true;
138 m_classicLinkVPCId = std::forward<ClassicLinkVPCIdT>(value);
139 }
140 template <typename ClassicLinkVPCIdT = Aws::String>
142 SetClassicLinkVPCId(std::forward<ClassicLinkVPCIdT>(value));
143 return *this;
144 }
146
148
151 inline const Aws::Vector<Aws::String>& GetClassicLinkVPCSecurityGroups() const { return m_classicLinkVPCSecurityGroups; }
152 inline bool ClassicLinkVPCSecurityGroupsHasBeenSet() const { return m_classicLinkVPCSecurityGroupsHasBeenSet; }
153 template <typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
154 void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) {
155 m_classicLinkVPCSecurityGroupsHasBeenSet = true;
156 m_classicLinkVPCSecurityGroups = std::forward<ClassicLinkVPCSecurityGroupsT>(value);
157 }
158 template <typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
160 SetClassicLinkVPCSecurityGroups(std::forward<ClassicLinkVPCSecurityGroupsT>(value));
161 return *this;
162 }
163 template <typename ClassicLinkVPCSecurityGroupsT = Aws::String>
165 m_classicLinkVPCSecurityGroupsHasBeenSet = true;
166 m_classicLinkVPCSecurityGroups.emplace_back(std::forward<ClassicLinkVPCSecurityGroupsT>(value));
167 return *this;
168 }
170
172
183 inline const Aws::String& GetUserData() const { return m_userData; }
184 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
185 template <typename UserDataT = Aws::String>
186 void SetUserData(UserDataT&& value) {
187 m_userDataHasBeenSet = true;
188 m_userData = std::forward<UserDataT>(value);
189 }
190 template <typename UserDataT = Aws::String>
192 SetUserData(std::forward<UserDataT>(value));
193 return *this;
194 }
196
198
207 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
208 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
209 template <typename InstanceIdT = Aws::String>
210 void SetInstanceId(InstanceIdT&& value) {
211 m_instanceIdHasBeenSet = true;
212 m_instanceId = std::forward<InstanceIdT>(value);
213 }
214 template <typename InstanceIdT = Aws::String>
216 SetInstanceId(std::forward<InstanceIdT>(value));
217 return *this;
218 }
220
222
229 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
230 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
231 template <typename InstanceTypeT = Aws::String>
232 void SetInstanceType(InstanceTypeT&& value) {
233 m_instanceTypeHasBeenSet = true;
234 m_instanceType = std::forward<InstanceTypeT>(value);
235 }
236 template <typename InstanceTypeT = Aws::String>
238 SetInstanceType(std::forward<InstanceTypeT>(value));
239 return *this;
240 }
242
244
250 inline const Aws::String& GetKernelId() const { return m_kernelId; }
251 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
252 template <typename KernelIdT = Aws::String>
253 void SetKernelId(KernelIdT&& value) {
254 m_kernelIdHasBeenSet = true;
255 m_kernelId = std::forward<KernelIdT>(value);
256 }
257 template <typename KernelIdT = Aws::String>
259 SetKernelId(std::forward<KernelIdT>(value));
260 return *this;
261 }
263
265
271 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
272 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
273 template <typename RamdiskIdT = Aws::String>
274 void SetRamdiskId(RamdiskIdT&& value) {
275 m_ramdiskIdHasBeenSet = true;
276 m_ramdiskId = std::forward<RamdiskIdT>(value);
277 }
278 template <typename RamdiskIdT = Aws::String>
280 SetRamdiskId(std::forward<RamdiskIdT>(value));
281 return *this;
282 }
284
286
293 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
294 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
295 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
296 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
297 m_blockDeviceMappingsHasBeenSet = true;
298 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
299 }
300 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
302 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
303 return *this;
304 }
305 template <typename BlockDeviceMappingsT = BlockDeviceMapping>
307 m_blockDeviceMappingsHasBeenSet = true;
308 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
309 return *this;
310 }
312
314
325 inline const InstanceMonitoring& GetInstanceMonitoring() const { return m_instanceMonitoring; }
326 inline bool InstanceMonitoringHasBeenSet() const { return m_instanceMonitoringHasBeenSet; }
327 template <typename InstanceMonitoringT = InstanceMonitoring>
328 void SetInstanceMonitoring(InstanceMonitoringT&& value) {
329 m_instanceMonitoringHasBeenSet = true;
330 m_instanceMonitoring = std::forward<InstanceMonitoringT>(value);
331 }
332 template <typename InstanceMonitoringT = InstanceMonitoring>
334 SetInstanceMonitoring(std::forward<InstanceMonitoringT>(value));
335 return *this;
336 }
338
340
352 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
353 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
354 template <typename SpotPriceT = Aws::String>
355 void SetSpotPrice(SpotPriceT&& value) {
356 m_spotPriceHasBeenSet = true;
357 m_spotPrice = std::forward<SpotPriceT>(value);
358 }
359 template <typename SpotPriceT = Aws::String>
361 SetSpotPrice(std::forward<SpotPriceT>(value));
362 return *this;
363 }
365
367
375 inline const Aws::String& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
376 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
377 template <typename IamInstanceProfileT = Aws::String>
378 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
379 m_iamInstanceProfileHasBeenSet = true;
380 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
381 }
382 template <typename IamInstanceProfileT = Aws::String>
384 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
385 return *this;
386 }
388
390
402 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
403 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
404 inline void SetEbsOptimized(bool value) {
405 m_ebsOptimizedHasBeenSet = true;
406 m_ebsOptimized = value;
407 }
409 SetEbsOptimized(value);
410 return *this;
411 }
413
415
430 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
431 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
432 inline void SetAssociatePublicIpAddress(bool value) {
433 m_associatePublicIpAddressHasBeenSet = true;
434 m_associatePublicIpAddress = value;
435 }
438 return *this;
439 }
441
443
454 inline const Aws::String& GetPlacementTenancy() const { return m_placementTenancy; }
455 inline bool PlacementTenancyHasBeenSet() const { return m_placementTenancyHasBeenSet; }
456 template <typename PlacementTenancyT = Aws::String>
457 void SetPlacementTenancy(PlacementTenancyT&& value) {
458 m_placementTenancyHasBeenSet = true;
459 m_placementTenancy = std::forward<PlacementTenancyT>(value);
460 }
461 template <typename PlacementTenancyT = Aws::String>
463 SetPlacementTenancy(std::forward<PlacementTenancyT>(value));
464 return *this;
465 }
467
469
475 inline const InstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
476 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
477 template <typename MetadataOptionsT = InstanceMetadataOptions>
478 void SetMetadataOptions(MetadataOptionsT&& value) {
479 m_metadataOptionsHasBeenSet = true;
480 m_metadataOptions = std::forward<MetadataOptionsT>(value);
481 }
482 template <typename MetadataOptionsT = InstanceMetadataOptions>
484 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
485 return *this;
486 }
488 private:
489 Aws::String m_launchConfigurationName;
490
491 Aws::String m_imageId;
492
493 Aws::String m_keyName;
494
495 Aws::Vector<Aws::String> m_securityGroups;
496
497 Aws::String m_classicLinkVPCId;
498
499 Aws::Vector<Aws::String> m_classicLinkVPCSecurityGroups;
500
501 Aws::String m_userData;
502
503 Aws::String m_instanceId;
504
505 Aws::String m_instanceType;
506
507 Aws::String m_kernelId;
508
509 Aws::String m_ramdiskId;
510
511 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
512
513 InstanceMonitoring m_instanceMonitoring;
514
515 Aws::String m_spotPrice;
516
517 Aws::String m_iamInstanceProfile;
518
519 bool m_ebsOptimized{false};
520
521 bool m_associatePublicIpAddress{false};
522
523 Aws::String m_placementTenancy;
524
525 InstanceMetadataOptions m_metadataOptions;
526 bool m_launchConfigurationNameHasBeenSet = false;
527 bool m_imageIdHasBeenSet = false;
528 bool m_keyNameHasBeenSet = false;
529 bool m_securityGroupsHasBeenSet = false;
530 bool m_classicLinkVPCIdHasBeenSet = false;
531 bool m_classicLinkVPCSecurityGroupsHasBeenSet = false;
532 bool m_userDataHasBeenSet = false;
533 bool m_instanceIdHasBeenSet = false;
534 bool m_instanceTypeHasBeenSet = false;
535 bool m_kernelIdHasBeenSet = false;
536 bool m_ramdiskIdHasBeenSet = false;
537 bool m_blockDeviceMappingsHasBeenSet = false;
538 bool m_instanceMonitoringHasBeenSet = false;
539 bool m_spotPriceHasBeenSet = false;
540 bool m_iamInstanceProfileHasBeenSet = false;
541 bool m_ebsOptimizedHasBeenSet = false;
542 bool m_associatePublicIpAddressHasBeenSet = false;
543 bool m_placementTenancyHasBeenSet = false;
544 bool m_metadataOptionsHasBeenSet = false;
545};
546
547} // namespace Model
548} // namespace AutoScaling
549} // namespace Aws
CreateLaunchConfigurationRequest & WithKernelId(KernelIdT &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithClassicLinkVPCId(ClassicLinkVPCIdT &&value)
CreateLaunchConfigurationRequest & WithInstanceType(InstanceTypeT &&value)
CreateLaunchConfigurationRequest & AddSecurityGroups(SecurityGroupsT &&value)
AWS_AUTOSCALING_API Aws::String SerializePayload() const override
CreateLaunchConfigurationRequest & WithIamInstanceProfile(IamInstanceProfileT &&value)
CreateLaunchConfigurationRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
CreateLaunchConfigurationRequest & WithSpotPrice(SpotPriceT &&value)
CreateLaunchConfigurationRequest & WithSecurityGroups(SecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
CreateLaunchConfigurationRequest & WithRamdiskId(RamdiskIdT &&value)
AWS_AUTOSCALING_API CreateLaunchConfigurationRequest()=default
CreateLaunchConfigurationRequest & WithInstanceId(InstanceIdT &&value)
CreateLaunchConfigurationRequest & WithAssociatePublicIpAddress(bool value)
CreateLaunchConfigurationRequest & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
CreateLaunchConfigurationRequest & WithKeyName(KeyNameT &&value)
AWS_AUTOSCALING_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateLaunchConfigurationRequest & WithUserData(UserDataT &&value)
CreateLaunchConfigurationRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
CreateLaunchConfigurationRequest & WithImageId(ImageIdT &&value)
CreateLaunchConfigurationRequest & WithPlacementTenancy(PlacementTenancyT &&value)
CreateLaunchConfigurationRequest & WithMetadataOptions(MetadataOptionsT &&value)
CreateLaunchConfigurationRequest & WithInstanceMonitoring(InstanceMonitoringT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector