AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
CreateFleetRequest.h
1
6#pragma once
7#include <aws/appstream/AppStreamRequest.h>
8#include <aws/appstream/AppStream_EXPORTS.h>
9#include <aws/appstream/model/ComputeCapacity.h>
10#include <aws/appstream/model/DomainJoinInfo.h>
11#include <aws/appstream/model/FleetType.h>
12#include <aws/appstream/model/PlatformType.h>
13#include <aws/appstream/model/S3Location.h>
14#include <aws/appstream/model/StreamView.h>
15#include <aws/appstream/model/VolumeConfig.h>
16#include <aws/appstream/model/VpcConfig.h>
17#include <aws/core/utils/memory/stl/AWSMap.h>
18#include <aws/core/utils/memory/stl/AWSString.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
20
21#include <utility>
22
23namespace Aws {
24namespace AppStream {
25namespace Model {
26
30 public:
31 AWS_APPSTREAM_API CreateFleetRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateFleet"; }
38
39 AWS_APPSTREAM_API Aws::String SerializePayload() const override;
40
42
44
47 inline const Aws::String& GetName() const { return m_name; }
48 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
49 template <typename NameT = Aws::String>
50 void SetName(NameT&& value) {
51 m_nameHasBeenSet = true;
52 m_name = std::forward<NameT>(value);
53 }
54 template <typename NameT = Aws::String>
55 CreateFleetRequest& WithName(NameT&& value) {
56 SetName(std::forward<NameT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetImageName() const { return m_imageName; }
66 inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; }
67 template <typename ImageNameT = Aws::String>
68 void SetImageName(ImageNameT&& value) {
69 m_imageNameHasBeenSet = true;
70 m_imageName = std::forward<ImageNameT>(value);
71 }
72 template <typename ImageNameT = Aws::String>
73 CreateFleetRequest& WithImageName(ImageNameT&& value) {
74 SetImageName(std::forward<ImageNameT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::String& GetImageArn() const { return m_imageArn; }
84 inline bool ImageArnHasBeenSet() const { return m_imageArnHasBeenSet; }
85 template <typename ImageArnT = Aws::String>
86 void SetImageArn(ImageArnT&& value) {
87 m_imageArnHasBeenSet = true;
88 m_imageArn = std::forward<ImageArnT>(value);
89 }
90 template <typename ImageArnT = Aws::String>
91 CreateFleetRequest& WithImageArn(ImageArnT&& value) {
92 SetImageArn(std::forward<ImageArnT>(value));
93 return *this;
94 }
96
98
137 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
138 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
139 template <typename InstanceTypeT = Aws::String>
140 void SetInstanceType(InstanceTypeT&& value) {
141 m_instanceTypeHasBeenSet = true;
142 m_instanceType = std::forward<InstanceTypeT>(value);
143 }
144 template <typename InstanceTypeT = Aws::String>
145 CreateFleetRequest& WithInstanceType(InstanceTypeT&& value) {
146 SetInstanceType(std::forward<InstanceTypeT>(value));
147 return *this;
148 }
150
152
161 inline FleetType GetFleetType() const { return m_fleetType; }
162 inline bool FleetTypeHasBeenSet() const { return m_fleetTypeHasBeenSet; }
163 inline void SetFleetType(FleetType value) {
164 m_fleetTypeHasBeenSet = true;
165 m_fleetType = value;
166 }
168 SetFleetType(value);
169 return *this;
170 }
172
174
178 inline const ComputeCapacity& GetComputeCapacity() const { return m_computeCapacity; }
179 inline bool ComputeCapacityHasBeenSet() const { return m_computeCapacityHasBeenSet; }
180 template <typename ComputeCapacityT = ComputeCapacity>
181 void SetComputeCapacity(ComputeCapacityT&& value) {
182 m_computeCapacityHasBeenSet = true;
183 m_computeCapacity = std::forward<ComputeCapacityT>(value);
184 }
185 template <typename ComputeCapacityT = ComputeCapacity>
186 CreateFleetRequest& WithComputeCapacity(ComputeCapacityT&& value) {
187 SetComputeCapacity(std::forward<ComputeCapacityT>(value));
188 return *this;
189 }
191
193
198 inline const VpcConfig& GetVpcConfig() const { return m_vpcConfig; }
199 inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
200 template <typename VpcConfigT = VpcConfig>
201 void SetVpcConfig(VpcConfigT&& value) {
202 m_vpcConfigHasBeenSet = true;
203 m_vpcConfig = std::forward<VpcConfigT>(value);
204 }
205 template <typename VpcConfigT = VpcConfig>
206 CreateFleetRequest& WithVpcConfig(VpcConfigT&& value) {
207 SetVpcConfig(std::forward<VpcConfigT>(value));
208 return *this;
209 }
211
213
221 inline int GetMaxUserDurationInSeconds() const { return m_maxUserDurationInSeconds; }
222 inline bool MaxUserDurationInSecondsHasBeenSet() const { return m_maxUserDurationInSecondsHasBeenSet; }
223 inline void SetMaxUserDurationInSeconds(int value) {
224 m_maxUserDurationInSecondsHasBeenSet = true;
225 m_maxUserDurationInSeconds = value;
226 }
229 return *this;
230 }
232
234
242 inline int GetDisconnectTimeoutInSeconds() const { return m_disconnectTimeoutInSeconds; }
243 inline bool DisconnectTimeoutInSecondsHasBeenSet() const { return m_disconnectTimeoutInSecondsHasBeenSet; }
244 inline void SetDisconnectTimeoutInSeconds(int value) {
245 m_disconnectTimeoutInSecondsHasBeenSet = true;
246 m_disconnectTimeoutInSeconds = value;
247 }
250 return *this;
251 }
253
255
258 inline const Aws::String& GetDescription() const { return m_description; }
259 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
260 template <typename DescriptionT = Aws::String>
261 void SetDescription(DescriptionT&& value) {
262 m_descriptionHasBeenSet = true;
263 m_description = std::forward<DescriptionT>(value);
264 }
265 template <typename DescriptionT = Aws::String>
266 CreateFleetRequest& WithDescription(DescriptionT&& value) {
267 SetDescription(std::forward<DescriptionT>(value));
268 return *this;
269 }
271
273
276 inline const Aws::String& GetDisplayName() const { return m_displayName; }
277 inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; }
278 template <typename DisplayNameT = Aws::String>
279 void SetDisplayName(DisplayNameT&& value) {
280 m_displayNameHasBeenSet = true;
281 m_displayName = std::forward<DisplayNameT>(value);
282 }
283 template <typename DisplayNameT = Aws::String>
284 CreateFleetRequest& WithDisplayName(DisplayNameT&& value) {
285 SetDisplayName(std::forward<DisplayNameT>(value));
286 return *this;
287 }
289
291
294 inline bool GetEnableDefaultInternetAccess() const { return m_enableDefaultInternetAccess; }
295 inline bool EnableDefaultInternetAccessHasBeenSet() const { return m_enableDefaultInternetAccessHasBeenSet; }
296 inline void SetEnableDefaultInternetAccess(bool value) {
297 m_enableDefaultInternetAccessHasBeenSet = true;
298 m_enableDefaultInternetAccess = value;
299 }
302 return *this;
303 }
305
307
312 inline const DomainJoinInfo& GetDomainJoinInfo() const { return m_domainJoinInfo; }
313 inline bool DomainJoinInfoHasBeenSet() const { return m_domainJoinInfoHasBeenSet; }
314 template <typename DomainJoinInfoT = DomainJoinInfo>
315 void SetDomainJoinInfo(DomainJoinInfoT&& value) {
316 m_domainJoinInfoHasBeenSet = true;
317 m_domainJoinInfo = std::forward<DomainJoinInfoT>(value);
318 }
319 template <typename DomainJoinInfoT = DomainJoinInfo>
320 CreateFleetRequest& WithDomainJoinInfo(DomainJoinInfoT&& value) {
321 SetDomainJoinInfo(std::forward<DomainJoinInfoT>(value));
322 return *this;
323 }
325
327
338 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
339 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
340 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
341 void SetTags(TagsT&& value) {
342 m_tagsHasBeenSet = true;
343 m_tags = std::forward<TagsT>(value);
344 }
345 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
346 CreateFleetRequest& WithTags(TagsT&& value) {
347 SetTags(std::forward<TagsT>(value));
348 return *this;
349 }
350 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
351 CreateFleetRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
352 m_tagsHasBeenSet = true;
353 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
354 return *this;
355 }
357
359
381 inline int GetIdleDisconnectTimeoutInSeconds() const { return m_idleDisconnectTimeoutInSeconds; }
382 inline bool IdleDisconnectTimeoutInSecondsHasBeenSet() const { return m_idleDisconnectTimeoutInSecondsHasBeenSet; }
383 inline void SetIdleDisconnectTimeoutInSeconds(int value) {
384 m_idleDisconnectTimeoutInSecondsHasBeenSet = true;
385 m_idleDisconnectTimeoutInSeconds = value;
386 }
389 return *this;
390 }
392
394
407 inline const Aws::String& GetIamRoleArn() const { return m_iamRoleArn; }
408 inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; }
409 template <typename IamRoleArnT = Aws::String>
410 void SetIamRoleArn(IamRoleArnT&& value) {
411 m_iamRoleArnHasBeenSet = true;
412 m_iamRoleArn = std::forward<IamRoleArnT>(value);
413 }
414 template <typename IamRoleArnT = Aws::String>
415 CreateFleetRequest& WithIamRoleArn(IamRoleArnT&& value) {
416 SetIamRoleArn(std::forward<IamRoleArnT>(value));
417 return *this;
418 }
420
422
429 inline StreamView GetStreamView() const { return m_streamView; }
430 inline bool StreamViewHasBeenSet() const { return m_streamViewHasBeenSet; }
431 inline void SetStreamView(StreamView value) {
432 m_streamViewHasBeenSet = true;
433 m_streamView = value;
434 }
436 SetStreamView(value);
437 return *this;
438 }
440
442
446 inline PlatformType GetPlatform() const { return m_platform; }
447 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
448 inline void SetPlatform(PlatformType value) {
449 m_platformHasBeenSet = true;
450 m_platform = value;
451 }
453 SetPlatform(value);
454 return *this;
455 }
457
459
463 inline int GetMaxConcurrentSessions() const { return m_maxConcurrentSessions; }
464 inline bool MaxConcurrentSessionsHasBeenSet() const { return m_maxConcurrentSessionsHasBeenSet; }
465 inline void SetMaxConcurrentSessions(int value) {
466 m_maxConcurrentSessionsHasBeenSet = true;
467 m_maxConcurrentSessions = value;
468 }
471 return *this;
472 }
474
476
481 inline const Aws::Vector<Aws::String>& GetUsbDeviceFilterStrings() const { return m_usbDeviceFilterStrings; }
482 inline bool UsbDeviceFilterStringsHasBeenSet() const { return m_usbDeviceFilterStringsHasBeenSet; }
483 template <typename UsbDeviceFilterStringsT = Aws::Vector<Aws::String>>
484 void SetUsbDeviceFilterStrings(UsbDeviceFilterStringsT&& value) {
485 m_usbDeviceFilterStringsHasBeenSet = true;
486 m_usbDeviceFilterStrings = std::forward<UsbDeviceFilterStringsT>(value);
487 }
488 template <typename UsbDeviceFilterStringsT = Aws::Vector<Aws::String>>
489 CreateFleetRequest& WithUsbDeviceFilterStrings(UsbDeviceFilterStringsT&& value) {
490 SetUsbDeviceFilterStrings(std::forward<UsbDeviceFilterStringsT>(value));
491 return *this;
492 }
493 template <typename UsbDeviceFilterStringsT = Aws::String>
494 CreateFleetRequest& AddUsbDeviceFilterStrings(UsbDeviceFilterStringsT&& value) {
495 m_usbDeviceFilterStringsHasBeenSet = true;
496 m_usbDeviceFilterStrings.emplace_back(std::forward<UsbDeviceFilterStringsT>(value));
497 return *this;
498 }
500
502
506 inline const S3Location& GetSessionScriptS3Location() const { return m_sessionScriptS3Location; }
507 inline bool SessionScriptS3LocationHasBeenSet() const { return m_sessionScriptS3LocationHasBeenSet; }
508 template <typename SessionScriptS3LocationT = S3Location>
509 void SetSessionScriptS3Location(SessionScriptS3LocationT&& value) {
510 m_sessionScriptS3LocationHasBeenSet = true;
511 m_sessionScriptS3Location = std::forward<SessionScriptS3LocationT>(value);
512 }
513 template <typename SessionScriptS3LocationT = S3Location>
514 CreateFleetRequest& WithSessionScriptS3Location(SessionScriptS3LocationT&& value) {
515 SetSessionScriptS3Location(std::forward<SessionScriptS3LocationT>(value));
516 return *this;
517 }
519
521
525 inline int GetMaxSessionsPerInstance() const { return m_maxSessionsPerInstance; }
526 inline bool MaxSessionsPerInstanceHasBeenSet() const { return m_maxSessionsPerInstanceHasBeenSet; }
527 inline void SetMaxSessionsPerInstance(int value) {
528 m_maxSessionsPerInstanceHasBeenSet = true;
529 m_maxSessionsPerInstance = value;
530 }
533 return *this;
534 }
536
538
543 inline const VolumeConfig& GetRootVolumeConfig() const { return m_rootVolumeConfig; }
544 inline bool RootVolumeConfigHasBeenSet() const { return m_rootVolumeConfigHasBeenSet; }
545 template <typename RootVolumeConfigT = VolumeConfig>
546 void SetRootVolumeConfig(RootVolumeConfigT&& value) {
547 m_rootVolumeConfigHasBeenSet = true;
548 m_rootVolumeConfig = std::forward<RootVolumeConfigT>(value);
549 }
550 template <typename RootVolumeConfigT = VolumeConfig>
551 CreateFleetRequest& WithRootVolumeConfig(RootVolumeConfigT&& value) {
552 SetRootVolumeConfig(std::forward<RootVolumeConfigT>(value));
553 return *this;
554 }
556 private:
557 Aws::String m_name;
558
559 Aws::String m_imageName;
560
561 Aws::String m_imageArn;
562
563 Aws::String m_instanceType;
564
565 FleetType m_fleetType{FleetType::NOT_SET};
566
567 ComputeCapacity m_computeCapacity;
568
569 VpcConfig m_vpcConfig;
570
571 int m_maxUserDurationInSeconds{0};
572
573 int m_disconnectTimeoutInSeconds{0};
574
575 Aws::String m_description;
576
577 Aws::String m_displayName;
578
579 bool m_enableDefaultInternetAccess{false};
580
581 DomainJoinInfo m_domainJoinInfo;
582
584
585 int m_idleDisconnectTimeoutInSeconds{0};
586
587 Aws::String m_iamRoleArn;
588
589 StreamView m_streamView{StreamView::NOT_SET};
590
592
593 int m_maxConcurrentSessions{0};
594
595 Aws::Vector<Aws::String> m_usbDeviceFilterStrings;
596
597 S3Location m_sessionScriptS3Location;
598
599 int m_maxSessionsPerInstance{0};
600
601 VolumeConfig m_rootVolumeConfig;
602 bool m_nameHasBeenSet = false;
603 bool m_imageNameHasBeenSet = false;
604 bool m_imageArnHasBeenSet = false;
605 bool m_instanceTypeHasBeenSet = false;
606 bool m_fleetTypeHasBeenSet = false;
607 bool m_computeCapacityHasBeenSet = false;
608 bool m_vpcConfigHasBeenSet = false;
609 bool m_maxUserDurationInSecondsHasBeenSet = false;
610 bool m_disconnectTimeoutInSecondsHasBeenSet = false;
611 bool m_descriptionHasBeenSet = false;
612 bool m_displayNameHasBeenSet = false;
613 bool m_enableDefaultInternetAccessHasBeenSet = false;
614 bool m_domainJoinInfoHasBeenSet = false;
615 bool m_tagsHasBeenSet = false;
616 bool m_idleDisconnectTimeoutInSecondsHasBeenSet = false;
617 bool m_iamRoleArnHasBeenSet = false;
618 bool m_streamViewHasBeenSet = false;
619 bool m_platformHasBeenSet = false;
620 bool m_maxConcurrentSessionsHasBeenSet = false;
621 bool m_usbDeviceFilterStringsHasBeenSet = false;
622 bool m_sessionScriptS3LocationHasBeenSet = false;
623 bool m_maxSessionsPerInstanceHasBeenSet = false;
624 bool m_rootVolumeConfigHasBeenSet = false;
625};
626
627} // namespace Model
628} // namespace AppStream
629} // namespace Aws
CreateFleetRequest & AddUsbDeviceFilterStrings(UsbDeviceFilterStringsT &&value)
CreateFleetRequest & WithRootVolumeConfig(RootVolumeConfigT &&value)
void SetRootVolumeConfig(RootVolumeConfigT &&value)
CreateFleetRequest & WithEnableDefaultInternetAccess(bool value)
CreateFleetRequest & WithDescription(DescriptionT &&value)
CreateFleetRequest & WithTags(TagsT &&value)
CreateFleetRequest & WithComputeCapacity(ComputeCapacityT &&value)
void SetComputeCapacity(ComputeCapacityT &&value)
void SetSessionScriptS3Location(SessionScriptS3LocationT &&value)
CreateFleetRequest & WithPlatform(PlatformType value)
CreateFleetRequest & WithName(NameT &&value)
AWS_APPSTREAM_API CreateFleetRequest()=default
CreateFleetRequest & WithIamRoleArn(IamRoleArnT &&value)
CreateFleetRequest & WithImageName(ImageNameT &&value)
CreateFleetRequest & WithFleetType(FleetType value)
const VolumeConfig & GetRootVolumeConfig() const
CreateFleetRequest & WithMaxConcurrentSessions(int value)
CreateFleetRequest & WithVpcConfig(VpcConfigT &&value)
CreateFleetRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateFleetRequest & WithIdleDisconnectTimeoutInSeconds(int value)
const Aws::Vector< Aws::String > & GetUsbDeviceFilterStrings() const
CreateFleetRequest & WithDomainJoinInfo(DomainJoinInfoT &&value)
CreateFleetRequest & WithMaxUserDurationInSeconds(int value)
AWS_APPSTREAM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateFleetRequest & WithImageArn(ImageArnT &&value)
AWS_APPSTREAM_API Aws::String SerializePayload() const override
void SetUsbDeviceFilterStrings(UsbDeviceFilterStringsT &&value)
virtual const char * GetServiceRequestName() const override
CreateFleetRequest & WithSessionScriptS3Location(SessionScriptS3LocationT &&value)
void SetDomainJoinInfo(DomainJoinInfoT &&value)
CreateFleetRequest & WithUsbDeviceFilterStrings(UsbDeviceFilterStringsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const DomainJoinInfo & GetDomainJoinInfo() const
CreateFleetRequest & WithDisconnectTimeoutInSeconds(int value)
CreateFleetRequest & WithStreamView(StreamView value)
CreateFleetRequest & WithDisplayName(DisplayNameT &&value)
CreateFleetRequest & WithMaxSessionsPerInstance(int value)
const ComputeCapacity & GetComputeCapacity() const
CreateFleetRequest & WithInstanceType(InstanceTypeT &&value)
const S3Location & GetSessionScriptS3Location() const
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