AWS SDK for C++

AWS SDK for C++ Version 1.11.902

Loading...
Searching...
No Matches
Component.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
11#include <aws/imagebuilder/model/ComponentParameterDetail.h>
12#include <aws/imagebuilder/model/ComponentState.h>
13#include <aws/imagebuilder/model/ComponentType.h>
14#include <aws/imagebuilder/model/Platform.h>
15#include <aws/imagebuilder/model/ProductCodeListItem.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace imagebuilder {
27namespace Model {
28
34class Component {
35 public:
36 AWS_IMAGEBUILDER_API Component() = default;
37 AWS_IMAGEBUILDER_API Component(Aws::Utils::Json::JsonView jsonValue);
38 AWS_IMAGEBUILDER_API Component& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetArn() const { return m_arn; }
46 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
47 template <typename ArnT = Aws::String>
48 void SetArn(ArnT&& value) {
49 m_arnHasBeenSet = true;
50 m_arn = std::forward<ArnT>(value);
51 }
52 template <typename ArnT = Aws::String>
53 Component& WithArn(ArnT&& value) {
54 SetArn(std::forward<ArnT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
71 Component& WithName(NameT&& value) {
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetVersion() const { return m_version; }
82 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
83 template <typename VersionT = Aws::String>
84 void SetVersion(VersionT&& value) {
85 m_versionHasBeenSet = true;
86 m_version = std::forward<VersionT>(value);
87 }
88 template <typename VersionT = Aws::String>
89 Component& WithVersion(VersionT&& value) {
90 SetVersion(std::forward<VersionT>(value));
91 return *this;
92 }
94
96
99 inline const Aws::String& GetDescription() const { return m_description; }
100 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
101 template <typename DescriptionT = Aws::String>
102 void SetDescription(DescriptionT&& value) {
103 m_descriptionHasBeenSet = true;
104 m_description = std::forward<DescriptionT>(value);
105 }
106 template <typename DescriptionT = Aws::String>
107 Component& WithDescription(DescriptionT&& value) {
108 SetDescription(std::forward<DescriptionT>(value));
109 return *this;
110 }
112
114
118 inline const Aws::String& GetChangeDescription() const { return m_changeDescription; }
119 inline bool ChangeDescriptionHasBeenSet() const { return m_changeDescriptionHasBeenSet; }
120 template <typename ChangeDescriptionT = Aws::String>
121 void SetChangeDescription(ChangeDescriptionT&& value) {
122 m_changeDescriptionHasBeenSet = true;
123 m_changeDescription = std::forward<ChangeDescriptionT>(value);
124 }
125 template <typename ChangeDescriptionT = Aws::String>
126 Component& WithChangeDescription(ChangeDescriptionT&& value) {
127 SetChangeDescription(std::forward<ChangeDescriptionT>(value));
128 return *this;
129 }
131
133
137 inline ComponentType GetType() const { return m_type; }
138 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
139 inline void SetType(ComponentType value) {
140 m_typeHasBeenSet = true;
141 m_type = value;
142 }
144 SetType(value);
145 return *this;
146 }
148
150
153 inline Platform GetPlatform() const { return m_platform; }
154 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
155 inline void SetPlatform(Platform value) {
156 m_platformHasBeenSet = true;
157 m_platform = value;
158 }
160 SetPlatform(value);
161 return *this;
162 }
164
166
171 inline const Aws::Vector<Aws::String>& GetSupportedOsVersions() const { return m_supportedOsVersions; }
172 inline bool SupportedOsVersionsHasBeenSet() const { return m_supportedOsVersionsHasBeenSet; }
173 template <typename SupportedOsVersionsT = Aws::Vector<Aws::String>>
174 void SetSupportedOsVersions(SupportedOsVersionsT&& value) {
175 m_supportedOsVersionsHasBeenSet = true;
176 m_supportedOsVersions = std::forward<SupportedOsVersionsT>(value);
177 }
178 template <typename SupportedOsVersionsT = Aws::Vector<Aws::String>>
179 Component& WithSupportedOsVersions(SupportedOsVersionsT&& value) {
180 SetSupportedOsVersions(std::forward<SupportedOsVersionsT>(value));
181 return *this;
182 }
183 template <typename SupportedOsVersionsT = Aws::String>
184 Component& AddSupportedOsVersions(SupportedOsVersionsT&& value) {
185 m_supportedOsVersionsHasBeenSet = true;
186 m_supportedOsVersions.emplace_back(std::forward<SupportedOsVersionsT>(value));
187 return *this;
188 }
190
192
195 inline const ComponentState& GetState() const { return m_state; }
196 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
197 template <typename StateT = ComponentState>
198 void SetState(StateT&& value) {
199 m_stateHasBeenSet = true;
200 m_state = std::forward<StateT>(value);
201 }
202 template <typename StateT = ComponentState>
203 Component& WithState(StateT&& value) {
204 SetState(std::forward<StateT>(value));
205 return *this;
206 }
208
210
214 inline const Aws::Vector<ComponentParameterDetail>& GetParameters() const { return m_parameters; }
215 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
216 template <typename ParametersT = Aws::Vector<ComponentParameterDetail>>
217 void SetParameters(ParametersT&& value) {
218 m_parametersHasBeenSet = true;
219 m_parameters = std::forward<ParametersT>(value);
220 }
221 template <typename ParametersT = Aws::Vector<ComponentParameterDetail>>
222 Component& WithParameters(ParametersT&& value) {
223 SetParameters(std::forward<ParametersT>(value));
224 return *this;
225 }
226 template <typename ParametersT = ComponentParameterDetail>
227 Component& AddParameters(ParametersT&& value) {
228 m_parametersHasBeenSet = true;
229 m_parameters.emplace_back(std::forward<ParametersT>(value));
230 return *this;
231 }
233
235
240 inline const Aws::String& GetOwner() const { return m_owner; }
241 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
242 template <typename OwnerT = Aws::String>
243 void SetOwner(OwnerT&& value) {
244 m_ownerHasBeenSet = true;
245 m_owner = std::forward<OwnerT>(value);
246 }
247 template <typename OwnerT = Aws::String>
248 Component& WithOwner(OwnerT&& value) {
249 SetOwner(std::forward<OwnerT>(value));
250 return *this;
251 }
253
255
258 inline const Aws::String& GetData() const { return m_data; }
259 inline bool DataHasBeenSet() const { return m_dataHasBeenSet; }
260 template <typename DataT = Aws::String>
261 void SetData(DataT&& value) {
262 m_dataHasBeenSet = true;
263 m_data = std::forward<DataT>(value);
264 }
265 template <typename DataT = Aws::String>
266 Component& WithData(DataT&& value) {
267 SetData(std::forward<DataT>(value));
268 return *this;
269 }
271
273
280 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
281 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
282 template <typename KmsKeyIdT = Aws::String>
283 void SetKmsKeyId(KmsKeyIdT&& value) {
284 m_kmsKeyIdHasBeenSet = true;
285 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
286 }
287 template <typename KmsKeyIdT = Aws::String>
288 Component& WithKmsKeyId(KmsKeyIdT&& value) {
289 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
290 return *this;
291 }
293
295
300 inline bool GetEncrypted() const { return m_encrypted; }
301 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
302 inline void SetEncrypted(bool value) {
303 m_encryptedHasBeenSet = true;
304 m_encrypted = value;
305 }
306 inline Component& WithEncrypted(bool value) {
307 SetEncrypted(value);
308 return *this;
309 }
311
313
316 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
317 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
318 template <typename DateCreatedT = Aws::String>
319 void SetDateCreated(DateCreatedT&& value) {
320 m_dateCreatedHasBeenSet = true;
321 m_dateCreated = std::forward<DateCreatedT>(value);
322 }
323 template <typename DateCreatedT = Aws::String>
324 Component& WithDateCreated(DateCreatedT&& value) {
325 SetDateCreated(std::forward<DateCreatedT>(value));
326 return *this;
327 }
329
331
334 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
335 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
336 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
337 void SetTags(TagsT&& value) {
338 m_tagsHasBeenSet = true;
339 m_tags = std::forward<TagsT>(value);
340 }
341 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
342 Component& WithTags(TagsT&& value) {
343 SetTags(std::forward<TagsT>(value));
344 return *this;
345 }
346 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
347 Component& AddTags(TagsKeyT&& key, TagsValueT&& value) {
348 m_tagsHasBeenSet = true;
349 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
350 return *this;
351 }
353
355
359 inline const Aws::String& GetPublisher() const { return m_publisher; }
360 inline bool PublisherHasBeenSet() const { return m_publisherHasBeenSet; }
361 template <typename PublisherT = Aws::String>
362 void SetPublisher(PublisherT&& value) {
363 m_publisherHasBeenSet = true;
364 m_publisher = std::forward<PublisherT>(value);
365 }
366 template <typename PublisherT = Aws::String>
367 Component& WithPublisher(PublisherT&& value) {
368 SetPublisher(std::forward<PublisherT>(value));
369 return *this;
370 }
372
374
378 inline bool GetObfuscate() const { return m_obfuscate; }
379 inline bool ObfuscateHasBeenSet() const { return m_obfuscateHasBeenSet; }
380 inline void SetObfuscate(bool value) {
381 m_obfuscateHasBeenSet = true;
382 m_obfuscate = value;
383 }
384 inline Component& WithObfuscate(bool value) {
385 SetObfuscate(value);
386 return *this;
387 }
389
391
395 inline const Aws::Vector<ProductCodeListItem>& GetProductCodes() const { return m_productCodes; }
396 inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; }
397 template <typename ProductCodesT = Aws::Vector<ProductCodeListItem>>
398 void SetProductCodes(ProductCodesT&& value) {
399 m_productCodesHasBeenSet = true;
400 m_productCodes = std::forward<ProductCodesT>(value);
401 }
402 template <typename ProductCodesT = Aws::Vector<ProductCodeListItem>>
403 Component& WithProductCodes(ProductCodesT&& value) {
404 SetProductCodes(std::forward<ProductCodesT>(value));
405 return *this;
406 }
407 template <typename ProductCodesT = ProductCodeListItem>
408 Component& AddProductCodes(ProductCodesT&& value) {
409 m_productCodesHasBeenSet = true;
410 m_productCodes.emplace_back(std::forward<ProductCodesT>(value));
411 return *this;
412 }
414 private:
415 Aws::String m_arn;
416
417 Aws::String m_name;
418
419 Aws::String m_version;
420
421 Aws::String m_description;
422
423 Aws::String m_changeDescription;
424
426
427 Platform m_platform{Platform::NOT_SET};
428
429 Aws::Vector<Aws::String> m_supportedOsVersions;
430
431 ComponentState m_state;
432
434
435 Aws::String m_owner;
436
437 Aws::String m_data;
438
439 Aws::String m_kmsKeyId;
440
441 bool m_encrypted{false};
442
443 Aws::String m_dateCreated;
444
446
447 Aws::String m_publisher;
448
449 bool m_obfuscate{false};
450
452 bool m_arnHasBeenSet = false;
453 bool m_nameHasBeenSet = false;
454 bool m_versionHasBeenSet = false;
455 bool m_descriptionHasBeenSet = false;
456 bool m_changeDescriptionHasBeenSet = false;
457 bool m_typeHasBeenSet = false;
458 bool m_platformHasBeenSet = false;
459 bool m_supportedOsVersionsHasBeenSet = false;
460 bool m_stateHasBeenSet = false;
461 bool m_parametersHasBeenSet = false;
462 bool m_ownerHasBeenSet = false;
463 bool m_dataHasBeenSet = false;
464 bool m_kmsKeyIdHasBeenSet = false;
465 bool m_encryptedHasBeenSet = false;
466 bool m_dateCreatedHasBeenSet = false;
467 bool m_tagsHasBeenSet = false;
468 bool m_publisherHasBeenSet = false;
469 bool m_obfuscateHasBeenSet = false;
470 bool m_productCodesHasBeenSet = false;
471};
472
473} // namespace Model
474} // namespace imagebuilder
475} // namespace Aws
const Aws::String & GetName() const
Definition Component.h:63
AWS_IMAGEBUILDER_API Component & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetSupportedOsVersions() const
Definition Component.h:171
const Aws::String & GetDescription() const
Definition Component.h:99
void SetState(StateT &&value)
Definition Component.h:198
void SetKmsKeyId(KmsKeyIdT &&value)
Definition Component.h:283
Component & WithPlatform(Platform value)
Definition Component.h:159
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Component.h:334
const Aws::String & GetKmsKeyId() const
Definition Component.h:280
Component & WithType(ComponentType value)
Definition Component.h:143
const Aws::String & GetArn() const
Definition Component.h:45
Component & WithName(NameT &&value)
Definition Component.h:71
Component & WithDescription(DescriptionT &&value)
Definition Component.h:107
Component & WithVersion(VersionT &&value)
Definition Component.h:89
Component & WithEncrypted(bool value)
Definition Component.h:306
const Aws::String & GetDateCreated() const
Definition Component.h:316
Component & WithTags(TagsT &&value)
Definition Component.h:342
Component & WithKmsKeyId(KmsKeyIdT &&value)
Definition Component.h:288
Component & WithArn(ArnT &&value)
Definition Component.h:53
Component & WithChangeDescription(ChangeDescriptionT &&value)
Definition Component.h:126
Component & WithOwner(OwnerT &&value)
Definition Component.h:248
Component & WithProductCodes(ProductCodesT &&value)
Definition Component.h:403
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
Component & WithState(StateT &&value)
Definition Component.h:203
Component & WithObfuscate(bool value)
Definition Component.h:384
void SetPublisher(PublisherT &&value)
Definition Component.h:362
Component & WithDateCreated(DateCreatedT &&value)
Definition Component.h:324
const Aws::String & GetPublisher() const
Definition Component.h:359
const Aws::Vector< ProductCodeListItem > & GetProductCodes() const
Definition Component.h:395
void SetDescription(DescriptionT &&value)
Definition Component.h:102
void SetSupportedOsVersions(SupportedOsVersionsT &&value)
Definition Component.h:174
AWS_IMAGEBUILDER_API Component()=default
Component & WithParameters(ParametersT &&value)
Definition Component.h:222
ComponentType GetType() const
Definition Component.h:137
const Aws::String & GetChangeDescription() const
Definition Component.h:118
void SetDateCreated(DateCreatedT &&value)
Definition Component.h:319
const Aws::String & GetVersion() const
Definition Component.h:81
Component & WithData(DataT &&value)
Definition Component.h:266
const Aws::String & GetData() const
Definition Component.h:258
const Aws::String & GetOwner() const
Definition Component.h:240
void SetPlatform(Platform value)
Definition Component.h:155
const Aws::Vector< ComponentParameterDetail > & GetParameters() const
Definition Component.h:214
Component & AddProductCodes(ProductCodesT &&value)
Definition Component.h:408
AWS_IMAGEBUILDER_API Component(Aws::Utils::Json::JsonView jsonValue)
void SetParameters(ParametersT &&value)
Definition Component.h:217
void SetType(ComponentType value)
Definition Component.h:139
void SetOwner(OwnerT &&value)
Definition Component.h:243
void SetChangeDescription(ChangeDescriptionT &&value)
Definition Component.h:121
void SetVersion(VersionT &&value)
Definition Component.h:84
Component & WithSupportedOsVersions(SupportedOsVersionsT &&value)
Definition Component.h:179
Component & AddParameters(ParametersT &&value)
Definition Component.h:227
Component & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Component.h:347
void SetProductCodes(ProductCodesT &&value)
Definition Component.h:398
Component & WithPublisher(PublisherT &&value)
Definition Component.h:367
const ComponentState & GetState() const
Definition Component.h:195
Component & AddSupportedOsVersions(SupportedOsVersionsT &&value)
Definition Component.h:184
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