AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceFleetModifyConfig.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/InstanceFleetResizingSpecifications.h>
11#include <aws/elasticmapreduce/model/InstanceTypeConfig.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace EMR {
23namespace Model {
24
34 public:
35 AWS_EMR_API InstanceFleetModifyConfig() = default;
39
41
44 inline const Aws::String& GetInstanceFleetId() const { return m_instanceFleetId; }
45 inline bool InstanceFleetIdHasBeenSet() const { return m_instanceFleetIdHasBeenSet; }
46 template <typename InstanceFleetIdT = Aws::String>
47 void SetInstanceFleetId(InstanceFleetIdT&& value) {
48 m_instanceFleetIdHasBeenSet = true;
49 m_instanceFleetId = std::forward<InstanceFleetIdT>(value);
50 }
51 template <typename InstanceFleetIdT = Aws::String>
53 SetInstanceFleetId(std::forward<InstanceFleetIdT>(value));
54 return *this;
55 }
57
59
63 inline int GetTargetOnDemandCapacity() const { return m_targetOnDemandCapacity; }
64 inline bool TargetOnDemandCapacityHasBeenSet() const { return m_targetOnDemandCapacityHasBeenSet; }
65 inline void SetTargetOnDemandCapacity(int value) {
66 m_targetOnDemandCapacityHasBeenSet = true;
67 m_targetOnDemandCapacity = value;
68 }
71 return *this;
72 }
74
76
80 inline int GetTargetSpotCapacity() const { return m_targetSpotCapacity; }
81 inline bool TargetSpotCapacityHasBeenSet() const { return m_targetSpotCapacityHasBeenSet; }
82 inline void SetTargetSpotCapacity(int value) {
83 m_targetSpotCapacityHasBeenSet = true;
84 m_targetSpotCapacity = value;
85 }
88 return *this;
89 }
91
93
96 inline const InstanceFleetResizingSpecifications& GetResizeSpecifications() const { return m_resizeSpecifications; }
97 inline bool ResizeSpecificationsHasBeenSet() const { return m_resizeSpecificationsHasBeenSet; }
98 template <typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
99 void SetResizeSpecifications(ResizeSpecificationsT&& value) {
100 m_resizeSpecificationsHasBeenSet = true;
101 m_resizeSpecifications = std::forward<ResizeSpecificationsT>(value);
102 }
103 template <typename ResizeSpecificationsT = InstanceFleetResizingSpecifications>
104 InstanceFleetModifyConfig& WithResizeSpecifications(ResizeSpecificationsT&& value) {
105 SetResizeSpecifications(std::forward<ResizeSpecificationsT>(value));
106 return *this;
107 }
109
111
117 inline const Aws::Vector<InstanceTypeConfig>& GetInstanceTypeConfigs() const { return m_instanceTypeConfigs; }
118 inline bool InstanceTypeConfigsHasBeenSet() const { return m_instanceTypeConfigsHasBeenSet; }
119 template <typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
120 void SetInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
121 m_instanceTypeConfigsHasBeenSet = true;
122 m_instanceTypeConfigs = std::forward<InstanceTypeConfigsT>(value);
123 }
124 template <typename InstanceTypeConfigsT = Aws::Vector<InstanceTypeConfig>>
125 InstanceFleetModifyConfig& WithInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
126 SetInstanceTypeConfigs(std::forward<InstanceTypeConfigsT>(value));
127 return *this;
128 }
129 template <typename InstanceTypeConfigsT = InstanceTypeConfig>
130 InstanceFleetModifyConfig& AddInstanceTypeConfigs(InstanceTypeConfigsT&& value) {
131 m_instanceTypeConfigsHasBeenSet = true;
132 m_instanceTypeConfigs.emplace_back(std::forward<InstanceTypeConfigsT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::String& GetContext() const { return m_context; }
142 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
143 template <typename ContextT = Aws::String>
144 void SetContext(ContextT&& value) {
145 m_contextHasBeenSet = true;
146 m_context = std::forward<ContextT>(value);
147 }
148 template <typename ContextT = Aws::String>
150 SetContext(std::forward<ContextT>(value));
151 return *this;
152 }
154 private:
155 Aws::String m_instanceFleetId;
156
157 int m_targetOnDemandCapacity{0};
158
159 int m_targetSpotCapacity{0};
160
161 InstanceFleetResizingSpecifications m_resizeSpecifications;
162
163 Aws::Vector<InstanceTypeConfig> m_instanceTypeConfigs;
164
165 Aws::String m_context;
166 bool m_instanceFleetIdHasBeenSet = false;
167 bool m_targetOnDemandCapacityHasBeenSet = false;
168 bool m_targetSpotCapacityHasBeenSet = false;
169 bool m_resizeSpecificationsHasBeenSet = false;
170 bool m_instanceTypeConfigsHasBeenSet = false;
171 bool m_contextHasBeenSet = false;
172};
173
174} // namespace Model
175} // namespace EMR
176} // namespace Aws
void SetInstanceTypeConfigs(InstanceTypeConfigsT &&value)
InstanceFleetModifyConfig & WithContext(ContextT &&value)
void SetResizeSpecifications(ResizeSpecificationsT &&value)
InstanceFleetModifyConfig & WithInstanceTypeConfigs(InstanceTypeConfigsT &&value)
AWS_EMR_API InstanceFleetModifyConfig()=default
InstanceFleetModifyConfig & WithInstanceFleetId(InstanceFleetIdT &&value)
const Aws::Vector< InstanceTypeConfig > & GetInstanceTypeConfigs() const
InstanceFleetModifyConfig & WithTargetSpotCapacity(int value)
AWS_EMR_API InstanceFleetModifyConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceFleetModifyConfig & WithResizeSpecifications(ResizeSpecificationsT &&value)
InstanceFleetModifyConfig & WithTargetOnDemandCapacity(int value)
AWS_EMR_API InstanceFleetModifyConfig(Aws::Utils::Json::JsonView jsonValue)
InstanceFleetModifyConfig & AddInstanceTypeConfigs(InstanceTypeConfigsT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
const InstanceFleetResizingSpecifications & GetResizeSpecifications() 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