AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InfrastructureConfiguration.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/model/Logging.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
13#include <aws/imagebuilder/model/Placement.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace imagebuilder
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_IMAGEBUILDER_API InfrastructureConfiguration() = default;
42 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Aws::String& GetArn() const { return m_arn; }
50 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
51 template<typename ArnT = Aws::String>
52 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
53 template<typename ArnT = Aws::String>
54 InfrastructureConfiguration& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
56
58
61 inline const Aws::String& GetName() const { return m_name; }
62 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
63 template<typename NameT = Aws::String>
64 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
65 template<typename NameT = Aws::String>
66 InfrastructureConfiguration& WithName(NameT&& value) { SetName(std::forward<NameT>(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 InfrastructureConfiguration& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
80
82
85 inline const Aws::Vector<Aws::String>& GetInstanceTypes() const { return m_instanceTypes; }
86 inline bool InstanceTypesHasBeenSet() const { return m_instanceTypesHasBeenSet; }
87 template<typename InstanceTypesT = Aws::Vector<Aws::String>>
88 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
89 template<typename InstanceTypesT = Aws::Vector<Aws::String>>
90 InfrastructureConfiguration& WithInstanceTypes(InstanceTypesT&& value) { SetInstanceTypes(std::forward<InstanceTypesT>(value)); return *this;}
91 template<typename InstanceTypesT = Aws::String>
92 InfrastructureConfiguration& AddInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value)); return *this; }
94
96
99 inline const Aws::String& GetInstanceProfileName() const { return m_instanceProfileName; }
100 inline bool InstanceProfileNameHasBeenSet() const { return m_instanceProfileNameHasBeenSet; }
101 template<typename InstanceProfileNameT = Aws::String>
102 void SetInstanceProfileName(InstanceProfileNameT&& value) { m_instanceProfileNameHasBeenSet = true; m_instanceProfileName = std::forward<InstanceProfileNameT>(value); }
103 template<typename InstanceProfileNameT = Aws::String>
104 InfrastructureConfiguration& WithInstanceProfileName(InstanceProfileNameT&& value) { SetInstanceProfileName(std::forward<InstanceProfileNameT>(value)); return *this;}
106
108
111 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
112 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
113 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
114 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
115 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
116 InfrastructureConfiguration& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
117 template<typename SecurityGroupIdsT = Aws::String>
118 InfrastructureConfiguration& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
120
122
125 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
126 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
127 template<typename SubnetIdT = Aws::String>
128 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
129 template<typename SubnetIdT = Aws::String>
130 InfrastructureConfiguration& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
132
134
137 inline const Logging& GetLogging() const { return m_logging; }
138 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
139 template<typename LoggingT = Logging>
140 void SetLogging(LoggingT&& value) { m_loggingHasBeenSet = true; m_logging = std::forward<LoggingT>(value); }
141 template<typename LoggingT = Logging>
142 InfrastructureConfiguration& WithLogging(LoggingT&& value) { SetLogging(std::forward<LoggingT>(value)); return *this;}
144
146
149 inline const Aws::String& GetKeyPair() const { return m_keyPair; }
150 inline bool KeyPairHasBeenSet() const { return m_keyPairHasBeenSet; }
151 template<typename KeyPairT = Aws::String>
152 void SetKeyPair(KeyPairT&& value) { m_keyPairHasBeenSet = true; m_keyPair = std::forward<KeyPairT>(value); }
153 template<typename KeyPairT = Aws::String>
154 InfrastructureConfiguration& WithKeyPair(KeyPairT&& value) { SetKeyPair(std::forward<KeyPairT>(value)); return *this;}
156
158
162 inline bool GetTerminateInstanceOnFailure() const { return m_terminateInstanceOnFailure; }
163 inline bool TerminateInstanceOnFailureHasBeenSet() const { return m_terminateInstanceOnFailureHasBeenSet; }
164 inline void SetTerminateInstanceOnFailure(bool value) { m_terminateInstanceOnFailureHasBeenSet = true; m_terminateInstanceOnFailure = value; }
167
169
176 inline const Aws::String& GetSnsTopicArn() const { return m_snsTopicArn; }
177 inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
178 template<typename SnsTopicArnT = Aws::String>
179 void SetSnsTopicArn(SnsTopicArnT&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::forward<SnsTopicArnT>(value); }
180 template<typename SnsTopicArnT = Aws::String>
181 InfrastructureConfiguration& WithSnsTopicArn(SnsTopicArnT&& value) { SetSnsTopicArn(std::forward<SnsTopicArnT>(value)); return *this;}
183
185
188 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
189 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
190 template<typename DateCreatedT = Aws::String>
191 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::forward<DateCreatedT>(value); }
192 template<typename DateCreatedT = Aws::String>
193 InfrastructureConfiguration& WithDateCreated(DateCreatedT&& value) { SetDateCreated(std::forward<DateCreatedT>(value)); return *this;}
195
197
200 inline const Aws::String& GetDateUpdated() const { return m_dateUpdated; }
201 inline bool DateUpdatedHasBeenSet() const { return m_dateUpdatedHasBeenSet; }
202 template<typename DateUpdatedT = Aws::String>
203 void SetDateUpdated(DateUpdatedT&& value) { m_dateUpdatedHasBeenSet = true; m_dateUpdated = std::forward<DateUpdatedT>(value); }
204 template<typename DateUpdatedT = Aws::String>
205 InfrastructureConfiguration& WithDateUpdated(DateUpdatedT&& value) { SetDateUpdated(std::forward<DateUpdatedT>(value)); return *this;}
207
209
212 inline const Aws::Map<Aws::String, Aws::String>& GetResourceTags() const { return m_resourceTags; }
213 inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; }
214 template<typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
215 void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::forward<ResourceTagsT>(value); }
216 template<typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
217 InfrastructureConfiguration& WithResourceTags(ResourceTagsT&& value) { SetResourceTags(std::forward<ResourceTagsT>(value)); return *this;}
218 template<typename ResourceTagsKeyT = Aws::String, typename ResourceTagsValueT = Aws::String>
219 InfrastructureConfiguration& AddResourceTags(ResourceTagsKeyT&& key, ResourceTagsValueT&& value) {
220 m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value)); return *this;
221 }
223
225
229 inline const InstanceMetadataOptions& GetInstanceMetadataOptions() const { return m_instanceMetadataOptions; }
230 inline bool InstanceMetadataOptionsHasBeenSet() const { return m_instanceMetadataOptionsHasBeenSet; }
231 template<typename InstanceMetadataOptionsT = InstanceMetadataOptions>
232 void SetInstanceMetadataOptions(InstanceMetadataOptionsT&& value) { m_instanceMetadataOptionsHasBeenSet = true; m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value); }
233 template<typename InstanceMetadataOptionsT = InstanceMetadataOptions>
234 InfrastructureConfiguration& WithInstanceMetadataOptions(InstanceMetadataOptionsT&& value) { SetInstanceMetadataOptions(std::forward<InstanceMetadataOptionsT>(value)); return *this;}
236
238
241 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
242 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
243 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
244 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
245 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
246 InfrastructureConfiguration& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
247 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
248 InfrastructureConfiguration& AddTags(TagsKeyT&& key, TagsValueT&& value) {
249 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
250 }
252
254
258 inline const Placement& GetPlacement() const { return m_placement; }
259 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
260 template<typename PlacementT = Placement>
261 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
262 template<typename PlacementT = Placement>
263 InfrastructureConfiguration& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
265 private:
266
267 Aws::String m_arn;
268 bool m_arnHasBeenSet = false;
269
270 Aws::String m_name;
271 bool m_nameHasBeenSet = false;
272
273 Aws::String m_description;
274 bool m_descriptionHasBeenSet = false;
275
276 Aws::Vector<Aws::String> m_instanceTypes;
277 bool m_instanceTypesHasBeenSet = false;
278
279 Aws::String m_instanceProfileName;
280 bool m_instanceProfileNameHasBeenSet = false;
281
282 Aws::Vector<Aws::String> m_securityGroupIds;
283 bool m_securityGroupIdsHasBeenSet = false;
284
285 Aws::String m_subnetId;
286 bool m_subnetIdHasBeenSet = false;
287
288 Logging m_logging;
289 bool m_loggingHasBeenSet = false;
290
291 Aws::String m_keyPair;
292 bool m_keyPairHasBeenSet = false;
293
294 bool m_terminateInstanceOnFailure{false};
295 bool m_terminateInstanceOnFailureHasBeenSet = false;
296
297 Aws::String m_snsTopicArn;
298 bool m_snsTopicArnHasBeenSet = false;
299
300 Aws::String m_dateCreated;
301 bool m_dateCreatedHasBeenSet = false;
302
303 Aws::String m_dateUpdated;
304 bool m_dateUpdatedHasBeenSet = false;
305
307 bool m_resourceTagsHasBeenSet = false;
308
309 InstanceMetadataOptions m_instanceMetadataOptions;
310 bool m_instanceMetadataOptionsHasBeenSet = false;
311
313 bool m_tagsHasBeenSet = false;
314
315 Placement m_placement;
316 bool m_placementHasBeenSet = false;
317 };
318
319} // namespace Model
320} // namespace imagebuilder
321} // namespace Aws
InfrastructureConfiguration & WithResourceTags(ResourceTagsT &&value)
InfrastructureConfiguration & WithDateCreated(DateCreatedT &&value)
InfrastructureConfiguration & WithSnsTopicArn(SnsTopicArnT &&value)
InfrastructureConfiguration & WithSubnetId(SubnetIdT &&value)
InfrastructureConfiguration & WithTerminateInstanceOnFailure(bool value)
const InstanceMetadataOptions & GetInstanceMetadataOptions() const
AWS_IMAGEBUILDER_API InfrastructureConfiguration()=default
InfrastructureConfiguration & AddInstanceTypes(InstanceTypesT &&value)
InfrastructureConfiguration & WithKeyPair(KeyPairT &&value)
const Aws::Map< Aws::String, Aws::String > & GetResourceTags() const
InfrastructureConfiguration & WithLogging(LoggingT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
InfrastructureConfiguration & WithInstanceProfileName(InstanceProfileNameT &&value)
InfrastructureConfiguration & WithInstanceTypes(InstanceTypesT &&value)
InfrastructureConfiguration & WithTags(TagsT &&value)
InfrastructureConfiguration & AddTags(TagsKeyT &&key, TagsValueT &&value)
AWS_IMAGEBUILDER_API InfrastructureConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
InfrastructureConfiguration & WithDescription(DescriptionT &&value)
void SetInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
InfrastructureConfiguration & AddSecurityGroupIds(SecurityGroupIdsT &&value)
InfrastructureConfiguration & WithSecurityGroupIds(SecurityGroupIdsT &&value)
InfrastructureConfiguration & WithName(NameT &&value)
InfrastructureConfiguration & WithPlacement(PlacementT &&value)
const Aws::Vector< Aws::String > & GetInstanceTypes() const
InfrastructureConfiguration & AddResourceTags(ResourceTagsKeyT &&key, ResourceTagsValueT &&value)
AWS_IMAGEBUILDER_API InfrastructureConfiguration(Aws::Utils::Json::JsonView jsonValue)
InfrastructureConfiguration & WithDateUpdated(DateUpdatedT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
InfrastructureConfiguration & WithInstanceMetadataOptions(InstanceMetadataOptionsT &&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
Aws::Utils::Json::JsonValue JsonValue