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>
45 template <
typename InstanceGroupIdT = Aws::String>
47 m_instanceGroupIdHasBeenSet =
true;
48 m_instanceGroupId = std::forward<InstanceGroupIdT>(value);
50 template <
typename InstanceGroupIdT = Aws::String>
64 m_instanceCountHasBeenSet =
true;
65 m_instanceCount = value;
80 template <
typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
82 m_eC2InstanceIdsToTerminateHasBeenSet =
true;
83 m_eC2InstanceIdsToTerminate = std::forward<EC2InstanceIdsToTerminateT>(value);
85 template <
typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
90 template <
typename EC2InstanceIdsToTerminateT = Aws::String>
92 m_eC2InstanceIdsToTerminateHasBeenSet =
true;
93 m_eC2InstanceIdsToTerminate.emplace_back(std::forward<EC2InstanceIdsToTerminateT>(value));
104 template <
typename ShrinkPolicyT = ShrinkPolicy>
106 m_shrinkPolicyHasBeenSet =
true;
107 m_shrinkPolicy = std::forward<ShrinkPolicyT>(value);
109 template <
typename ShrinkPolicyT = ShrinkPolicy>
123 m_reconfigurationTypeHasBeenSet =
true;
124 m_reconfigurationType = value;
138 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
140 m_configurationsHasBeenSet =
true;
141 m_configurations = std::forward<ConfigurationsT>(value);
143 template <
typename ConfigurationsT = Aws::Vector<Configuration>>
148 template <
typename ConfigurationsT = Configuration>
150 m_configurationsHasBeenSet =
true;
151 m_configurations.emplace_back(std::forward<ConfigurationsT>(value));
158 int m_instanceCount{0};
162 ShrinkPolicy m_shrinkPolicy;
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;
const Aws::Vector< Configuration > & GetConfigurations() const
InstanceGroupModifyConfig & WithInstanceGroupId(InstanceGroupIdT &&value)
void SetShrinkPolicy(ShrinkPolicyT &&value)
InstanceGroupModifyConfig & WithConfigurations(ConfigurationsT &&value)
const Aws::String & GetInstanceGroupId() const
InstanceGroupModifyConfig & WithInstanceCount(int value)
InstanceGroupModifyConfig & AddConfigurations(ConfigurationsT &&value)
void SetInstanceGroupId(InstanceGroupIdT &&value)
void SetEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
void SetConfigurations(ConfigurationsT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
bool ShrinkPolicyHasBeenSet() const
InstanceGroupModifyConfig & WithReconfigurationType(ReconfigurationType value)
bool InstanceCountHasBeenSet() const
int GetInstanceCount() const
InstanceGroupModifyConfig & WithEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
const ShrinkPolicy & GetShrinkPolicy() const
bool InstanceGroupIdHasBeenSet() const
bool ReconfigurationTypeHasBeenSet() const
const Aws::Vector< Aws::String > & GetEC2InstanceIdsToTerminate() const
AWS_EMR_API InstanceGroupModifyConfig(Aws::Utils::Json::JsonView jsonValue)
void SetReconfigurationType(ReconfigurationType value)
ReconfigurationType GetReconfigurationType() const
InstanceGroupModifyConfig & AddEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT &&value)
AWS_EMR_API InstanceGroupModifyConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API InstanceGroupModifyConfig()=default
InstanceGroupModifyConfig & WithShrinkPolicy(ShrinkPolicyT &&value)
bool EC2InstanceIdsToTerminateHasBeenSet() const
bool ConfigurationsHasBeenSet() const
void SetInstanceCount(int 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