AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
InstanceFleetConfig.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/elasticmapreduce/model/InstanceFleetType.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticmapreduce/model/InstanceFleetProvisioningSpecifications.h>
12#include <aws/elasticmapreduce/model/InstanceFleetResizingSpecifications.h>
13#include <aws/elasticmapreduce/model/InstanceTypeConfig.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace EMR
27{
28namespace Model
29{
30
39 {
40 public:
41 AWS_EMR_API InstanceFleetConfig() = default;
45
46
48
51 inline const Aws::String& GetName() const { return m_name; }
52 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
53 template<typename NameT = Aws::String>
54 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
55 template<typename NameT = Aws::String>
56 InstanceFleetConfig& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
58
60
64 inline InstanceFleetType GetInstanceFleetType() const { return m_instanceFleetType; }
65 inline bool InstanceFleetTypeHasBeenSet() const { return m_instanceFleetTypeHasBeenSet; }
66 inline void SetInstanceFleetType(InstanceFleetType value) { m_instanceFleetTypeHasBeenSet = true; m_instanceFleetType = value; }
69
71
90 inline int GetTargetOnDemandCapacity() const { return m_targetOnDemandCapacity; }
91 inline bool TargetOnDemandCapacityHasBeenSet() const { return m_targetOnDemandCapacityHasBeenSet; }
92 inline void SetTargetOnDemandCapacity(int value) { m_targetOnDemandCapacityHasBeenSet = true; m_targetOnDemandCapacity = value; }
95
97
115 inline int GetTargetSpotCapacity() const { return m_targetSpotCapacity; }
116 inline bool TargetSpotCapacityHasBeenSet() const { return m_targetSpotCapacityHasBeenSet; }
117 inline void SetTargetSpotCapacity(int value) { m_targetSpotCapacityHasBeenSet = true; m_targetSpotCapacity = value; }
118 inline InstanceFleetConfig& WithTargetSpotCapacity(int value) { SetTargetSpotCapacity(value); return *this;}
120
122
126 inline const Aws::Vector<InstanceTypeConfig>& GetInstanceTypeConfigs() const { return m_instanceTypeConfigs; }
127 inline bool InstanceTypeConfigsHasBeenSet() const { return m_instanceTypeConfigsHasBeenSet; }
128 template<typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
129 void SetInstanceTypeConfigs(InstanceTypeConfigsT&& value) { m_instanceTypeConfigsHasBeenSet = true; m_instanceTypeConfigs = std::forward<InstanceTypeConfigsT>(value); }
130 template<typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
131 InstanceFleetConfig& WithInstanceTypeConfigs(InstanceTypeConfigsT&& value) { SetInstanceTypeConfigs(std::forward<InstanceTypeConfigsT>(value)); return *this;}
132 template<typename InstanceTypeConfigsT = InstanceTypeConfig>
133 InstanceFleetConfig& AddInstanceTypeConfigs(InstanceTypeConfigsT&& value) { m_instanceTypeConfigsHasBeenSet = true; m_instanceTypeConfigs.emplace_back(std::forward<InstanceTypeConfigsT>(value)); return *this; }
135
137
140 inline const InstanceFleetProvisioningSpecifications& GetLaunchSpecifications() const { return m_launchSpecifications; }
141 inline bool LaunchSpecificationsHasBeenSet() const { return m_launchSpecificationsHasBeenSet; }
142 template<typename LaunchSpecificationsT = InstanceFleetProvisioningSpecifications>
143 void SetLaunchSpecifications(LaunchSpecificationsT&& value) { m_launchSpecificationsHasBeenSet = true; m_launchSpecifications = std::forward<LaunchSpecificationsT>(value); }
144 template<typename LaunchSpecificationsT = InstanceFleetProvisioningSpecifications>
145 InstanceFleetConfig& WithLaunchSpecifications(LaunchSpecificationsT&& value) { SetLaunchSpecifications(std::forward<LaunchSpecificationsT>(value)); return *this;}
147
149
152 inline const InstanceFleetResizingSpecifications& GetResizeSpecifications() const { return m_resizeSpecifications; }
153 inline bool ResizeSpecificationsHasBeenSet() const { return m_resizeSpecificationsHasBeenSet; }
154 template<typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
155 void SetResizeSpecifications(ResizeSpecificationsT&& value) { m_resizeSpecificationsHasBeenSet = true; m_resizeSpecifications = std::forward<ResizeSpecificationsT>(value); }
156 template<typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
157 InstanceFleetConfig& WithResizeSpecifications(ResizeSpecificationsT&& value) { SetResizeSpecifications(std::forward<ResizeSpecificationsT>(value)); return *this;}
159
161
164 inline const Aws::String& GetContext() const { return m_context; }
165 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
166 template<typename ContextT = Aws::String>
167 void SetContext(ContextT&& value) { m_contextHasBeenSet = true; m_context = std::forward<ContextT>(value); }
168 template<typename ContextT = Aws::String>
169 InstanceFleetConfig& WithContext(ContextT&& value) { SetContext(std::forward<ContextT>(value)); return *this;}
171 private:
172
173 Aws::String m_name;
174 bool m_nameHasBeenSet = false;
175
177 bool m_instanceFleetTypeHasBeenSet = false;
178
179 int m_targetOnDemandCapacity{0};
180 bool m_targetOnDemandCapacityHasBeenSet = false;
181
182 int m_targetSpotCapacity{0};
183 bool m_targetSpotCapacityHasBeenSet = false;
184
185 Aws::Vector<InstanceTypeConfig> m_instanceTypeConfigs;
186 bool m_instanceTypeConfigsHasBeenSet = false;
187
188 InstanceFleetProvisioningSpecifications m_launchSpecifications;
189 bool m_launchSpecificationsHasBeenSet = false;
190
191 InstanceFleetResizingSpecifications m_resizeSpecifications;
192 bool m_resizeSpecificationsHasBeenSet = false;
193
194 Aws::String m_context;
195 bool m_contextHasBeenSet = false;
196 };
197
198} // namespace Model
199} // namespace EMR
200} // 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