AWS SDK for C++  0.14.3
AWS SDK for C++
JobFlowInstancesDetail.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
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Json
27 {
28  class JsonValue;
29 } // namespace Json
30 } // namespace Utils
31 namespace EMR
32 {
33 namespace Model
34 {
35 
40  {
41  public:
44  JobFlowInstancesDetail& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
45  Aws::Utils::Json::JsonValue Jsonize() const;
46 
50  inline const Aws::String& GetMasterInstanceType() const{ return m_masterInstanceType; }
51 
55  inline void SetMasterInstanceType(const Aws::String& value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType = value; }
56 
60  inline void SetMasterInstanceType(Aws::String&& value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType = value; }
61 
65  inline void SetMasterInstanceType(const char* value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType.assign(value); }
66 
70  inline JobFlowInstancesDetail& WithMasterInstanceType(const Aws::String& value) { SetMasterInstanceType(value); return *this;}
71 
75  inline JobFlowInstancesDetail& WithMasterInstanceType(Aws::String&& value) { SetMasterInstanceType(value); return *this;}
76 
80  inline JobFlowInstancesDetail& WithMasterInstanceType(const char* value) { SetMasterInstanceType(value); return *this;}
81 
85  inline const Aws::String& GetMasterPublicDnsName() const{ return m_masterPublicDnsName; }
86 
90  inline void SetMasterPublicDnsName(const Aws::String& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = value; }
91 
95  inline void SetMasterPublicDnsName(Aws::String&& value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName = value; }
96 
100  inline void SetMasterPublicDnsName(const char* value) { m_masterPublicDnsNameHasBeenSet = true; m_masterPublicDnsName.assign(value); }
101 
105  inline JobFlowInstancesDetail& WithMasterPublicDnsName(const Aws::String& value) { SetMasterPublicDnsName(value); return *this;}
106 
110  inline JobFlowInstancesDetail& WithMasterPublicDnsName(Aws::String&& value) { SetMasterPublicDnsName(value); return *this;}
111 
115  inline JobFlowInstancesDetail& WithMasterPublicDnsName(const char* value) { SetMasterPublicDnsName(value); return *this;}
116 
120  inline const Aws::String& GetMasterInstanceId() const{ return m_masterInstanceId; }
121 
125  inline void SetMasterInstanceId(const Aws::String& value) { m_masterInstanceIdHasBeenSet = true; m_masterInstanceId = value; }
126 
130  inline void SetMasterInstanceId(Aws::String&& value) { m_masterInstanceIdHasBeenSet = true; m_masterInstanceId = value; }
131 
135  inline void SetMasterInstanceId(const char* value) { m_masterInstanceIdHasBeenSet = true; m_masterInstanceId.assign(value); }
136 
140  inline JobFlowInstancesDetail& WithMasterInstanceId(const Aws::String& value) { SetMasterInstanceId(value); return *this;}
141 
145  inline JobFlowInstancesDetail& WithMasterInstanceId(Aws::String&& value) { SetMasterInstanceId(value); return *this;}
146 
150  inline JobFlowInstancesDetail& WithMasterInstanceId(const char* value) { SetMasterInstanceId(value); return *this;}
151 
155  inline const Aws::String& GetSlaveInstanceType() const{ return m_slaveInstanceType; }
156 
160  inline void SetSlaveInstanceType(const Aws::String& value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType = value; }
161 
165  inline void SetSlaveInstanceType(Aws::String&& value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType = value; }
166 
170  inline void SetSlaveInstanceType(const char* value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType.assign(value); }
171 
175  inline JobFlowInstancesDetail& WithSlaveInstanceType(const Aws::String& value) { SetSlaveInstanceType(value); return *this;}
176 
180  inline JobFlowInstancesDetail& WithSlaveInstanceType(Aws::String&& value) { SetSlaveInstanceType(value); return *this;}
181 
185  inline JobFlowInstancesDetail& WithSlaveInstanceType(const char* value) { SetSlaveInstanceType(value); return *this;}
186 
192  inline int GetInstanceCount() const{ return m_instanceCount; }
193 
199  inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
200 
206  inline JobFlowInstancesDetail& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
207 
211  inline const Aws::Vector<InstanceGroupDetail>& GetInstanceGroups() const{ return m_instanceGroups; }
212 
216  inline void SetInstanceGroups(const Aws::Vector<InstanceGroupDetail>& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups = value; }
217 
221  inline void SetInstanceGroups(Aws::Vector<InstanceGroupDetail>&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups = value; }
222 
226  inline JobFlowInstancesDetail& WithInstanceGroups(const Aws::Vector<InstanceGroupDetail>& value) { SetInstanceGroups(value); return *this;}
227 
231  inline JobFlowInstancesDetail& WithInstanceGroups(Aws::Vector<InstanceGroupDetail>&& value) { SetInstanceGroups(value); return *this;}
232 
236  inline JobFlowInstancesDetail& AddInstanceGroups(const InstanceGroupDetail& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(value); return *this; }
237 
241  inline JobFlowInstancesDetail& AddInstanceGroups(InstanceGroupDetail&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(value); return *this; }
242 
251  inline int GetNormalizedInstanceHours() const{ return m_normalizedInstanceHours; }
252 
261  inline void SetNormalizedInstanceHours(int value) { m_normalizedInstanceHoursHasBeenSet = true; m_normalizedInstanceHours = value; }
262 
271  inline JobFlowInstancesDetail& WithNormalizedInstanceHours(int value) { SetNormalizedInstanceHours(value); return *this;}
272 
277  inline const Aws::String& GetEc2KeyName() const{ return m_ec2KeyName; }
278 
283  inline void SetEc2KeyName(const Aws::String& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
284 
289  inline void SetEc2KeyName(Aws::String&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
290 
295  inline void SetEc2KeyName(const char* value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName.assign(value); }
296 
301  inline JobFlowInstancesDetail& WithEc2KeyName(const Aws::String& value) { SetEc2KeyName(value); return *this;}
302 
307  inline JobFlowInstancesDetail& WithEc2KeyName(Aws::String&& value) { SetEc2KeyName(value); return *this;}
308 
313  inline JobFlowInstancesDetail& WithEc2KeyName(const char* value) { SetEc2KeyName(value); return *this;}
314 
319  inline const Aws::String& GetEc2SubnetId() const{ return m_ec2SubnetId; }
320 
325  inline void SetEc2SubnetId(const Aws::String& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
326 
331  inline void SetEc2SubnetId(Aws::String&& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
332 
337  inline void SetEc2SubnetId(const char* value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId.assign(value); }
338 
343  inline JobFlowInstancesDetail& WithEc2SubnetId(const Aws::String& value) { SetEc2SubnetId(value); return *this;}
344 
349  inline JobFlowInstancesDetail& WithEc2SubnetId(Aws::String&& value) { SetEc2SubnetId(value); return *this;}
350 
355  inline JobFlowInstancesDetail& WithEc2SubnetId(const char* value) { SetEc2SubnetId(value); return *this;}
356 
360  inline const PlacementType& GetPlacement() const{ return m_placement; }
361 
365  inline void SetPlacement(const PlacementType& value) { m_placementHasBeenSet = true; m_placement = value; }
366 
370  inline void SetPlacement(PlacementType&& value) { m_placementHasBeenSet = true; m_placement = value; }
371 
375  inline JobFlowInstancesDetail& WithPlacement(const PlacementType& value) { SetPlacement(value); return *this;}
376 
380  inline JobFlowInstancesDetail& WithPlacement(PlacementType&& value) { SetPlacement(value); return *this;}
381 
386  inline bool GetKeepJobFlowAliveWhenNoSteps() const{ return m_keepJobFlowAliveWhenNoSteps; }
387 
392  inline void SetKeepJobFlowAliveWhenNoSteps(bool value) { m_keepJobFlowAliveWhenNoStepsHasBeenSet = true; m_keepJobFlowAliveWhenNoSteps = value; }
393 
398  inline JobFlowInstancesDetail& WithKeepJobFlowAliveWhenNoSteps(bool value) { SetKeepJobFlowAliveWhenNoSteps(value); return *this;}
399 
405  inline bool GetTerminationProtected() const{ return m_terminationProtected; }
406 
412  inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
413 
419  inline JobFlowInstancesDetail& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;}
420 
424  inline const Aws::String& GetHadoopVersion() const{ return m_hadoopVersion; }
425 
429  inline void SetHadoopVersion(const Aws::String& value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion = value; }
430 
434  inline void SetHadoopVersion(Aws::String&& value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion = value; }
435 
439  inline void SetHadoopVersion(const char* value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion.assign(value); }
440 
444  inline JobFlowInstancesDetail& WithHadoopVersion(const Aws::String& value) { SetHadoopVersion(value); return *this;}
445 
449  inline JobFlowInstancesDetail& WithHadoopVersion(Aws::String&& value) { SetHadoopVersion(value); return *this;}
450 
454  inline JobFlowInstancesDetail& WithHadoopVersion(const char* value) { SetHadoopVersion(value); return *this;}
455 
456  private:
457  Aws::String m_masterInstanceType;
458  bool m_masterInstanceTypeHasBeenSet;
459  Aws::String m_masterPublicDnsName;
460  bool m_masterPublicDnsNameHasBeenSet;
461  Aws::String m_masterInstanceId;
462  bool m_masterInstanceIdHasBeenSet;
463  Aws::String m_slaveInstanceType;
464  bool m_slaveInstanceTypeHasBeenSet;
465  int m_instanceCount;
466  bool m_instanceCountHasBeenSet;
467  Aws::Vector<InstanceGroupDetail> m_instanceGroups;
468  bool m_instanceGroupsHasBeenSet;
469  int m_normalizedInstanceHours;
470  bool m_normalizedInstanceHoursHasBeenSet;
471  Aws::String m_ec2KeyName;
472  bool m_ec2KeyNameHasBeenSet;
473  Aws::String m_ec2SubnetId;
474  bool m_ec2SubnetIdHasBeenSet;
475  PlacementType m_placement;
476  bool m_placementHasBeenSet;
477  bool m_keepJobFlowAliveWhenNoSteps;
478  bool m_keepJobFlowAliveWhenNoStepsHasBeenSet;
479  bool m_terminationProtected;
480  bool m_terminationProtectedHasBeenSet;
481  Aws::String m_hadoopVersion;
482  bool m_hadoopVersionHasBeenSet;
483  };
484 
485 } // namespace Model
486 } // namespace EMR
487 } // namespace Aws
JobFlowInstancesDetail & AddInstanceGroups(const InstanceGroupDetail &value)
void SetInstanceGroups(const Aws::Vector< InstanceGroupDetail > &value)
JobFlowInstancesDetail & WithSlaveInstanceType(const Aws::String &value)
JobFlowInstancesDetail & WithEc2SubnetId(Aws::String &&value)
JobFlowInstancesDetail & WithMasterInstanceId(const Aws::String &value)
void SetMasterInstanceType(const Aws::String &value)
JobFlowInstancesDetail & WithEc2KeyName(const Aws::String &value)
JobFlowInstancesDetail & WithInstanceCount(int value)
JobFlowInstancesDetail & WithMasterInstanceType(const char *value)
void SetSlaveInstanceType(const Aws::String &value)
void SetInstanceGroups(Aws::Vector< InstanceGroupDetail > &&value)
JobFlowInstancesDetail & WithMasterPublicDnsName(const char *value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
JobFlowInstancesDetail & WithEc2SubnetId(const char *value)
const Aws::String & GetSlaveInstanceType() const
void SetMasterInstanceId(const Aws::String &value)
const PlacementType & GetPlacement() const
const Aws::String & GetMasterPublicDnsName() const
JobFlowInstancesDetail & WithHadoopVersion(const Aws::String &value)
JobFlowInstancesDetail & WithPlacement(PlacementType &&value)
void SetPlacement(const PlacementType &value)
JobFlowInstancesDetail & WithMasterPublicDnsName(Aws::String &&value)
JobFlowInstancesDetail & WithMasterInstanceId(const char *value)
JobFlowInstancesDetail & AddInstanceGroups(InstanceGroupDetail &&value)
JobFlowInstancesDetail & WithEc2SubnetId(const Aws::String &value)
JobFlowInstancesDetail & WithHadoopVersion(const char *value)
JobFlowInstancesDetail & WithMasterPublicDnsName(const Aws::String &value)
JobFlowInstancesDetail & WithNormalizedInstanceHours(int value)
void SetHadoopVersion(const Aws::String &value)
JobFlowInstancesDetail & WithSlaveInstanceType(const char *value)
const Aws::Vector< InstanceGroupDetail > & GetInstanceGroups() const
JobFlowInstancesDetail & WithMasterInstanceId(Aws::String &&value)
JobFlowInstancesDetail & WithInstanceGroups(const Aws::Vector< InstanceGroupDetail > &value)
JobFlowInstancesDetail & WithEc2KeyName(const char *value)
const Aws::String & GetMasterInstanceType() const
JobFlowInstancesDetail & WithMasterInstanceType(Aws::String &&value)
JobFlowInstancesDetail & WithKeepJobFlowAliveWhenNoSteps(bool value)
JobFlowInstancesDetail & WithHadoopVersion(Aws::String &&value)
JobFlowInstancesDetail & WithPlacement(const PlacementType &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
JobFlowInstancesDetail & WithEc2KeyName(Aws::String &&value)
const Aws::String & GetHadoopVersion() const
JobFlowInstancesDetail & WithSlaveInstanceType(Aws::String &&value)
const Aws::String & GetMasterInstanceId() const
JobFlowInstancesDetail & WithTerminationProtected(bool value)
void SetEc2SubnetId(const Aws::String &value)
JobFlowInstancesDetail & WithMasterInstanceType(const Aws::String &value)
void SetMasterPublicDnsName(Aws::String &&value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:37
JobFlowInstancesDetail & WithInstanceGroups(Aws::Vector< InstanceGroupDetail > &&value)
void SetMasterPublicDnsName(const Aws::String &value)
JSON (JavaScript Object Notation).
void SetEc2KeyName(const Aws::String &value)