AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
InstanceGroupModifyConfig.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/elasticmapreduce/model/ShrinkPolicy.h>
11#include <aws/elasticmapreduce/model/ReconfigurationType.h>
12#include <aws/elasticmapreduce/model/Configuration.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace EMR
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_EMR_API InstanceGroupModifyConfig() = default;
43
44
46
49 inline const Aws::String& GetInstanceGroupId() const { return m_instanceGroupId; }
50 inline bool InstanceGroupIdHasBeenSet() const { return m_instanceGroupIdHasBeenSet; }
51 template<typename InstanceGroupIdT = Aws::String>
52 void SetInstanceGroupId(InstanceGroupIdT&& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = std::forward<InstanceGroupIdT>(value); }
53 template<typename InstanceGroupIdT = Aws::String>
54 InstanceGroupModifyConfig& WithInstanceGroupId(InstanceGroupIdT&& value) { SetInstanceGroupId(std::forward<InstanceGroupIdT>(value)); return *this;}
56
58
61 inline int GetInstanceCount() const { return m_instanceCount; }
62 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
63 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
64 inline InstanceGroupModifyConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
66
68
72 inline const Aws::Vector<Aws::String>& GetEC2InstanceIdsToTerminate() const { return m_eC2InstanceIdsToTerminate; }
73 inline bool EC2InstanceIdsToTerminateHasBeenSet() const { return m_eC2InstanceIdsToTerminateHasBeenSet; }
74 template<typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
75 void SetEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) { m_eC2InstanceIdsToTerminateHasBeenSet = true; m_eC2InstanceIdsToTerminate = std::forward<EC2InstanceIdsToTerminateT>(value); }
76 template<typename EC2InstanceIdsToTerminateT = Aws::Vector<Aws::String>>
77 InstanceGroupModifyConfig& WithEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) { SetEC2InstanceIdsToTerminate(std::forward<EC2InstanceIdsToTerminateT>(value)); return *this;}
78 template<typename EC2InstanceIdsToTerminateT = Aws::String>
79 InstanceGroupModifyConfig& AddEC2InstanceIdsToTerminate(EC2InstanceIdsToTerminateT&& value) { m_eC2InstanceIdsToTerminateHasBeenSet = true; m_eC2InstanceIdsToTerminate.emplace_back(std::forward<EC2InstanceIdsToTerminateT>(value)); return *this; }
81
83
86 inline const ShrinkPolicy& GetShrinkPolicy() const { return m_shrinkPolicy; }
87 inline bool ShrinkPolicyHasBeenSet() const { return m_shrinkPolicyHasBeenSet; }
88 template<typename ShrinkPolicyT = ShrinkPolicy>
89 void SetShrinkPolicy(ShrinkPolicyT&& value) { m_shrinkPolicyHasBeenSet = true; m_shrinkPolicy = std::forward<ShrinkPolicyT>(value); }
90 template<typename ShrinkPolicyT = ShrinkPolicy>
91 InstanceGroupModifyConfig& WithShrinkPolicy(ShrinkPolicyT&& value) { SetShrinkPolicy(std::forward<ShrinkPolicyT>(value)); return *this;}
93
95
98 inline ReconfigurationType GetReconfigurationType() const { return m_reconfigurationType; }
99 inline bool ReconfigurationTypeHasBeenSet() const { return m_reconfigurationTypeHasBeenSet; }
100 inline void SetReconfigurationType(ReconfigurationType value) { m_reconfigurationTypeHasBeenSet = true; m_reconfigurationType = value; }
103
105
108 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
109 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
110 template<typename ConfigurationsT = Aws::Vector<Configuration>>
111 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations = std::forward<ConfigurationsT>(value); }
112 template<typename ConfigurationsT = Aws::Vector<Configuration>>
113 InstanceGroupModifyConfig& WithConfigurations(ConfigurationsT&& value) { SetConfigurations(std::forward<ConfigurationsT>(value)); return *this;}
114 template<typename ConfigurationsT = Configuration>
115 InstanceGroupModifyConfig& AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value)); return *this; }
117 private:
118
119 Aws::String m_instanceGroupId;
120 bool m_instanceGroupIdHasBeenSet = false;
121
122 int m_instanceCount{0};
123 bool m_instanceCountHasBeenSet = false;
124
125 Aws::Vector<Aws::String> m_eC2InstanceIdsToTerminate;
126 bool m_eC2InstanceIdsToTerminateHasBeenSet = false;
127
128 ShrinkPolicy m_shrinkPolicy;
129 bool m_shrinkPolicyHasBeenSet = false;
130
132 bool m_reconfigurationTypeHasBeenSet = false;
133
134 Aws::Vector<Configuration> m_configurations;
135 bool m_configurationsHasBeenSet = false;
136 };
137
138} // namespace Model
139} // namespace EMR
140} // 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