AWS SDK for C++  0.12.9
AWS SDK for C++
InstanceGroup.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
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Json
31 {
32  class JsonValue;
33 } // namespace Json
34 } // namespace Utils
35 namespace EMR
36 {
37 namespace Model
38 {
39 
45  {
46  public:
47  InstanceGroup();
49  InstanceGroup& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
50  Aws::Utils::Json::JsonValue Jsonize() const;
51 
55  inline const Aws::String& GetId() const{ return m_id; }
56 
60  inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
61 
65  inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = value; }
66 
70  inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
71 
75  inline InstanceGroup& WithId(const Aws::String& value) { SetId(value); return *this;}
76 
80  inline InstanceGroup& WithId(Aws::String&& value) { SetId(value); return *this;}
81 
85  inline InstanceGroup& WithId(const char* value) { SetId(value); return *this;}
86 
90  inline const Aws::String& GetName() const{ return m_name; }
91 
95  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
96 
100  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
101 
105  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
106 
110  inline InstanceGroup& WithName(const Aws::String& value) { SetName(value); return *this;}
111 
115  inline InstanceGroup& WithName(Aws::String&& value) { SetName(value); return *this;}
116 
120  inline InstanceGroup& WithName(const char* value) { SetName(value); return *this;}
121 
126  inline const MarketType& GetMarket() const{ return m_market; }
127 
132  inline void SetMarket(const MarketType& value) { m_marketHasBeenSet = true; m_market = value; }
133 
138  inline void SetMarket(MarketType&& value) { m_marketHasBeenSet = true; m_market = value; }
139 
144  inline InstanceGroup& WithMarket(const MarketType& value) { SetMarket(value); return *this;}
145 
150  inline InstanceGroup& WithMarket(MarketType&& value) { SetMarket(value); return *this;}
151 
155  inline const InstanceGroupType& GetInstanceGroupType() const{ return m_instanceGroupType; }
156 
160  inline void SetInstanceGroupType(const InstanceGroupType& value) { m_instanceGroupTypeHasBeenSet = true; m_instanceGroupType = value; }
161 
165  inline void SetInstanceGroupType(InstanceGroupType&& value) { m_instanceGroupTypeHasBeenSet = true; m_instanceGroupType = value; }
166 
170  inline InstanceGroup& WithInstanceGroupType(const InstanceGroupType& value) { SetInstanceGroupType(value); return *this;}
171 
175  inline InstanceGroup& WithInstanceGroupType(InstanceGroupType&& value) { SetInstanceGroupType(value); return *this;}
176 
181  inline const Aws::String& GetBidPrice() const{ return m_bidPrice; }
182 
187  inline void SetBidPrice(const Aws::String& value) { m_bidPriceHasBeenSet = true; m_bidPrice = value; }
188 
193  inline void SetBidPrice(Aws::String&& value) { m_bidPriceHasBeenSet = true; m_bidPrice = value; }
194 
199  inline void SetBidPrice(const char* value) { m_bidPriceHasBeenSet = true; m_bidPrice.assign(value); }
200 
205  inline InstanceGroup& WithBidPrice(const Aws::String& value) { SetBidPrice(value); return *this;}
206 
211  inline InstanceGroup& WithBidPrice(Aws::String&& value) { SetBidPrice(value); return *this;}
212 
217  inline InstanceGroup& WithBidPrice(const char* value) { SetBidPrice(value); return *this;}
218 
222  inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
223 
227  inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
228 
232  inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
233 
237  inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
238 
242  inline InstanceGroup& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
243 
247  inline InstanceGroup& WithInstanceType(Aws::String&& value) { SetInstanceType(value); return *this;}
248 
252  inline InstanceGroup& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
253 
257  inline long GetRequestedInstanceCount() const{ return m_requestedInstanceCount; }
258 
262  inline void SetRequestedInstanceCount(long value) { m_requestedInstanceCountHasBeenSet = true; m_requestedInstanceCount = value; }
263 
267  inline InstanceGroup& WithRequestedInstanceCount(long value) { SetRequestedInstanceCount(value); return *this;}
268 
272  inline long GetRunningInstanceCount() const{ return m_runningInstanceCount; }
273 
277  inline void SetRunningInstanceCount(long value) { m_runningInstanceCountHasBeenSet = true; m_runningInstanceCount = value; }
278 
282  inline InstanceGroup& WithRunningInstanceCount(long value) { SetRunningInstanceCount(value); return *this;}
283 
287  inline const InstanceGroupStatus& GetStatus() const{ return m_status; }
288 
292  inline void SetStatus(const InstanceGroupStatus& value) { m_statusHasBeenSet = true; m_status = value; }
293 
297  inline void SetStatus(InstanceGroupStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
298 
302  inline InstanceGroup& WithStatus(const InstanceGroupStatus& value) { SetStatus(value); return *this;}
303 
307  inline InstanceGroup& WithStatus(InstanceGroupStatus&& value) { SetStatus(value); return *this;}
308 
314  inline const Aws::Vector<Configuration>& GetConfigurations() const{ return m_configurations; }
315 
321  inline void SetConfigurations(const Aws::Vector<Configuration>& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
322 
328  inline void SetConfigurations(Aws::Vector<Configuration>&& value) { m_configurationsHasBeenSet = true; m_configurations = value; }
329 
335  inline InstanceGroup& WithConfigurations(const Aws::Vector<Configuration>& value) { SetConfigurations(value); return *this;}
336 
342  inline InstanceGroup& WithConfigurations(Aws::Vector<Configuration>&& value) { SetConfigurations(value); return *this;}
343 
349  inline InstanceGroup& AddConfigurations(const Configuration& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
350 
356  inline InstanceGroup& AddConfigurations(Configuration&& value) { m_configurationsHasBeenSet = true; m_configurations.push_back(value); return *this; }
357 
361  inline const Aws::Vector<EbsBlockDevice>& GetEbsBlockDevices() const{ return m_ebsBlockDevices; }
362 
366  inline void SetEbsBlockDevices(const Aws::Vector<EbsBlockDevice>& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices = value; }
367 
371  inline void SetEbsBlockDevices(Aws::Vector<EbsBlockDevice>&& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices = value; }
372 
376  inline InstanceGroup& WithEbsBlockDevices(const Aws::Vector<EbsBlockDevice>& value) { SetEbsBlockDevices(value); return *this;}
377 
381  inline InstanceGroup& WithEbsBlockDevices(Aws::Vector<EbsBlockDevice>&& value) { SetEbsBlockDevices(value); return *this;}
382 
386  inline InstanceGroup& AddEbsBlockDevices(const EbsBlockDevice& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices.push_back(value); return *this; }
387 
391  inline InstanceGroup& AddEbsBlockDevices(EbsBlockDevice&& value) { m_ebsBlockDevicesHasBeenSet = true; m_ebsBlockDevices.push_back(value); return *this; }
392 
398  inline bool GetEbsOptimized() const{ return m_ebsOptimized; }
399 
405  inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
406 
412  inline InstanceGroup& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
413 
417  inline const ShrinkPolicy& GetShrinkPolicy() const{ return m_shrinkPolicy; }
418 
422  inline void SetShrinkPolicy(const ShrinkPolicy& value) { m_shrinkPolicyHasBeenSet = true; m_shrinkPolicy = value; }
423 
427  inline void SetShrinkPolicy(ShrinkPolicy&& value) { m_shrinkPolicyHasBeenSet = true; m_shrinkPolicy = value; }
428 
432  inline InstanceGroup& WithShrinkPolicy(const ShrinkPolicy& value) { SetShrinkPolicy(value); return *this;}
433 
437  inline InstanceGroup& WithShrinkPolicy(ShrinkPolicy&& value) { SetShrinkPolicy(value); return *this;}
438 
439  private:
440  Aws::String m_id;
441  bool m_idHasBeenSet;
442  Aws::String m_name;
443  bool m_nameHasBeenSet;
444  MarketType m_market;
445  bool m_marketHasBeenSet;
446  InstanceGroupType m_instanceGroupType;
447  bool m_instanceGroupTypeHasBeenSet;
448  Aws::String m_bidPrice;
449  bool m_bidPriceHasBeenSet;
450  Aws::String m_instanceType;
451  bool m_instanceTypeHasBeenSet;
452  long m_requestedInstanceCount;
453  bool m_requestedInstanceCountHasBeenSet;
454  long m_runningInstanceCount;
455  bool m_runningInstanceCountHasBeenSet;
456  InstanceGroupStatus m_status;
457  bool m_statusHasBeenSet;
458  Aws::Vector<Configuration> m_configurations;
459  bool m_configurationsHasBeenSet;
460  Aws::Vector<EbsBlockDevice> m_ebsBlockDevices;
461  bool m_ebsBlockDevicesHasBeenSet;
462  bool m_ebsOptimized;
463  bool m_ebsOptimizedHasBeenSet;
464  ShrinkPolicy m_shrinkPolicy;
465  bool m_shrinkPolicyHasBeenSet;
466  };
467 
468 } // namespace Model
469 } // namespace EMR
470 } // namespace Aws
InstanceGroup & WithId(const Aws::String &value)
Definition: InstanceGroup.h:75
void SetMarket(const MarketType &value)
void SetStatus(InstanceGroupStatus &&value)
void SetBidPrice(Aws::String &&value)
InstanceGroup & WithId(const char *value)
Definition: InstanceGroup.h:85
void SetShrinkPolicy(ShrinkPolicy &&value)
void SetId(Aws::String &&value)
Definition: InstanceGroup.h:65
void SetId(const Aws::String &value)
Definition: InstanceGroup.h:60
const InstanceGroupStatus & GetStatus() const
void SetInstanceType(Aws::String &&value)
InstanceGroup & AddConfigurations(Configuration &&value)
InstanceGroup & WithInstanceType(const char *value)
void SetInstanceGroupType(InstanceGroupType &&value)
void SetName(const Aws::String &value)
Definition: InstanceGroup.h:95
InstanceGroup & WithStatus(InstanceGroupStatus &&value)
InstanceGroup & WithInstanceGroupType(InstanceGroupType &&value)
long GetRequestedInstanceCount() const
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetEbsBlockDevices(Aws::Vector< EbsBlockDevice > &&value)
InstanceGroup & WithRunningInstanceCount(long value)
InstanceGroup & WithEbsOptimized(bool value)
const Aws::String & GetId() const
Definition: InstanceGroup.h:55
InstanceGroup & WithName(Aws::String &&value)
InstanceGroup & WithInstanceGroupType(const InstanceGroupType &value)
void SetBidPrice(const char *value)
void SetStatus(const InstanceGroupStatus &value)
const InstanceGroupType & GetInstanceGroupType() const
InstanceGroup & WithMarket(MarketType &&value)
void SetConfigurations(const Aws::Vector< Configuration > &value)
InstanceGroup & WithBidPrice(Aws::String &&value)
const Aws::String & GetBidPrice() const
InstanceGroup & WithEbsBlockDevices(Aws::Vector< EbsBlockDevice > &&value)
const Aws::Vector< Configuration > & GetConfigurations() const
void SetRequestedInstanceCount(long value)
InstanceGroup & WithInstanceType(const Aws::String &value)
InstanceGroup & WithRequestedInstanceCount(long value)
void SetInstanceType(const Aws::String &value)
void SetId(const char *value)
Definition: InstanceGroup.h:70
InstanceGroup & WithId(Aws::String &&value)
Definition: InstanceGroup.h:80
void SetShrinkPolicy(const ShrinkPolicy &value)
void SetEbsOptimized(bool value)
void SetName(const char *value)
void SetName(Aws::String &&value)
InstanceGroup & WithName(const char *value)
InstanceGroup & AddConfigurations(const Configuration &value)
const Aws::String & GetInstanceType() const
void SetEbsBlockDevices(const Aws::Vector< EbsBlockDevice > &value)
const MarketType & GetMarket() const
InstanceGroup & WithStatus(const InstanceGroupStatus &value)
void SetInstanceGroupType(const InstanceGroupType &value)
InstanceGroup & WithShrinkPolicy(const ShrinkPolicy &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
InstanceGroup & WithConfigurations(const Aws::Vector< Configuration > &value)
const Aws::Vector< EbsBlockDevice > & GetEbsBlockDevices() const
void SetRunningInstanceCount(long value)
InstanceGroup & WithBidPrice(const Aws::String &value)
InstanceGroup & WithMarket(const MarketType &value)
void SetInstanceType(const char *value)
InstanceGroup & WithName(const Aws::String &value)
InstanceGroup & AddEbsBlockDevices(EbsBlockDevice &&value)
void SetConfigurations(Aws::Vector< Configuration > &&value)
const Aws::String & GetName() const
Definition: InstanceGroup.h:90
void SetMarket(MarketType &&value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:34
InstanceGroup & WithShrinkPolicy(ShrinkPolicy &&value)
void SetBidPrice(const Aws::String &value)
const ShrinkPolicy & GetShrinkPolicy() const
InstanceGroup & WithBidPrice(const char *value)
InstanceGroup & WithEbsBlockDevices(const Aws::Vector< EbsBlockDevice > &value)
InstanceGroup & AddEbsBlockDevices(const EbsBlockDevice &value)
JSON (JavaScript Object Notation).
InstanceGroup & WithInstanceType(Aws::String &&value)
InstanceGroup & WithConfigurations(Aws::Vector< Configuration > &&value)