AWS SDK for C++

AWS SDK for C++ Version 1.11.783

Loading...
Searching...
No Matches
ServiceManagedEc2FleetConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/deadline/Deadline_EXPORTS.h>
9#include <aws/deadline/model/ServiceManagedEc2AutoScalingConfiguration.h>
10#include <aws/deadline/model/ServiceManagedEc2InstanceCapabilities.h>
11#include <aws/deadline/model/ServiceManagedEc2InstanceMarketOptions.h>
12#include <aws/deadline/model/VpcConfiguration.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace deadline {
24namespace Model {
25
33 public:
34 AWS_DEADLINE_API ServiceManagedEc2FleetConfiguration() = default;
37 AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const ServiceManagedEc2InstanceCapabilities& GetInstanceCapabilities() const { return m_instanceCapabilities; }
44 inline bool InstanceCapabilitiesHasBeenSet() const { return m_instanceCapabilitiesHasBeenSet; }
45 template <typename InstanceCapabilitiesT = ServiceManagedEc2InstanceCapabilities>
46 void SetInstanceCapabilities(InstanceCapabilitiesT&& value) {
47 m_instanceCapabilitiesHasBeenSet = true;
48 m_instanceCapabilities = std::forward<InstanceCapabilitiesT>(value);
49 }
50 template <typename InstanceCapabilitiesT = ServiceManagedEc2InstanceCapabilities>
52 SetInstanceCapabilities(std::forward<InstanceCapabilitiesT>(value));
53 return *this;
54 }
56
58
61 inline const ServiceManagedEc2InstanceMarketOptions& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
62 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
63 template <typename InstanceMarketOptionsT = ServiceManagedEc2InstanceMarketOptions>
64 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) {
65 m_instanceMarketOptionsHasBeenSet = true;
66 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
67 }
68 template <typename InstanceMarketOptionsT = ServiceManagedEc2InstanceMarketOptions>
70 SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value));
71 return *this;
72 }
74
76
79 inline const VpcConfiguration& GetVpcConfiguration() const { return m_vpcConfiguration; }
80 inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; }
81 template <typename VpcConfigurationT = VpcConfiguration>
82 void SetVpcConfiguration(VpcConfigurationT&& value) {
83 m_vpcConfigurationHasBeenSet = true;
84 m_vpcConfiguration = std::forward<VpcConfigurationT>(value);
85 }
86 template <typename VpcConfigurationT = VpcConfiguration>
88 SetVpcConfiguration(std::forward<VpcConfigurationT>(value));
89 return *this;
90 }
92
94
97 inline const Aws::String& GetStorageProfileId() const { return m_storageProfileId; }
98 inline bool StorageProfileIdHasBeenSet() const { return m_storageProfileIdHasBeenSet; }
99 template <typename StorageProfileIdT = Aws::String>
100 void SetStorageProfileId(StorageProfileIdT&& value) {
101 m_storageProfileIdHasBeenSet = true;
102 m_storageProfileId = std::forward<StorageProfileIdT>(value);
103 }
104 template <typename StorageProfileIdT = Aws::String>
106 SetStorageProfileId(std::forward<StorageProfileIdT>(value));
107 return *this;
108 }
110
112
116 inline const ServiceManagedEc2AutoScalingConfiguration& GetAutoScalingConfiguration() const { return m_autoScalingConfiguration; }
117 inline bool AutoScalingConfigurationHasBeenSet() const { return m_autoScalingConfigurationHasBeenSet; }
118 template <typename AutoScalingConfigurationT = ServiceManagedEc2AutoScalingConfiguration>
119 void SetAutoScalingConfiguration(AutoScalingConfigurationT&& value) {
120 m_autoScalingConfigurationHasBeenSet = true;
121 m_autoScalingConfiguration = std::forward<AutoScalingConfigurationT>(value);
122 }
123 template <typename AutoScalingConfigurationT = ServiceManagedEc2AutoScalingConfiguration>
125 SetAutoScalingConfiguration(std::forward<AutoScalingConfigurationT>(value));
126 return *this;
127 }
129 private:
130 ServiceManagedEc2InstanceCapabilities m_instanceCapabilities;
131
132 ServiceManagedEc2InstanceMarketOptions m_instanceMarketOptions;
133
134 VpcConfiguration m_vpcConfiguration;
135
136 Aws::String m_storageProfileId;
137
138 ServiceManagedEc2AutoScalingConfiguration m_autoScalingConfiguration;
139 bool m_instanceCapabilitiesHasBeenSet = false;
140 bool m_instanceMarketOptionsHasBeenSet = false;
141 bool m_vpcConfigurationHasBeenSet = false;
142 bool m_storageProfileIdHasBeenSet = false;
143 bool m_autoScalingConfigurationHasBeenSet = false;
144};
145
146} // namespace Model
147} // namespace deadline
148} // namespace Aws
ServiceManagedEc2FleetConfiguration & WithVpcConfiguration(VpcConfigurationT &&value)
ServiceManagedEc2FleetConfiguration & WithInstanceCapabilities(InstanceCapabilitiesT &&value)
ServiceManagedEc2FleetConfiguration & WithStorageProfileId(StorageProfileIdT &&value)
ServiceManagedEc2FleetConfiguration & WithAutoScalingConfiguration(AutoScalingConfigurationT &&value)
AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DEADLINE_API ServiceManagedEc2FleetConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const ServiceManagedEc2AutoScalingConfiguration & GetAutoScalingConfiguration() const
AWS_DEADLINE_API ServiceManagedEc2FleetConfiguration(Aws::Utils::Json::JsonView jsonValue)
const ServiceManagedEc2InstanceMarketOptions & GetInstanceMarketOptions() const
const ServiceManagedEc2InstanceCapabilities & GetInstanceCapabilities() const
ServiceManagedEc2FleetConfiguration & WithInstanceMarketOptions(InstanceMarketOptionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue