AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
CreateImageBuilderRequest.h
1
6#pragma once
7#include <aws/appstream/AppStreamRequest.h>
8#include <aws/appstream/AppStream_EXPORTS.h>
9#include <aws/appstream/model/AccessEndpoint.h>
10#include <aws/appstream/model/DomainJoinInfo.h>
11#include <aws/appstream/model/VolumeConfig.h>
12#include <aws/appstream/model/VpcConfig.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace AppStream {
21namespace Model {
22
26 public:
27 AWS_APPSTREAM_API CreateImageBuilderRequest() = 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 "CreateImageBuilder"; }
34
35 AWS_APPSTREAM_API Aws::String SerializePayload() const override;
36
38
40
43 inline const Aws::String& GetName() const { return m_name; }
44 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
45 template <typename NameT = Aws::String>
46 void SetName(NameT&& value) {
47 m_nameHasBeenSet = true;
48 m_name = std::forward<NameT>(value);
49 }
50 template <typename NameT = Aws::String>
52 SetName(std::forward<NameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetImageName() const { return m_imageName; }
62 inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; }
63 template <typename ImageNameT = Aws::String>
64 void SetImageName(ImageNameT&& value) {
65 m_imageNameHasBeenSet = true;
66 m_imageName = std::forward<ImageNameT>(value);
67 }
68 template <typename ImageNameT = Aws::String>
70 SetImageName(std::forward<ImageNameT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::String& GetImageArn() const { return m_imageArn; }
80 inline bool ImageArnHasBeenSet() const { return m_imageArnHasBeenSet; }
81 template <typename ImageArnT = Aws::String>
82 void SetImageArn(ImageArnT&& value) {
83 m_imageArnHasBeenSet = true;
84 m_imageArn = std::forward<ImageArnT>(value);
85 }
86 template <typename ImageArnT = Aws::String>
88 SetImageArn(std::forward<ImageArnT>(value));
89 return *this;
90 }
92
94
128 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
129 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
130 template <typename InstanceTypeT = Aws::String>
131 void SetInstanceType(InstanceTypeT&& value) {
132 m_instanceTypeHasBeenSet = true;
133 m_instanceType = std::forward<InstanceTypeT>(value);
134 }
135 template <typename InstanceTypeT = Aws::String>
137 SetInstanceType(std::forward<InstanceTypeT>(value));
138 return *this;
139 }
141
143
146 inline const Aws::String& GetDescription() const { return m_description; }
147 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
148 template <typename DescriptionT = Aws::String>
149 void SetDescription(DescriptionT&& value) {
150 m_descriptionHasBeenSet = true;
151 m_description = std::forward<DescriptionT>(value);
152 }
153 template <typename DescriptionT = Aws::String>
155 SetDescription(std::forward<DescriptionT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::String& GetDisplayName() const { return m_displayName; }
165 inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; }
166 template <typename DisplayNameT = Aws::String>
167 void SetDisplayName(DisplayNameT&& value) {
168 m_displayNameHasBeenSet = true;
169 m_displayName = std::forward<DisplayNameT>(value);
170 }
171 template <typename DisplayNameT = Aws::String>
173 SetDisplayName(std::forward<DisplayNameT>(value));
174 return *this;
175 }
177
179
183 inline const VpcConfig& GetVpcConfig() const { return m_vpcConfig; }
184 inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
185 template <typename VpcConfigT = VpcConfig>
186 void SetVpcConfig(VpcConfigT&& value) {
187 m_vpcConfigHasBeenSet = true;
188 m_vpcConfig = std::forward<VpcConfigT>(value);
189 }
190 template <typename VpcConfigT = VpcConfig>
192 SetVpcConfig(std::forward<VpcConfigT>(value));
193 return *this;
194 }
196
198
211 inline const Aws::String& GetIamRoleArn() const { return m_iamRoleArn; }
212 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; }
213 template <typename IamRoleArnT = Aws::String>
214 void SetIamRoleArn(IamRoleArnT&& value) {
215 m_iamRoleArnHasBeenSet = true;
216 m_iamRoleArn = std::forward<IamRoleArnT>(value);
217 }
218 template <typename IamRoleArnT = Aws::String>
220 SetIamRoleArn(std::forward<IamRoleArnT>(value));
221 return *this;
222 }
224
226
229 inline bool GetEnableDefaultInternetAccess() const { return m_enableDefaultInternetAccess; }
230 inline bool EnableDefaultInternetAccessHasBeenSet() const { return m_enableDefaultInternetAccessHasBeenSet; }
231 inline void SetEnableDefaultInternetAccess(bool value) {
232 m_enableDefaultInternetAccessHasBeenSet = true;
233 m_enableDefaultInternetAccess = value;
234 }
237 return *this;
238 }
240
242
246 inline const DomainJoinInfo& GetDomainJoinInfo() const { return m_domainJoinInfo; }
247 inline bool DomainJoinInfoHasBeenSet() const { return m_domainJoinInfoHasBeenSet; }
248 template <typename DomainJoinInfoT = DomainJoinInfo>
249 void SetDomainJoinInfo(DomainJoinInfoT&& value) {
250 m_domainJoinInfoHasBeenSet = true;
251 m_domainJoinInfo = std::forward<DomainJoinInfoT>(value);
252 }
253 template <typename DomainJoinInfoT = DomainJoinInfo>
255 SetDomainJoinInfo(std::forward<DomainJoinInfoT>(value));
256 return *this;
257 }
259
261
266 inline const Aws::String& GetAppstreamAgentVersion() const { return m_appstreamAgentVersion; }
267 inline bool AppstreamAgentVersionHasBeenSet() const { return m_appstreamAgentVersionHasBeenSet; }
268 template <typename AppstreamAgentVersionT = Aws::String>
269 void SetAppstreamAgentVersion(AppstreamAgentVersionT&& value) {
270 m_appstreamAgentVersionHasBeenSet = true;
271 m_appstreamAgentVersion = std::forward<AppstreamAgentVersionT>(value);
272 }
273 template <typename AppstreamAgentVersionT = Aws::String>
274 CreateImageBuilderRequest& WithAppstreamAgentVersion(AppstreamAgentVersionT&& value) {
275 SetAppstreamAgentVersion(std::forward<AppstreamAgentVersionT>(value));
276 return *this;
277 }
279
281
292 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
293 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
294 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
295 void SetTags(TagsT&& value) {
296 m_tagsHasBeenSet = true;
297 m_tags = std::forward<TagsT>(value);
298 }
299 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
301 SetTags(std::forward<TagsT>(value));
302 return *this;
303 }
304 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
305 CreateImageBuilderRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
306 m_tagsHasBeenSet = true;
307 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
308 return *this;
309 }
311
313
318 inline const Aws::Vector<AccessEndpoint>& GetAccessEndpoints() const { return m_accessEndpoints; }
319 inline bool AccessEndpointsHasBeenSet() const { return m_accessEndpointsHasBeenSet; }
320 template <typename AccessEndpointsT = Aws::Vector<AccessEndpoint>>
321 void SetAccessEndpoints(AccessEndpointsT&& value) {
322 m_accessEndpointsHasBeenSet = true;
323 m_accessEndpoints = std::forward<AccessEndpointsT>(value);
324 }
325 template <typename AccessEndpointsT = Aws::Vector<AccessEndpoint>>
327 SetAccessEndpoints(std::forward<AccessEndpointsT>(value));
328 return *this;
329 }
330 template <typename AccessEndpointsT = AccessEndpoint>
332 m_accessEndpointsHasBeenSet = true;
333 m_accessEndpoints.emplace_back(std::forward<AccessEndpointsT>(value));
334 return *this;
335 }
337
339
344 inline const VolumeConfig& GetRootVolumeConfig() const { return m_rootVolumeConfig; }
345 inline bool RootVolumeConfigHasBeenSet() const { return m_rootVolumeConfigHasBeenSet; }
346 template <typename RootVolumeConfigT = VolumeConfig>
347 void SetRootVolumeConfig(RootVolumeConfigT&& value) {
348 m_rootVolumeConfigHasBeenSet = true;
349 m_rootVolumeConfig = std::forward<RootVolumeConfigT>(value);
350 }
351 template <typename RootVolumeConfigT = VolumeConfig>
353 SetRootVolumeConfig(std::forward<RootVolumeConfigT>(value));
354 return *this;
355 }
357
359
387 inline const Aws::Vector<Aws::String>& GetSoftwaresToInstall() const { return m_softwaresToInstall; }
388 inline bool SoftwaresToInstallHasBeenSet() const { return m_softwaresToInstallHasBeenSet; }
389 template <typename SoftwaresToInstallT = Aws::Vector<Aws::String>>
390 void SetSoftwaresToInstall(SoftwaresToInstallT&& value) {
391 m_softwaresToInstallHasBeenSet = true;
392 m_softwaresToInstall = std::forward<SoftwaresToInstallT>(value);
393 }
394 template <typename SoftwaresToInstallT = Aws::Vector<Aws::String>>
395 CreateImageBuilderRequest& WithSoftwaresToInstall(SoftwaresToInstallT&& value) {
396 SetSoftwaresToInstall(std::forward<SoftwaresToInstallT>(value));
397 return *this;
398 }
399 template <typename SoftwaresToInstallT = Aws::String>
400 CreateImageBuilderRequest& AddSoftwaresToInstall(SoftwaresToInstallT&& value) {
401 m_softwaresToInstallHasBeenSet = true;
402 m_softwaresToInstall.emplace_back(std::forward<SoftwaresToInstallT>(value));
403 return *this;
404 }
406
408
436 inline const Aws::Vector<Aws::String>& GetSoftwaresToUninstall() const { return m_softwaresToUninstall; }
437 inline bool SoftwaresToUninstallHasBeenSet() const { return m_softwaresToUninstallHasBeenSet; }
438 template <typename SoftwaresToUninstallT = Aws::Vector<Aws::String>>
439 void SetSoftwaresToUninstall(SoftwaresToUninstallT&& value) {
440 m_softwaresToUninstallHasBeenSet = true;
441 m_softwaresToUninstall = std::forward<SoftwaresToUninstallT>(value);
442 }
443 template <typename SoftwaresToUninstallT = Aws::Vector<Aws::String>>
444 CreateImageBuilderRequest& WithSoftwaresToUninstall(SoftwaresToUninstallT&& value) {
445 SetSoftwaresToUninstall(std::forward<SoftwaresToUninstallT>(value));
446 return *this;
447 }
448 template <typename SoftwaresToUninstallT = Aws::String>
449 CreateImageBuilderRequest& AddSoftwaresToUninstall(SoftwaresToUninstallT&& value) {
450 m_softwaresToUninstallHasBeenSet = true;
451 m_softwaresToUninstall.emplace_back(std::forward<SoftwaresToUninstallT>(value));
452 return *this;
453 }
455 private:
456 Aws::String m_name;
457
458 Aws::String m_imageName;
459
460 Aws::String m_imageArn;
461
462 Aws::String m_instanceType;
463
464 Aws::String m_description;
465
466 Aws::String m_displayName;
467
468 VpcConfig m_vpcConfig;
469
470 Aws::String m_iamRoleArn;
471
472 bool m_enableDefaultInternetAccess{false};
473
474 DomainJoinInfo m_domainJoinInfo;
475
476 Aws::String m_appstreamAgentVersion;
477
479
480 Aws::Vector<AccessEndpoint> m_accessEndpoints;
481
482 VolumeConfig m_rootVolumeConfig;
483
484 Aws::Vector<Aws::String> m_softwaresToInstall;
485
486 Aws::Vector<Aws::String> m_softwaresToUninstall;
487 bool m_nameHasBeenSet = false;
488 bool m_imageNameHasBeenSet = false;
489 bool m_imageArnHasBeenSet = false;
490 bool m_instanceTypeHasBeenSet = false;
491 bool m_descriptionHasBeenSet = false;
492 bool m_displayNameHasBeenSet = false;
493 bool m_vpcConfigHasBeenSet = false;
494 bool m_iamRoleArnHasBeenSet = false;
495 bool m_enableDefaultInternetAccessHasBeenSet = false;
496 bool m_domainJoinInfoHasBeenSet = false;
497 bool m_appstreamAgentVersionHasBeenSet = false;
498 bool m_tagsHasBeenSet = false;
499 bool m_accessEndpointsHasBeenSet = false;
500 bool m_rootVolumeConfigHasBeenSet = false;
501 bool m_softwaresToInstallHasBeenSet = false;
502 bool m_softwaresToUninstallHasBeenSet = false;
503};
504
505} // namespace Model
506} // namespace AppStream
507} // namespace Aws
CreateImageBuilderRequest & WithDomainJoinInfo(DomainJoinInfoT &&value)
CreateImageBuilderRequest & WithAccessEndpoints(AccessEndpointsT &&value)
AWS_APPSTREAM_API CreateImageBuilderRequest()=default
CreateImageBuilderRequest & WithDisplayName(DisplayNameT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateImageBuilderRequest & WithImageArn(ImageArnT &&value)
CreateImageBuilderRequest & WithName(NameT &&value)
const Aws::Vector< Aws::String > & GetSoftwaresToUninstall() const
CreateImageBuilderRequest & WithIamRoleArn(IamRoleArnT &&value)
CreateImageBuilderRequest & AddSoftwaresToUninstall(SoftwaresToUninstallT &&value)
const Aws::Vector< AccessEndpoint > & GetAccessEndpoints() const
CreateImageBuilderRequest & WithAppstreamAgentVersion(AppstreamAgentVersionT &&value)
CreateImageBuilderRequest & WithImageName(ImageNameT &&value)
const Aws::Vector< Aws::String > & GetSoftwaresToInstall() const
CreateImageBuilderRequest & WithVpcConfig(VpcConfigT &&value)
CreateImageBuilderRequest & WithEnableDefaultInternetAccess(bool value)
CreateImageBuilderRequest & WithRootVolumeConfig(RootVolumeConfigT &&value)
CreateImageBuilderRequest & AddSoftwaresToInstall(SoftwaresToInstallT &&value)
CreateImageBuilderRequest & WithDescription(DescriptionT &&value)
CreateImageBuilderRequest & AddAccessEndpoints(AccessEndpointsT &&value)
AWS_APPSTREAM_API Aws::String SerializePayload() const override
CreateImageBuilderRequest & WithSoftwaresToUninstall(SoftwaresToUninstallT &&value)
CreateImageBuilderRequest & WithInstanceType(InstanceTypeT &&value)
void SetSoftwaresToUninstall(SoftwaresToUninstallT &&value)
CreateImageBuilderRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
CreateImageBuilderRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetAppstreamAgentVersion(AppstreamAgentVersionT &&value)
AWS_APPSTREAM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateImageBuilderRequest & WithSoftwaresToInstall(SoftwaresToInstallT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
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