AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
InstanceFleetConfig.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/elasticmapreduce/EMR_EXPORTS.h>
10#include <aws/elasticmapreduce/model/InstanceFleetProvisioningSpecifications.h>
11#include <aws/elasticmapreduce/model/InstanceFleetResizingSpecifications.h>
12#include <aws/elasticmapreduce/model/InstanceFleetType.h>
13#include <aws/elasticmapreduce/model/InstanceTypeConfig.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace EMR {
25namespace Model {
26
35 public:
36 AWS_EMR_API InstanceFleetConfig() = default;
40
42
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
53 InstanceFleetConfig& WithName(NameT&& value) {
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
64 inline InstanceFleetType GetInstanceFleetType() const { return m_instanceFleetType; }
65 inline bool InstanceFleetTypeHasBeenSet() const { return m_instanceFleetTypeHasBeenSet; }
67 m_instanceFleetTypeHasBeenSet = true;
68 m_instanceFleetType = value;
69 }
72 return *this;
73 }
75
77
96 inline int GetTargetOnDemandCapacity() const { return m_targetOnDemandCapacity; }
97 inline bool TargetOnDemandCapacityHasBeenSet() const { return m_targetOnDemandCapacityHasBeenSet; }
98 inline void SetTargetOnDemandCapacity(int value) {
99 m_targetOnDemandCapacityHasBeenSet = true;
100 m_targetOnDemandCapacity = value;
101 }
104 return *this;
105 }
107
109
127 inline int GetTargetSpotCapacity() const { return m_targetSpotCapacity; }
128 inline bool TargetSpotCapacityHasBeenSet() const { return m_targetSpotCapacityHasBeenSet; }
129 inline void SetTargetSpotCapacity(int value) {
130 m_targetSpotCapacityHasBeenSet = true;
131 m_targetSpotCapacity = value;
132 }
135 return *this;
136 }
138
140
144 inline const Aws::Vector<InstanceTypeConfig>& GetInstanceTypeConfigs() const { return m_instanceTypeConfigs; }
145 inline bool InstanceTypeConfigsHasBeenSet() const { return m_instanceTypeConfigsHasBeenSet; }
146 template <typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
147 void SetInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
148 m_instanceTypeConfigsHasBeenSet = true;
149 m_instanceTypeConfigs = std::forward<InstanceTypeConfigsT>(value);
150 }
151 template <typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
152 InstanceFleetConfig& WithInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
153 SetInstanceTypeConfigs(std::forward<InstanceTypeConfigsT>(value));
154 return *this;
155 }
156 template <typename InstanceTypeConfigsT = InstanceTypeConfig>
157 InstanceFleetConfig& AddInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
158 m_instanceTypeConfigsHasBeenSet = true;
159 m_instanceTypeConfigs.emplace_back(std::forward<InstanceTypeConfigsT>(value));
160 return *this;
161 }
163
165
168 inline const InstanceFleetProvisioningSpecifications& GetLaunchSpecifications() const { return m_launchSpecifications; }
169 inline bool LaunchSpecificationsHasBeenSet() const { return m_launchSpecificationsHasBeenSet; }
170 template <typename LaunchSpecificationsT = InstanceFleetProvisioningSpecifications>
171 void SetLaunchSpecifications(LaunchSpecificationsT&& value) {
172 m_launchSpecificationsHasBeenSet = true;
173 m_launchSpecifications = std::forward<LaunchSpecificationsT>(value);
174 }
175 template <typename LaunchSpecificationsT = InstanceFleetProvisioningSpecifications>
176 InstanceFleetConfig& WithLaunchSpecifications(LaunchSpecificationsT&& value) {
177 SetLaunchSpecifications(std::forward<LaunchSpecificationsT>(value));
178 return *this;
179 }
181
183
186 inline const InstanceFleetResizingSpecifications& GetResizeSpecifications() const { return m_resizeSpecifications; }
187 inline bool ResizeSpecificationsHasBeenSet() const { return m_resizeSpecificationsHasBeenSet; }
188 template <typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
189 void SetResizeSpecifications(ResizeSpecificationsT&& value) {
190 m_resizeSpecificationsHasBeenSet = true;
191 m_resizeSpecifications = std::forward<ResizeSpecificationsT>(value);
192 }
193 template <typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
194 InstanceFleetConfig& WithResizeSpecifications(ResizeSpecificationsT&& value) {
195 SetResizeSpecifications(std::forward<ResizeSpecificationsT>(value));
196 return *this;
197 }
199
201
204 inline const Aws::String& GetContext() const { return m_context; }
205 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
206 template <typename ContextT = Aws::String>
207 void SetContext(ContextT&& value) {
208 m_contextHasBeenSet = true;
209 m_context = std::forward<ContextT>(value);
210 }
211 template <typename ContextT = Aws::String>
212 InstanceFleetConfig& WithContext(ContextT&& value) {
213 SetContext(std::forward<ContextT>(value));
214 return *this;
215 }
217 private:
218 Aws::String m_name;
219
221
222 int m_targetOnDemandCapacity{0};
223
224 int m_targetSpotCapacity{0};
225
226 Aws::Vector<InstanceTypeConfig> m_instanceTypeConfigs;
227
228 InstanceFleetProvisioningSpecifications m_launchSpecifications;
229
230 InstanceFleetResizingSpecifications m_resizeSpecifications;
231
232 Aws::String m_context;
233 bool m_nameHasBeenSet = false;
234 bool m_instanceFleetTypeHasBeenSet = false;
235 bool m_targetOnDemandCapacityHasBeenSet = false;
236 bool m_targetSpotCapacityHasBeenSet = false;
237 bool m_instanceTypeConfigsHasBeenSet = false;
238 bool m_launchSpecificationsHasBeenSet = false;
239 bool m_resizeSpecificationsHasBeenSet = false;
240 bool m_contextHasBeenSet = false;
241};
242
243} // namespace Model
244} // namespace EMR
245} // namespace Aws
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceFleetConfig & WithTargetOnDemandCapacity(int value)
InstanceFleetConfig & WithLaunchSpecifications(LaunchSpecificationsT &&value)
void SetLaunchSpecifications(LaunchSpecificationsT &&value)
const Aws::String & GetContext() const
InstanceFleetConfig & WithTargetSpotCapacity(int value)
InstanceFleetConfig & WithContext(ContextT &&value)
void SetResizeSpecifications(ResizeSpecificationsT &&value)
const InstanceFleetProvisioningSpecifications & GetLaunchSpecifications() const
InstanceFleetConfig & WithInstanceTypeConfigs(InstanceTypeConfigsT &&value)
const Aws::Vector< InstanceTypeConfig > & GetInstanceTypeConfigs() const
const InstanceFleetResizingSpecifications & GetResizeSpecifications() const
InstanceFleetConfig & WithInstanceFleetType(InstanceFleetType value)
InstanceFleetConfig & WithName(NameT &&value)
AWS_EMR_API InstanceFleetConfig()=default
InstanceFleetConfig & WithResizeSpecifications(ResizeSpecificationsT &&value)
AWS_EMR_API InstanceFleetConfig(Aws::Utils::Json::JsonView jsonValue)
void SetInstanceTypeConfigs(InstanceTypeConfigsT &&value)
AWS_EMR_API InstanceFleetConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceFleetConfig & AddInstanceTypeConfigs(InstanceTypeConfigsT &&value)
InstanceFleetType GetInstanceFleetType() const
void SetInstanceFleetType(InstanceFleetType value)
const Aws::String & GetName() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue