AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
UpdateInfrastructureConfigurationRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/imagebuilder/ImagebuilderRequest.h>
12#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
13#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
14#include <aws/imagebuilder/model/Logging.h>
15#include <aws/imagebuilder/model/Placement.h>
16
17#include <utility>
18
19namespace Aws {
20namespace imagebuilder {
21namespace Model {
22
26 public:
27 AWS_IMAGEBUILDER_API UpdateInfrastructureConfigurationRequest() = 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 "UpdateInfrastructureConfiguration"; }
34
35 AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override;
36
38
42 inline const Aws::String& GetInfrastructureConfigurationArn() const { return m_infrastructureConfigurationArn; }
43 inline bool InfrastructureConfigurationArnHasBeenSet() const { return m_infrastructureConfigurationArnHasBeenSet; }
44 template <typename InfrastructureConfigurationArnT = Aws::String>
45 void SetInfrastructureConfigurationArn(InfrastructureConfigurationArnT&& value) {
46 m_infrastructureConfigurationArnHasBeenSet = true;
47 m_infrastructureConfigurationArn = std::forward<InfrastructureConfigurationArnT>(value);
48 }
49 template <typename InfrastructureConfigurationArnT = Aws::String>
51 SetInfrastructureConfigurationArn(std::forward<InfrastructureConfigurationArnT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetDescription() const { return m_description; }
61 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
62 template <typename DescriptionT = Aws::String>
63 void SetDescription(DescriptionT&& value) {
64 m_descriptionHasBeenSet = true;
65 m_description = std::forward<DescriptionT>(value);
66 }
67 template <typename DescriptionT = Aws::String>
69 SetDescription(std::forward<DescriptionT>(value));
70 return *this;
71 }
73
75
80 inline const Aws::Vector<Aws::String>& GetInstanceTypes() const { return m_instanceTypes; }
81 inline bool InstanceTypesHasBeenSet() const { return m_instanceTypesHasBeenSet; }
82 template <typename InstanceTypesT = Aws::Vector<Aws::String>>
83 void SetInstanceTypes(InstanceTypesT&& value) {
84 m_instanceTypesHasBeenSet = true;
85 m_instanceTypes = std::forward<InstanceTypesT>(value);
86 }
87 template <typename InstanceTypesT = Aws::Vector<Aws::String>>
89 SetInstanceTypes(std::forward<InstanceTypesT>(value));
90 return *this;
91 }
92 template <typename InstanceTypesT = Aws::String>
94 m_instanceTypesHasBeenSet = true;
95 m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::String& GetInstanceProfileName() const { return m_instanceProfileName; }
106 inline bool InstanceProfileNameHasBeenSet() const { return m_instanceProfileNameHasBeenSet; }
107 template <typename InstanceProfileNameT = Aws::String>
108 void SetInstanceProfileName(InstanceProfileNameT&& value) {
109 m_instanceProfileNameHasBeenSet = true;
110 m_instanceProfileName = std::forward<InstanceProfileNameT>(value);
111 }
112 template <typename InstanceProfileNameT = Aws::String>
114 SetInstanceProfileName(std::forward<InstanceProfileNameT>(value));
115 return *this;
116 }
118
120
124 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
125 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
126 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
127 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
128 m_securityGroupIdsHasBeenSet = true;
129 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
130 }
131 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
133 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
134 return *this;
135 }
136 template <typename SecurityGroupIdsT = Aws::String>
138 m_securityGroupIdsHasBeenSet = true;
139 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
140 return *this;
141 }
143
145
149 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
150 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
151 template <typename SubnetIdT = Aws::String>
152 void SetSubnetId(SubnetIdT&& value) {
153 m_subnetIdHasBeenSet = true;
154 m_subnetId = std::forward<SubnetIdT>(value);
155 }
156 template <typename SubnetIdT = Aws::String>
158 SetSubnetId(std::forward<SubnetIdT>(value));
159 return *this;
160 }
162
164
167 inline const Logging& GetLogging() const { return m_logging; }
168 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
169 template <typename LoggingT = Logging>
170 void SetLogging(LoggingT&& value) {
171 m_loggingHasBeenSet = true;
172 m_logging = std::forward<LoggingT>(value);
173 }
174 template <typename LoggingT = Logging>
176 SetLogging(std::forward<LoggingT>(value));
177 return *this;
178 }
180
182
186 inline const Aws::String& GetKeyPair() const { return m_keyPair; }
187 inline bool KeyPairHasBeenSet() const { return m_keyPairHasBeenSet; }
188 template <typename KeyPairT = Aws::String>
189 void SetKeyPair(KeyPairT&& value) {
190 m_keyPairHasBeenSet = true;
191 m_keyPair = std::forward<KeyPairT>(value);
192 }
193 template <typename KeyPairT = Aws::String>
195 SetKeyPair(std::forward<KeyPairT>(value));
196 return *this;
197 }
199
201
207 inline bool GetTerminateInstanceOnFailure() const { return m_terminateInstanceOnFailure; }
208 inline bool TerminateInstanceOnFailureHasBeenSet() const { return m_terminateInstanceOnFailureHasBeenSet; }
209 inline void SetTerminateInstanceOnFailure(bool value) {
210 m_terminateInstanceOnFailureHasBeenSet = true;
211 m_terminateInstanceOnFailure = value;
212 }
215 return *this;
216 }
218
220
227 inline const Aws::String& GetSnsTopicArn() const { return m_snsTopicArn; }
228 inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
229 template <typename SnsTopicArnT = Aws::String>
230 void SetSnsTopicArn(SnsTopicArnT&& value) {
231 m_snsTopicArnHasBeenSet = true;
232 m_snsTopicArn = std::forward<SnsTopicArnT>(value);
233 }
234 template <typename SnsTopicArnT = Aws::String>
236 SetSnsTopicArn(std::forward<SnsTopicArnT>(value));
237 return *this;
238 }
240
242
245 inline const Aws::Map<Aws::String, Aws::String>& GetResourceTags() const { return m_resourceTags; }
246 inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; }
247 template <typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
248 void SetResourceTags(ResourceTagsT&& value) {
249 m_resourceTagsHasBeenSet = true;
250 m_resourceTags = std::forward<ResourceTagsT>(value);
251 }
252 template <typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
254 SetResourceTags(std::forward<ResourceTagsT>(value));
255 return *this;
256 }
257 template <typename ResourceTagsKeyT = Aws::String, typename ResourceTagsValueT = Aws::String>
258 UpdateInfrastructureConfigurationRequest& AddResourceTags(ResourceTagsKeyT&& key, ResourceTagsValueT&& value) {
259 m_resourceTagsHasBeenSet = true;
260 m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
261 return *this;
262 }
264
266
278 inline const InstanceMetadataOptions& GetInstanceMetadataOptions() const { return m_instanceMetadataOptions; }
279 inline bool InstanceMetadataOptionsHasBeenSet() const { return m_instanceMetadataOptionsHasBeenSet; }
280 template <typename InstanceMetadataOptionsT = InstanceMetadataOptions>
281 void SetInstanceMetadataOptions(InstanceMetadataOptionsT&& value) {
282 m_instanceMetadataOptionsHasBeenSet = true;
283 m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value);
284 }
285 template <typename InstanceMetadataOptionsT = InstanceMetadataOptions>
287 SetInstanceMetadataOptions(std::forward<InstanceMetadataOptionsT>(value));
288 return *this;
289 }
291
293
297 inline const Placement& GetPlacement() const { return m_placement; }
298 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
299 template <typename PlacementT = Placement>
300 void SetPlacement(PlacementT&& value) {
301 m_placementHasBeenSet = true;
302 m_placement = std::forward<PlacementT>(value);
303 }
304 template <typename PlacementT = Placement>
306 SetPlacement(std::forward<PlacementT>(value));
307 return *this;
308 }
310
312
318 inline const Aws::String& GetClientToken() const { return m_clientToken; }
319 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
320 template <typename ClientTokenT = Aws::String>
321 void SetClientToken(ClientTokenT&& value) {
322 m_clientTokenHasBeenSet = true;
323 m_clientToken = std::forward<ClientTokenT>(value);
324 }
325 template <typename ClientTokenT = Aws::String>
327 SetClientToken(std::forward<ClientTokenT>(value));
328 return *this;
329 }
331 private:
332 Aws::String m_infrastructureConfigurationArn;
333
334 Aws::String m_description;
335
336 Aws::Vector<Aws::String> m_instanceTypes;
337
338 Aws::String m_instanceProfileName;
339
340 Aws::Vector<Aws::String> m_securityGroupIds;
341
342 Aws::String m_subnetId;
343
344 Logging m_logging;
345
346 Aws::String m_keyPair;
347
348 bool m_terminateInstanceOnFailure{false};
349
350 Aws::String m_snsTopicArn;
351
353
354 InstanceMetadataOptions m_instanceMetadataOptions;
355
356 Placement m_placement;
357
359 bool m_infrastructureConfigurationArnHasBeenSet = false;
360 bool m_descriptionHasBeenSet = false;
361 bool m_instanceTypesHasBeenSet = false;
362 bool m_instanceProfileNameHasBeenSet = false;
363 bool m_securityGroupIdsHasBeenSet = false;
364 bool m_subnetIdHasBeenSet = false;
365 bool m_loggingHasBeenSet = false;
366 bool m_keyPairHasBeenSet = false;
367 bool m_terminateInstanceOnFailureHasBeenSet = false;
368 bool m_snsTopicArnHasBeenSet = false;
369 bool m_resourceTagsHasBeenSet = false;
370 bool m_instanceMetadataOptionsHasBeenSet = false;
371 bool m_placementHasBeenSet = false;
372 bool m_clientTokenHasBeenSet = true;
373};
374
375} // namespace Model
376} // namespace imagebuilder
377} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
UpdateInfrastructureConfigurationRequest & WithInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
UpdateInfrastructureConfigurationRequest & WithPlacement(PlacementT &&value)
UpdateInfrastructureConfigurationRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
UpdateInfrastructureConfigurationRequest & WithDescription(DescriptionT &&value)
UpdateInfrastructureConfigurationRequest & WithSnsTopicArn(SnsTopicArnT &&value)
UpdateInfrastructureConfigurationRequest & WithInstanceTypes(InstanceTypesT &&value)
UpdateInfrastructureConfigurationRequest & WithResourceTags(ResourceTagsT &&value)
UpdateInfrastructureConfigurationRequest & WithClientToken(ClientTokenT &&value)
UpdateInfrastructureConfigurationRequest & WithInfrastructureConfigurationArn(InfrastructureConfigurationArnT &&value)
UpdateInfrastructureConfigurationRequest & WithInstanceProfileName(InstanceProfileNameT &&value)
UpdateInfrastructureConfigurationRequest & AddResourceTags(ResourceTagsKeyT &&key, ResourceTagsValueT &&value)
UpdateInfrastructureConfigurationRequest & WithSubnetId(SubnetIdT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
UpdateInfrastructureConfigurationRequest & AddInstanceTypes(InstanceTypesT &&value)
UpdateInfrastructureConfigurationRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
UpdateInfrastructureConfigurationRequest & WithTerminateInstanceOnFailure(bool value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector