AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceGroupModifyConfig.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/Configuration.h>
11#include <aws/elasticmapreduce/model/ReconfigurationType.h>
12#include <aws/elasticmapreduce/model/ShrinkPolicy.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace EMR {
24namespace Model {
25
33 public:
34 AWS_EMR_API InstanceGroupModifyConfig() = default;
38
40
43 inline const Aws::String& GetInstanceGroupId() const { return m_instanceGroupId; }
44 inline bool InstanceGroupIdHasBeenSet() const { return m_instanceGroupIdHasBeenSet; }
45 template <typename InstanceGroupIdT = Aws::String>
46 void SetInstanceGroupId(InstanceGroupIdT&& value) {
47 m_instanceGroupIdHasBeenSet = true;
48 m_instanceGroupId = std::forward<InstanceGroupIdT>(value);
49 }
50 template <typename InstanceGroupIdT = Aws::String>
52 SetInstanceGroupId(std::forward<InstanceGroupIdT>(value));
53 return *this;
54 }
56
58
61 inline int GetInstanceCount() const { return m_instanceCount; }
62 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
63 inline void SetInstanceCount(int value) {
64 m_instanceCountHasBeenSet = true;
65 m_instanceCount = value;
66 }
68 SetInstanceCount(value);
69 return *this;
70 }
72
74
78 inline const Aws::Vector<Aws::String>& GetEC2InstanceIdsToTerminate() const { return m_eC2InstanceIdsToTerminate; }
79 inline bool EC2InstanceIdsToTerminateHasBeenSet() const { return m_eC2InstanceIdsToTerminateHasBeenSet; }
80 template <typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
81 void SetEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) {
82 m_eC2InstanceIdsToTerminateHasBeenSet = true;
83 m_eC2InstanceIdsToTerminate = std::forward<EC2InstanceIdsToTerminateT>(value);
84 }
85 template <typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
86 InstanceGroupModifyConfig& WithEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) {
87 SetEC2InstanceIdsToTerminate(std::forward<EC2InstanceIdsToTerminateT>(value));
88 return *this;
89 }
90 template <typename EC2InstanceIdsToTerminateT = Aws::String>
91 InstanceGroupModifyConfig& AddEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) {
92 m_eC2InstanceIdsToTerminateHasBeenSet = true;
93 m_eC2InstanceIdsToTerminate.emplace_back(std::forward<EC2InstanceIdsToTerminateT>(value));
94 return *this;
95 }
97
99
102 inline const ShrinkPolicy& GetShrinkPolicy() const { return m_shrinkPolicy; }
103 inline bool ShrinkPolicyHasBeenSet() const { return m_shrinkPolicyHasBeenSet; }
104 template <typename ShrinkPolicyT = ShrinkPolicy>
105 void SetShrinkPolicy(ShrinkPolicyT&& value) {
106 m_shrinkPolicyHasBeenSet = true;
107 m_shrinkPolicy = std::forward<ShrinkPolicyT>(value);
108 }
109 template <typename ShrinkPolicyT = ShrinkPolicy>
111 SetShrinkPolicy(std::forward<ShrinkPolicyT>(value));
112 return *this;
113 }
115
117
120 inline ReconfigurationType GetReconfigurationType() const { return m_reconfigurationType; }
121 inline bool ReconfigurationTypeHasBeenSet() const { return m_reconfigurationTypeHasBeenSet; }
123 m_reconfigurationTypeHasBeenSet = true;
124 m_reconfigurationType = value;
125 }
128 return *this;
129 }
131
133
136 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
137 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
138 template <typename ConfigurationsT = Aws::Vector<Configuration>>
139 void SetConfigurations(ConfigurationsT&& value) {
140 m_configurationsHasBeenSet = true;
141 m_configurations = std::forward<ConfigurationsT>(value);
142 }
143 template <typename ConfigurationsT = Aws::Vector<Configuration>>
145 SetConfigurations(std::forward<ConfigurationsT>(value));
146 return *this;
147 }
148 template <typename ConfigurationsT = Configuration>
150 m_configurationsHasBeenSet = true;
151 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
152 return *this;
153 }
155 private:
156 Aws::String m_instanceGroupId;
157
158 int m_instanceCount{0};
159
160 Aws::Vector<Aws::String> m_eC2InstanceIdsToTerminate;
161
162 ShrinkPolicy m_shrinkPolicy;
163
165
166 Aws::Vector<Configuration> m_configurations;
167 bool m_instanceGroupIdHasBeenSet = false;
168 bool m_instanceCountHasBeenSet = false;
169 bool m_eC2InstanceIdsToTerminateHasBeenSet = false;
170 bool m_shrinkPolicyHasBeenSet = false;
171 bool m_reconfigurationTypeHasBeenSet = false;
172 bool m_configurationsHasBeenSet = false;
173};
174
175} // namespace Model
176} // namespace EMR
177} // namespace Aws
const Aws::Vector< Configuration > & GetConfigurations() const
InstanceGroupModifyConfig & WithInstanceGroupId(InstanceGroupIdT &&value)
InstanceGroupModifyConfig & WithConfigurations(ConfigurationsT &&value)
InstanceGroupModifyConfig & WithInstanceCount(int value)
InstanceGroupModifyConfig & AddConfigurations(ConfigurationsT &&value)
void SetEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceGroupModifyConfig & WithReconfigurationType(ReconfigurationType value)
InstanceGroupModifyConfig & WithEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
const Aws::Vector< Aws::String > & GetEC2InstanceIdsToTerminate() const
AWS_EMR_API InstanceGroupModifyConfig(Aws::Utils::Json::JsonView jsonValue)
void SetReconfigurationType(ReconfigurationType value)
InstanceGroupModifyConfig & AddEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
AWS_EMR_API InstanceGroupModifyConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API InstanceGroupModifyConfig()=default
InstanceGroupModifyConfig & WithShrinkPolicy(ShrinkPolicyT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue