AWS SDK for C++  0.14.3
AWS SDK for C++
InstanceGroupConfig.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Json
29 {
30  class JsonValue;
31 } // namespace Json
32 } // namespace Utils
33 namespace EMR
34 {
35 namespace Model
36 {
37 
42  {
43  public:
46  InstanceGroupConfig& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
47  Aws::Utils::Json::JsonValue Jsonize() const;
48 
52  inline const Aws::String& GetName() const{ return m_name; }
53 
57  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
58 
62  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
63 
67  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
68 
72  inline InstanceGroupConfig& WithName(const Aws::String& value) { SetName(value); return *this;}
73 
77  inline InstanceGroupConfig& WithName(Aws::String&& value) { SetName(value); return *this;}
78 
82  inline InstanceGroupConfig& WithName(const char* value) { SetName(value); return *this;}
83 
87  inline const MarketType& GetMarket() const{ return m_market; }
88 
92  inline void SetMarket(const MarketType& value) { m_marketHasBeenSet = true; m_market = value; }
93 
97  inline void SetMarket(MarketType&& value) { m_marketHasBeenSet = true; m_market = value; }
98 
102  inline InstanceGroupConfig& WithMarket(const MarketType& value) { SetMarket(value); return *this;}
103 
107  inline InstanceGroupConfig& WithMarket(MarketType&& value) { SetMarket(value); return *this;}
108 
112  inline const InstanceRoleType& GetInstanceRole() const{ return m_instanceRole; }
113 
117  inline void SetInstanceRole(const InstanceRoleType& value) { m_instanceRoleHasBeenSet = true; m_instanceRole = value; }
118 
122  inline void SetInstanceRole(InstanceRoleType&& value) { m_instanceRoleHasBeenSet = true; m_instanceRole = value; }
123 
127  inline InstanceGroupConfig& WithInstanceRole(const InstanceRoleType& value) { SetInstanceRole(value); return *this;}
128 
132  inline InstanceGroupConfig& WithInstanceRole(InstanceRoleType&& value) { SetInstanceRole(value); return *this;}
133 
138  inline const Aws::String& GetBidPrice() const{ return m_bidPrice; }
139 
144  inline void SetBidPrice(const Aws::String& value) { m_bidPriceHasBeenSet = true; m_bidPrice = value; }
145 
150  inline void SetBidPrice(Aws::String&& value) { m_bidPriceHasBeenSet = true; m_bidPrice = value; }
151 
156  inline void SetBidPrice(const char* value) { m_bidPriceHasBeenSet = true; m_bidPrice.assign(value); }
157 
162  inline InstanceGroupConfig& WithBidPrice(const Aws::String& value) { SetBidPrice(value); return *this;}
163 
168  inline InstanceGroupConfig& WithBidPrice(Aws::String&& value) { SetBidPrice(value); return *this;}
169 
174  inline InstanceGroupConfig& WithBidPrice(const char* value) { SetBidPrice(value); return *this;}
175 
179  inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
180 
184  inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
185 
189  inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
190 
194  inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
195 
199  inline InstanceGroupConfig& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
200 
204  inline InstanceGroupConfig& WithInstanceType(Aws::String&& value) { SetInstanceType(value); return *this;}
205 
209  inline InstanceGroupConfig& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
210 
214  inline int GetInstanceCount() const{ return m_instanceCount; }
215 
219  inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
220 
224  inline InstanceGroupConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
225 
231  inline const Aws::Vector<Configuration>& GetConfigurations() const{ return m_configurations; }
232 
238  inline void SetConfigurations(const Aws::Vector<Configuration>& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
239 
245  inline void SetConfigurations(Aws::Vector<Configuration>&& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
246 
252  inline InstanceGroupConfig& WithConfigurations(const Aws::Vector<Configuration>& value) { SetConfigurations(value); return *this;}
253 
259  inline InstanceGroupConfig& WithConfigurations(Aws::Vector<Configuration>&& value) { SetConfigurations(value); return *this;}
260 
266  inline InstanceGroupConfig& AddConfigurations(const Configuration& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
267 
273  inline InstanceGroupConfig& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
274 
279  inline const EbsConfiguration& GetEbsConfiguration() const{ return m_ebsConfiguration; }
280 
285  inline void SetEbsConfiguration(const EbsConfiguration& value) { m_ebsConfigurationHasBeenSet = true; m_ebsConfiguration = value; }
286 
291  inline void SetEbsConfiguration(EbsConfiguration&& value) { m_ebsConfigurationHasBeenSet = true; m_ebsConfiguration = value; }
292 
297  inline InstanceGroupConfig& WithEbsConfiguration(const EbsConfiguration& value) { SetEbsConfiguration(value); return *this;}
298 
303  inline InstanceGroupConfig& WithEbsConfiguration(EbsConfiguration&& value) { SetEbsConfiguration(value); return *this;}
304 
305  private:
306  Aws::String m_name;
307  bool m_nameHasBeenSet;
308  MarketType m_market;
309  bool m_marketHasBeenSet;
310  InstanceRoleType m_instanceRole;
311  bool m_instanceRoleHasBeenSet;
312  Aws::String m_bidPrice;
313  bool m_bidPriceHasBeenSet;
314  Aws::String m_instanceType;
315  bool m_instanceTypeHasBeenSet;
316  int m_instanceCount;
317  bool m_instanceCountHasBeenSet;
318  Aws::Vector<Configuration> m_configurations;
319  bool m_configurationsHasBeenSet;
320  EbsConfiguration m_ebsConfiguration;
321  bool m_ebsConfigurationHasBeenSet;
322  };
323 
324 } // namespace Model
325 } // namespace EMR
326 } // namespace Aws
void SetName(const Aws::String &value)
InstanceGroupConfig & WithInstanceRole(const InstanceRoleType &value)
const EbsConfiguration & GetEbsConfiguration() const
InstanceGroupConfig & WithInstanceType(const Aws::String &value)
InstanceGroupConfig & WithBidPrice(const Aws::String &value)
InstanceGroupConfig & WithInstanceRole(InstanceRoleType &&value)
void SetInstanceType(const Aws::String &value)
InstanceGroupConfig & WithEbsConfiguration(const EbsConfiguration &value)
InstanceGroupConfig & WithInstanceCount(int value)
InstanceGroupConfig & WithName(Aws::String &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
const Aws::Vector< Configuration > & GetConfigurations() const
InstanceGroupConfig & WithName(const Aws::String &value)
void SetInstanceType(Aws::String &&value)
void SetEbsConfiguration(const EbsConfiguration &value)
const MarketType & GetMarket() const
void SetInstanceRole(const InstanceRoleType &value)
const Aws::String & GetBidPrice() const
void SetMarket(const MarketType &value)
InstanceGroupConfig & WithConfigurations(const Aws::Vector< Configuration > &value)
void SetConfigurations(Aws::Vector< Configuration > &&value)
InstanceGroupConfig & AddConfigurations(const Configuration &value)
InstanceGroupConfig & WithEbsConfiguration(EbsConfiguration &&value)
const InstanceRoleType & GetInstanceRole() const
InstanceGroupConfig & WithConfigurations(Aws::Vector< Configuration > &&value)
InstanceGroupConfig & AddConfigurations(Configuration &&value)
InstanceGroupConfig & WithInstanceType(const char *value)
InstanceGroupConfig & WithMarket(MarketType &&value)
void SetConfigurations(const Aws::Vector< Configuration > &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
InstanceGroupConfig & WithMarket(const MarketType &value)
InstanceGroupConfig & WithBidPrice(const char *value)
InstanceGroupConfig & WithInstanceType(Aws::String &&value)
InstanceGroupConfig & WithBidPrice(Aws::String &&value)
void SetInstanceRole(InstanceRoleType &&value)
void SetEbsConfiguration(EbsConfiguration &&value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:37
const Aws::String & GetName() const
const Aws::String & GetInstanceType() const
InstanceGroupConfig & WithName(const char *value)
JSON (JavaScript Object Notation).
void SetBidPrice(const Aws::String &value)