AWS SDK for C++  0.14.3
AWS SDK for C++
JobFlowInstancesConfig.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 
44  {
45  public:
48  JobFlowInstancesConfig& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
49  Aws::Utils::Json::JsonValue Jsonize() const;
50 
54  inline const Aws::String& GetMasterInstanceType() const{ return m_masterInstanceType; }
55 
59  inline void SetMasterInstanceType(const Aws::String& value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType = value; }
60 
64  inline void SetMasterInstanceType(Aws::String&& value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType = value; }
65 
69  inline void SetMasterInstanceType(const char* value) { m_masterInstanceTypeHasBeenSet = true; m_masterInstanceType.assign(value); }
70 
74  inline JobFlowInstancesConfig& WithMasterInstanceType(const Aws::String& value) { SetMasterInstanceType(value); return *this;}
75 
79  inline JobFlowInstancesConfig& WithMasterInstanceType(Aws::String&& value) { SetMasterInstanceType(value); return *this;}
80 
84  inline JobFlowInstancesConfig& WithMasterInstanceType(const char* value) { SetMasterInstanceType(value); return *this;}
85 
89  inline const Aws::String& GetSlaveInstanceType() const{ return m_slaveInstanceType; }
90 
94  inline void SetSlaveInstanceType(const Aws::String& value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType = value; }
95 
99  inline void SetSlaveInstanceType(Aws::String&& value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType = value; }
100 
104  inline void SetSlaveInstanceType(const char* value) { m_slaveInstanceTypeHasBeenSet = true; m_slaveInstanceType.assign(value); }
105 
109  inline JobFlowInstancesConfig& WithSlaveInstanceType(const Aws::String& value) { SetSlaveInstanceType(value); return *this;}
110 
114  inline JobFlowInstancesConfig& WithSlaveInstanceType(Aws::String&& value) { SetSlaveInstanceType(value); return *this;}
115 
119  inline JobFlowInstancesConfig& WithSlaveInstanceType(const char* value) { SetSlaveInstanceType(value); return *this;}
120 
124  inline int GetInstanceCount() const{ return m_instanceCount; }
125 
129  inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
130 
134  inline JobFlowInstancesConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
135 
139  inline const Aws::Vector<InstanceGroupConfig>& GetInstanceGroups() const{ return m_instanceGroups; }
140 
144  inline void SetInstanceGroups(const Aws::Vector<InstanceGroupConfig>& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups = value; }
145 
149  inline void SetInstanceGroups(Aws::Vector<InstanceGroupConfig>&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups = value; }
150 
154  inline JobFlowInstancesConfig& WithInstanceGroups(const Aws::Vector<InstanceGroupConfig>& value) { SetInstanceGroups(value); return *this;}
155 
159  inline JobFlowInstancesConfig& WithInstanceGroups(Aws::Vector<InstanceGroupConfig>&& value) { SetInstanceGroups(value); return *this;}
160 
164  inline JobFlowInstancesConfig& AddInstanceGroups(const InstanceGroupConfig& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(value); return *this; }
165 
169  inline JobFlowInstancesConfig& AddInstanceGroups(InstanceGroupConfig&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(value); return *this; }
170 
175  inline const Aws::String& GetEc2KeyName() const{ return m_ec2KeyName; }
176 
181  inline void SetEc2KeyName(const Aws::String& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
182 
187  inline void SetEc2KeyName(Aws::String&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
188 
193  inline void SetEc2KeyName(const char* value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName.assign(value); }
194 
199  inline JobFlowInstancesConfig& WithEc2KeyName(const Aws::String& value) { SetEc2KeyName(value); return *this;}
200 
205  inline JobFlowInstancesConfig& WithEc2KeyName(Aws::String&& value) { SetEc2KeyName(value); return *this;}
206 
211  inline JobFlowInstancesConfig& WithEc2KeyName(const char* value) { SetEc2KeyName(value); return *this;}
212 
216  inline const PlacementType& GetPlacement() const{ return m_placement; }
217 
221  inline void SetPlacement(const PlacementType& value) { m_placementHasBeenSet = true; m_placement = value; }
222 
226  inline void SetPlacement(PlacementType&& value) { m_placementHasBeenSet = true; m_placement = value; }
227 
231  inline JobFlowInstancesConfig& WithPlacement(const PlacementType& value) { SetPlacement(value); return *this;}
232 
236  inline JobFlowInstancesConfig& WithPlacement(PlacementType&& value) { SetPlacement(value); return *this;}
237 
242  inline bool GetKeepJobFlowAliveWhenNoSteps() const{ return m_keepJobFlowAliveWhenNoSteps; }
243 
248  inline void SetKeepJobFlowAliveWhenNoSteps(bool value) { m_keepJobFlowAliveWhenNoStepsHasBeenSet = true; m_keepJobFlowAliveWhenNoSteps = value; }
249 
254  inline JobFlowInstancesConfig& WithKeepJobFlowAliveWhenNoSteps(bool value) { SetKeepJobFlowAliveWhenNoSteps(value); return *this;}
255 
261  inline bool GetTerminationProtected() const{ return m_terminationProtected; }
262 
268  inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; }
269 
275  inline JobFlowInstancesConfig& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;}
276 
284  inline const Aws::String& GetHadoopVersion() const{ return m_hadoopVersion; }
285 
293  inline void SetHadoopVersion(const Aws::String& value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion = value; }
294 
302  inline void SetHadoopVersion(Aws::String&& value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion = value; }
303 
311  inline void SetHadoopVersion(const char* value) { m_hadoopVersionHasBeenSet = true; m_hadoopVersion.assign(value); }
312 
320  inline JobFlowInstancesConfig& WithHadoopVersion(const Aws::String& value) { SetHadoopVersion(value); return *this;}
321 
329  inline JobFlowInstancesConfig& WithHadoopVersion(Aws::String&& value) { SetHadoopVersion(value); return *this;}
330 
338  inline JobFlowInstancesConfig& WithHadoopVersion(const char* value) { SetHadoopVersion(value); return *this;}
339 
349  inline const Aws::String& GetEc2SubnetId() const{ return m_ec2SubnetId; }
350 
360  inline void SetEc2SubnetId(const Aws::String& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
361 
371  inline void SetEc2SubnetId(Aws::String&& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
372 
382  inline void SetEc2SubnetId(const char* value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId.assign(value); }
383 
393  inline JobFlowInstancesConfig& WithEc2SubnetId(const Aws::String& value) { SetEc2SubnetId(value); return *this;}
394 
404  inline JobFlowInstancesConfig& WithEc2SubnetId(Aws::String&& value) { SetEc2SubnetId(value); return *this;}
405 
415  inline JobFlowInstancesConfig& WithEc2SubnetId(const char* value) { SetEc2SubnetId(value); return *this;}
416 
420  inline const Aws::String& GetEmrManagedMasterSecurityGroup() const{ return m_emrManagedMasterSecurityGroup; }
421 
425  inline void SetEmrManagedMasterSecurityGroup(const Aws::String& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = value; }
426 
430  inline void SetEmrManagedMasterSecurityGroup(Aws::String&& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = value; }
431 
435  inline void SetEmrManagedMasterSecurityGroup(const char* value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup.assign(value); }
436 
440  inline JobFlowInstancesConfig& WithEmrManagedMasterSecurityGroup(const Aws::String& value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
441 
445  inline JobFlowInstancesConfig& WithEmrManagedMasterSecurityGroup(Aws::String&& value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
446 
450  inline JobFlowInstancesConfig& WithEmrManagedMasterSecurityGroup(const char* value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
451 
455  inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const{ return m_emrManagedSlaveSecurityGroup; }
456 
460  inline void SetEmrManagedSlaveSecurityGroup(const Aws::String& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = value; }
461 
465  inline void SetEmrManagedSlaveSecurityGroup(Aws::String&& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = value; }
466 
470  inline void SetEmrManagedSlaveSecurityGroup(const char* value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup.assign(value); }
471 
475  inline JobFlowInstancesConfig& WithEmrManagedSlaveSecurityGroup(const Aws::String& value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
476 
480  inline JobFlowInstancesConfig& WithEmrManagedSlaveSecurityGroup(Aws::String&& value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
481 
485  inline JobFlowInstancesConfig& WithEmrManagedSlaveSecurityGroup(const char* value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
486 
491  inline const Aws::String& GetServiceAccessSecurityGroup() const{ return m_serviceAccessSecurityGroup; }
492 
497  inline void SetServiceAccessSecurityGroup(const Aws::String& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = value; }
498 
503  inline void SetServiceAccessSecurityGroup(Aws::String&& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = value; }
504 
509  inline void SetServiceAccessSecurityGroup(const char* value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup.assign(value); }
510 
515  inline JobFlowInstancesConfig& WithServiceAccessSecurityGroup(const Aws::String& value) { SetServiceAccessSecurityGroup(value); return *this;}
516 
521  inline JobFlowInstancesConfig& WithServiceAccessSecurityGroup(Aws::String&& value) { SetServiceAccessSecurityGroup(value); return *this;}
522 
527  inline JobFlowInstancesConfig& WithServiceAccessSecurityGroup(const char* value) { SetServiceAccessSecurityGroup(value); return *this;}
528 
532  inline const Aws::Vector<Aws::String>& GetAdditionalMasterSecurityGroups() const{ return m_additionalMasterSecurityGroups; }
533 
537  inline void SetAdditionalMasterSecurityGroups(const Aws::Vector<Aws::String>& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups = value; }
538 
542  inline void SetAdditionalMasterSecurityGroups(Aws::Vector<Aws::String>&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups = value; }
543 
547  inline JobFlowInstancesConfig& WithAdditionalMasterSecurityGroups(const Aws::Vector<Aws::String>& value) { SetAdditionalMasterSecurityGroups(value); return *this;}
548 
552  inline JobFlowInstancesConfig& WithAdditionalMasterSecurityGroups(Aws::Vector<Aws::String>&& value) { SetAdditionalMasterSecurityGroups(value); return *this;}
553 
557  inline JobFlowInstancesConfig& AddAdditionalMasterSecurityGroups(const Aws::String& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
558 
562  inline JobFlowInstancesConfig& AddAdditionalMasterSecurityGroups(Aws::String&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
563 
567  inline JobFlowInstancesConfig& AddAdditionalMasterSecurityGroups(const char* value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
568 
572  inline const Aws::Vector<Aws::String>& GetAdditionalSlaveSecurityGroups() const{ return m_additionalSlaveSecurityGroups; }
573 
577  inline void SetAdditionalSlaveSecurityGroups(const Aws::Vector<Aws::String>& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups = value; }
578 
582  inline void SetAdditionalSlaveSecurityGroups(Aws::Vector<Aws::String>&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups = value; }
583 
587  inline JobFlowInstancesConfig& WithAdditionalSlaveSecurityGroups(const Aws::Vector<Aws::String>& value) { SetAdditionalSlaveSecurityGroups(value); return *this;}
588 
592  inline JobFlowInstancesConfig& WithAdditionalSlaveSecurityGroups(Aws::Vector<Aws::String>&& value) { SetAdditionalSlaveSecurityGroups(value); return *this;}
593 
597  inline JobFlowInstancesConfig& AddAdditionalSlaveSecurityGroups(const Aws::String& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
598 
602  inline JobFlowInstancesConfig& AddAdditionalSlaveSecurityGroups(Aws::String&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
603 
607  inline JobFlowInstancesConfig& AddAdditionalSlaveSecurityGroups(const char* value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
608 
609  private:
610  Aws::String m_masterInstanceType;
611  bool m_masterInstanceTypeHasBeenSet;
612  Aws::String m_slaveInstanceType;
613  bool m_slaveInstanceTypeHasBeenSet;
614  int m_instanceCount;
615  bool m_instanceCountHasBeenSet;
616  Aws::Vector<InstanceGroupConfig> m_instanceGroups;
617  bool m_instanceGroupsHasBeenSet;
618  Aws::String m_ec2KeyName;
619  bool m_ec2KeyNameHasBeenSet;
620  PlacementType m_placement;
621  bool m_placementHasBeenSet;
622  bool m_keepJobFlowAliveWhenNoSteps;
623  bool m_keepJobFlowAliveWhenNoStepsHasBeenSet;
624  bool m_terminationProtected;
625  bool m_terminationProtectedHasBeenSet;
626  Aws::String m_hadoopVersion;
627  bool m_hadoopVersionHasBeenSet;
628  Aws::String m_ec2SubnetId;
629  bool m_ec2SubnetIdHasBeenSet;
630  Aws::String m_emrManagedMasterSecurityGroup;
631  bool m_emrManagedMasterSecurityGroupHasBeenSet;
632  Aws::String m_emrManagedSlaveSecurityGroup;
633  bool m_emrManagedSlaveSecurityGroupHasBeenSet;
634  Aws::String m_serviceAccessSecurityGroup;
635  bool m_serviceAccessSecurityGroupHasBeenSet;
636  Aws::Vector<Aws::String> m_additionalMasterSecurityGroups;
637  bool m_additionalMasterSecurityGroupsHasBeenSet;
638  Aws::Vector<Aws::String> m_additionalSlaveSecurityGroups;
639  bool m_additionalSlaveSecurityGroupsHasBeenSet;
640  };
641 
642 } // namespace Model
643 } // namespace EMR
644 } // namespace Aws
JobFlowInstancesConfig & WithEc2SubnetId(Aws::String &&value)
void SetEmrManagedSlaveSecurityGroup(Aws::String &&value)
JobFlowInstancesConfig & WithHadoopVersion(Aws::String &&value)
void SetEmrManagedMasterSecurityGroup(const char *value)
JobFlowInstancesConfig & WithEc2SubnetId(const char *value)
const Aws::String & GetServiceAccessSecurityGroup() const
JobFlowInstancesConfig & WithHadoopVersion(const Aws::String &value)
void SetAdditionalMasterSecurityGroups(Aws::Vector< Aws::String > &&value)
JobFlowInstancesConfig & WithEmrManagedSlaveSecurityGroup(const Aws::String &value)
void SetEmrManagedMasterSecurityGroup(const Aws::String &value)
JobFlowInstancesConfig & WithEc2SubnetId(const Aws::String &value)
JobFlowInstancesConfig & WithMasterInstanceType(const Aws::String &value)
void SetAdditionalMasterSecurityGroups(const Aws::Vector< Aws::String > &value)
void SetEmrManagedSlaveSecurityGroup(const char *value)
JobFlowInstancesConfig & WithInstanceCount(int value)
JobFlowInstancesConfig & WithServiceAccessSecurityGroup(Aws::String &&value)
JobFlowInstancesConfig & WithAdditionalMasterSecurityGroups(const Aws::Vector< Aws::String > &value)
JobFlowInstancesConfig & AddAdditionalSlaveSecurityGroups(const char *value)
JobFlowInstancesConfig & WithKeepJobFlowAliveWhenNoSteps(bool value)
JobFlowInstancesConfig & AddAdditionalMasterSecurityGroups(Aws::String &&value)
const Aws::String & GetSlaveInstanceType() const
JobFlowInstancesConfig & AddAdditionalSlaveSecurityGroups(Aws::String &&value)
void SetMasterInstanceType(const Aws::String &value)
void SetServiceAccessSecurityGroup(const Aws::String &value)
void SetAdditionalSlaveSecurityGroups(Aws::Vector< Aws::String > &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
JobFlowInstancesConfig & WithSlaveInstanceType(const Aws::String &value)
const Aws::String & GetEmrManagedSlaveSecurityGroup() const
JobFlowInstancesConfig & AddAdditionalMasterSecurityGroups(const char *value)
JobFlowInstancesConfig & AddAdditionalMasterSecurityGroups(const Aws::String &value)
void SetPlacement(const PlacementType &value)
JobFlowInstancesConfig & WithAdditionalSlaveSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetServiceAccessSecurityGroup(Aws::String &&value)
JobFlowInstancesConfig & WithEmrManagedMasterSecurityGroup(const Aws::String &value)
JobFlowInstancesConfig & WithPlacement(const PlacementType &value)
JobFlowInstancesConfig & WithMasterInstanceType(Aws::String &&value)
JobFlowInstancesConfig & WithEc2KeyName(Aws::String &&value)
JobFlowInstancesConfig & AddAdditionalSlaveSecurityGroups(const Aws::String &value)
JobFlowInstancesConfig & WithEc2KeyName(const Aws::String &value)
JobFlowInstancesConfig & WithServiceAccessSecurityGroup(const Aws::String &value)
void SetEc2SubnetId(const Aws::String &value)
void SetInstanceGroups(const Aws::Vector< InstanceGroupConfig > &value)
const Aws::Vector< Aws::String > & GetAdditionalSlaveSecurityGroups() const
JobFlowInstancesConfig & WithHadoopVersion(const char *value)
void SetEmrManagedSlaveSecurityGroup(const Aws::String &value)
void SetSlaveInstanceType(const Aws::String &value)
const Aws::String & GetHadoopVersion() const
const Aws::String & GetEmrManagedMasterSecurityGroup() const
JobFlowInstancesConfig & WithSlaveInstanceType(Aws::String &&value)
JobFlowInstancesConfig & WithEc2KeyName(const char *value)
JobFlowInstancesConfig & WithInstanceGroups(Aws::Vector< InstanceGroupConfig > &&value)
JobFlowInstancesConfig & WithEmrManagedSlaveSecurityGroup(Aws::String &&value)
const Aws::Vector< Aws::String > & GetAdditionalMasterSecurityGroups() const
const Aws::String & GetMasterInstanceType() const
JobFlowInstancesConfig & WithSlaveInstanceType(const char *value)
JobFlowInstancesConfig & AddInstanceGroups(const InstanceGroupConfig &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetAdditionalSlaveSecurityGroups(const Aws::Vector< Aws::String > &value)
JobFlowInstancesConfig & WithInstanceGroups(const Aws::Vector< InstanceGroupConfig > &value)
void SetEc2KeyName(const Aws::String &value)
const Aws::Vector< InstanceGroupConfig > & GetInstanceGroups() const
JobFlowInstancesConfig & WithEmrManagedSlaveSecurityGroup(const char *value)
JobFlowInstancesConfig & WithServiceAccessSecurityGroup(const char *value)
JobFlowInstancesConfig & AddInstanceGroups(InstanceGroupConfig &&value)
JobFlowInstancesConfig & WithTerminationProtected(bool value)
void SetHadoopVersion(const Aws::String &value)
void SetInstanceGroups(Aws::Vector< InstanceGroupConfig > &&value)
void SetEmrManagedMasterSecurityGroup(Aws::String &&value)
const PlacementType & GetPlacement() const
JobFlowInstancesConfig & WithAdditionalMasterSecurityGroups(Aws::Vector< Aws::String > &&value)
JobFlowInstancesConfig & WithPlacement(PlacementType &&value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:37
JobFlowInstancesConfig & WithEmrManagedMasterSecurityGroup(Aws::String &&value)
JobFlowInstancesConfig & WithMasterInstanceType(const char *value)
JobFlowInstancesConfig & WithAdditionalSlaveSecurityGroups(const Aws::Vector< Aws::String > &value)
JobFlowInstancesConfig & WithEmrManagedMasterSecurityGroup(const char *value)
JSON (JavaScript Object Notation).