AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
InstanceGroupConfig.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/MarketType.h>
10#include <aws/elasticmapreduce/model/InstanceRoleType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/elasticmapreduce/model/EbsConfiguration.h>
13#include <aws/elasticmapreduce/model/AutoScalingPolicy.h>
14#include <aws/elasticmapreduce/model/Configuration.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace EMR
28{
29namespace Model
30{
31
38 {
39 public:
40 AWS_EMR_API InstanceGroupConfig() = default;
44
45
47
50 inline const Aws::String& GetName() const { return m_name; }
51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
52 template<typename NameT = Aws::String>
53 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
54 template<typename NameT = Aws::String>
55 InstanceGroupConfig& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
57
59
62 inline MarketType GetMarket() const { return m_market; }
63 inline bool MarketHasBeenSet() const { return m_marketHasBeenSet; }
64 inline void SetMarket(MarketType value) { m_marketHasBeenSet = true; m_market = value; }
65 inline InstanceGroupConfig& WithMarket(MarketType value) { SetMarket(value); return *this;}
67
69
72 inline InstanceRoleType GetInstanceRole() const { return m_instanceRole; }
73 inline bool InstanceRoleHasBeenSet() const { return m_instanceRoleHasBeenSet; }
74 inline void SetInstanceRole(InstanceRoleType value) { m_instanceRoleHasBeenSet = true; m_instanceRole = value; }
77
79
85 inline const Aws::String& GetBidPrice() const { return m_bidPrice; }
86 inline bool BidPriceHasBeenSet() const { return m_bidPriceHasBeenSet; }
87 template<typename BidPriceT = Aws::String>
88 void SetBidPrice(BidPriceT&& value) { m_bidPriceHasBeenSet = true; m_bidPrice = std::forward<BidPriceT>(value); }
89 template<typename BidPriceT = Aws::String>
90 InstanceGroupConfig& WithBidPrice(BidPriceT&& value) { SetBidPrice(std::forward<BidPriceT>(value)); return *this;}
92
94
97 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
98 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
99 template<typename InstanceTypeT = Aws::String>
100 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
101 template<typename InstanceTypeT = Aws::String>
102 InstanceGroupConfig& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
104
106
109 inline int GetInstanceCount() const { return m_instanceCount; }
110 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
111 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
112 inline InstanceGroupConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
114
116
122 inline const Aws::Vector<Configuration>& GetConfigurations() const { return m_configurations; }
123 inline bool ConfigurationsHasBeenSet() const { return m_configurationsHasBeenSet; }
124 template<typename ConfigurationsT = Aws::Vector<Configuration>>
125 void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations = std::forward<ConfigurationsT>(value); }
126 template<typename ConfigurationsT = Aws::Vector<Configuration>>
127 InstanceGroupConfig& WithConfigurations(ConfigurationsT&& value) { SetConfigurations(std::forward<ConfigurationsT>(value)); return *this;}
128 template<typename ConfigurationsT = Configuration>
129 InstanceGroupConfig& AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations.emplace_back(std::forward<ConfigurationsT>(value)); return *this; }
131
133
137 inline const EbsConfiguration& GetEbsConfiguration() const { return m_ebsConfiguration; }
138 inline bool EbsConfigurationHasBeenSet() const { return m_ebsConfigurationHasBeenSet; }
139 template<typename EbsConfigurationT = EbsConfiguration>
140 void SetEbsConfiguration(EbsConfigurationT&& value) { m_ebsConfigurationHasBeenSet = true; m_ebsConfiguration = std::forward<EbsConfigurationT>(value); }
141 template<typename EbsConfigurationT = EbsConfiguration>
142 InstanceGroupConfig& WithEbsConfiguration(EbsConfigurationT&& value) { SetEbsConfiguration(std::forward<EbsConfigurationT>(value)); return *this;}
144
146
152 inline const AutoScalingPolicy& GetAutoScalingPolicy() const { return m_autoScalingPolicy; }
153 inline bool AutoScalingPolicyHasBeenSet() const { return m_autoScalingPolicyHasBeenSet; }
154 template<typename AutoScalingPolicyT = AutoScalingPolicy>
155 void SetAutoScalingPolicy(AutoScalingPolicyT&& value) { m_autoScalingPolicyHasBeenSet = true; m_autoScalingPolicy = std::forward<AutoScalingPolicyT>(value); }
156 template<typename AutoScalingPolicyT = AutoScalingPolicy>
157 InstanceGroupConfig& WithAutoScalingPolicy(AutoScalingPolicyT&& value) { SetAutoScalingPolicy(std::forward<AutoScalingPolicyT>(value)); return *this;}
159
161
164 inline const Aws::String& GetCustomAmiId() const { return m_customAmiId; }
165 inline bool CustomAmiIdHasBeenSet() const { return m_customAmiIdHasBeenSet; }
166 template<typename CustomAmiIdT = Aws::String>
167 void SetCustomAmiId(CustomAmiIdT&& value) { m_customAmiIdHasBeenSet = true; m_customAmiId = std::forward<CustomAmiIdT>(value); }
168 template<typename CustomAmiIdT = Aws::String>
169 InstanceGroupConfig& WithCustomAmiId(CustomAmiIdT&& value) { SetCustomAmiId(std::forward<CustomAmiIdT>(value)); return *this;}
171 private:
172
173 Aws::String m_name;
174 bool m_nameHasBeenSet = false;
175
177 bool m_marketHasBeenSet = false;
178
180 bool m_instanceRoleHasBeenSet = false;
181
182 Aws::String m_bidPrice;
183 bool m_bidPriceHasBeenSet = false;
184
185 Aws::String m_instanceType;
186 bool m_instanceTypeHasBeenSet = false;
187
188 int m_instanceCount{0};
189 bool m_instanceCountHasBeenSet = false;
190
191 Aws::Vector<Configuration> m_configurations;
192 bool m_configurationsHasBeenSet = false;
193
194 EbsConfiguration m_ebsConfiguration;
195 bool m_ebsConfigurationHasBeenSet = false;
196
197 AutoScalingPolicy m_autoScalingPolicy;
198 bool m_autoScalingPolicyHasBeenSet = false;
199
200 Aws::String m_customAmiId;
201 bool m_customAmiIdHasBeenSet = false;
202 };
203
204} // namespace Model
205} // namespace EMR
206} // namespace Aws
const Aws::Vector< Configuration > & GetConfigurations() const
const Aws::String & GetName() const
void SetInstanceRole(InstanceRoleType value)
void SetInstanceType(InstanceTypeT &&value)
const Aws::String & GetBidPrice() const
const EbsConfiguration & GetEbsConfiguration() const
InstanceGroupConfig & WithAutoScalingPolicy(AutoScalingPolicyT &&value)
InstanceGroupConfig & WithCustomAmiId(CustomAmiIdT &&value)
InstanceGroupConfig & WithInstanceCount(int value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceGroupConfig & WithConfigurations(ConfigurationsT &&value)
InstanceGroupConfig & WithInstanceRole(InstanceRoleType value)
void SetAutoScalingPolicy(AutoScalingPolicyT &&value)
InstanceGroupConfig & WithEbsConfiguration(EbsConfigurationT &&value)
InstanceGroupConfig & WithBidPrice(BidPriceT &&value)
InstanceGroupConfig & WithName(NameT &&value)
InstanceGroupConfig & WithMarket(MarketType value)
const Aws::String & GetCustomAmiId() const
AWS_EMR_API InstanceGroupConfig(Aws::Utils::Json::JsonView jsonValue)
AWS_EMR_API InstanceGroupConfig()=default
AWS_EMR_API InstanceGroupConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceGroupConfig & WithInstanceType(InstanceTypeT &&value)
InstanceGroupConfig & AddConfigurations(ConfigurationsT &&value)
const Aws::String & GetInstanceType() const
void SetEbsConfiguration(EbsConfigurationT &&value)
const AutoScalingPolicy & GetAutoScalingPolicy() const
void SetConfigurations(ConfigurationsT &&value)
void SetCustomAmiId(CustomAmiIdT &&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