AWS SDK for C++  0.14.3
AWS SDK for C++
Ec2InstanceAttributes.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
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Json
25 {
26  class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace EMR
30 {
31 namespace Model
32 {
33 
39  {
40  public:
43  Ec2InstanceAttributes& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
44  Aws::Utils::Json::JsonValue Jsonize() const;
45 
50  inline const Aws::String& GetEc2KeyName() const{ return m_ec2KeyName; }
51 
56  inline void SetEc2KeyName(const Aws::String& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
57 
62  inline void SetEc2KeyName(Aws::String&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; }
63 
68  inline void SetEc2KeyName(const char* value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName.assign(value); }
69 
74  inline Ec2InstanceAttributes& WithEc2KeyName(const Aws::String& value) { SetEc2KeyName(value); return *this;}
75 
80  inline Ec2InstanceAttributes& WithEc2KeyName(Aws::String&& value) { SetEc2KeyName(value); return *this;}
81 
86  inline Ec2InstanceAttributes& WithEc2KeyName(const char* value) { SetEc2KeyName(value); return *this;}
87 
96  inline const Aws::String& GetEc2SubnetId() const{ return m_ec2SubnetId; }
97 
106  inline void SetEc2SubnetId(const Aws::String& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
107 
116  inline void SetEc2SubnetId(Aws::String&& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; }
117 
126  inline void SetEc2SubnetId(const char* value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId.assign(value); }
127 
136  inline Ec2InstanceAttributes& WithEc2SubnetId(const Aws::String& value) { SetEc2SubnetId(value); return *this;}
137 
146  inline Ec2InstanceAttributes& WithEc2SubnetId(Aws::String&& value) { SetEc2SubnetId(value); return *this;}
147 
156  inline Ec2InstanceAttributes& WithEc2SubnetId(const char* value) { SetEc2SubnetId(value); return *this;}
157 
161  inline const Aws::String& GetEc2AvailabilityZone() const{ return m_ec2AvailabilityZone; }
162 
166  inline void SetEc2AvailabilityZone(const Aws::String& value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone = value; }
167 
171  inline void SetEc2AvailabilityZone(Aws::String&& value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone = value; }
172 
176  inline void SetEc2AvailabilityZone(const char* value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone.assign(value); }
177 
181  inline Ec2InstanceAttributes& WithEc2AvailabilityZone(const Aws::String& value) { SetEc2AvailabilityZone(value); return *this;}
182 
186  inline Ec2InstanceAttributes& WithEc2AvailabilityZone(Aws::String&& value) { SetEc2AvailabilityZone(value); return *this;}
187 
191  inline Ec2InstanceAttributes& WithEc2AvailabilityZone(const char* value) { SetEc2AvailabilityZone(value); return *this;}
192 
197  inline const Aws::String& GetIamInstanceProfile() const{ return m_iamInstanceProfile; }
198 
203  inline void SetIamInstanceProfile(const Aws::String& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
204 
209  inline void SetIamInstanceProfile(Aws::String&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
210 
215  inline void SetIamInstanceProfile(const char* value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile.assign(value); }
216 
221  inline Ec2InstanceAttributes& WithIamInstanceProfile(const Aws::String& value) { SetIamInstanceProfile(value); return *this;}
222 
227  inline Ec2InstanceAttributes& WithIamInstanceProfile(Aws::String&& value) { SetIamInstanceProfile(value); return *this;}
228 
233  inline Ec2InstanceAttributes& WithIamInstanceProfile(const char* value) { SetIamInstanceProfile(value); return *this;}
234 
238  inline const Aws::String& GetEmrManagedMasterSecurityGroup() const{ return m_emrManagedMasterSecurityGroup; }
239 
243  inline void SetEmrManagedMasterSecurityGroup(const Aws::String& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = value; }
244 
248  inline void SetEmrManagedMasterSecurityGroup(Aws::String&& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = value; }
249 
253  inline void SetEmrManagedMasterSecurityGroup(const char* value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup.assign(value); }
254 
258  inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(const Aws::String& value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
259 
263  inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(Aws::String&& value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
264 
268  inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(const char* value) { SetEmrManagedMasterSecurityGroup(value); return *this;}
269 
273  inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const{ return m_emrManagedSlaveSecurityGroup; }
274 
278  inline void SetEmrManagedSlaveSecurityGroup(const Aws::String& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = value; }
279 
283  inline void SetEmrManagedSlaveSecurityGroup(Aws::String&& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = value; }
284 
288  inline void SetEmrManagedSlaveSecurityGroup(const char* value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup.assign(value); }
289 
293  inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(const Aws::String& value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
294 
298  inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(Aws::String&& value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
299 
303  inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(const char* value) { SetEmrManagedSlaveSecurityGroup(value); return *this;}
304 
309  inline const Aws::String& GetServiceAccessSecurityGroup() const{ return m_serviceAccessSecurityGroup; }
310 
315  inline void SetServiceAccessSecurityGroup(const Aws::String& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = value; }
316 
321  inline void SetServiceAccessSecurityGroup(Aws::String&& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = value; }
322 
327  inline void SetServiceAccessSecurityGroup(const char* value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup.assign(value); }
328 
333  inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(const Aws::String& value) { SetServiceAccessSecurityGroup(value); return *this;}
334 
339  inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(Aws::String&& value) { SetServiceAccessSecurityGroup(value); return *this;}
340 
345  inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(const char* value) { SetServiceAccessSecurityGroup(value); return *this;}
346 
350  inline const Aws::Vector<Aws::String>& GetAdditionalMasterSecurityGroups() const{ return m_additionalMasterSecurityGroups; }
351 
355  inline void SetAdditionalMasterSecurityGroups(const Aws::Vector<Aws::String>& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups = value; }
356 
360  inline void SetAdditionalMasterSecurityGroups(Aws::Vector<Aws::String>&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups = value; }
361 
365  inline Ec2InstanceAttributes& WithAdditionalMasterSecurityGroups(const Aws::Vector<Aws::String>& value) { SetAdditionalMasterSecurityGroups(value); return *this;}
366 
370  inline Ec2InstanceAttributes& WithAdditionalMasterSecurityGroups(Aws::Vector<Aws::String>&& value) { SetAdditionalMasterSecurityGroups(value); return *this;}
371 
375  inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(const Aws::String& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
376 
380  inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(Aws::String&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
381 
385  inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(const char* value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; }
386 
390  inline const Aws::Vector<Aws::String>& GetAdditionalSlaveSecurityGroups() const{ return m_additionalSlaveSecurityGroups; }
391 
395  inline void SetAdditionalSlaveSecurityGroups(const Aws::Vector<Aws::String>& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups = value; }
396 
400  inline void SetAdditionalSlaveSecurityGroups(Aws::Vector<Aws::String>&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups = value; }
401 
405  inline Ec2InstanceAttributes& WithAdditionalSlaveSecurityGroups(const Aws::Vector<Aws::String>& value) { SetAdditionalSlaveSecurityGroups(value); return *this;}
406 
410  inline Ec2InstanceAttributes& WithAdditionalSlaveSecurityGroups(Aws::Vector<Aws::String>&& value) { SetAdditionalSlaveSecurityGroups(value); return *this;}
411 
415  inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(const Aws::String& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
416 
420  inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(Aws::String&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
421 
425  inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(const char* value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; }
426 
427  private:
428  Aws::String m_ec2KeyName;
429  bool m_ec2KeyNameHasBeenSet;
430  Aws::String m_ec2SubnetId;
431  bool m_ec2SubnetIdHasBeenSet;
432  Aws::String m_ec2AvailabilityZone;
433  bool m_ec2AvailabilityZoneHasBeenSet;
434  Aws::String m_iamInstanceProfile;
435  bool m_iamInstanceProfileHasBeenSet;
436  Aws::String m_emrManagedMasterSecurityGroup;
437  bool m_emrManagedMasterSecurityGroupHasBeenSet;
438  Aws::String m_emrManagedSlaveSecurityGroup;
439  bool m_emrManagedSlaveSecurityGroupHasBeenSet;
440  Aws::String m_serviceAccessSecurityGroup;
441  bool m_serviceAccessSecurityGroupHasBeenSet;
442  Aws::Vector<Aws::String> m_additionalMasterSecurityGroups;
443  bool m_additionalMasterSecurityGroupsHasBeenSet;
444  Aws::Vector<Aws::String> m_additionalSlaveSecurityGroups;
445  bool m_additionalSlaveSecurityGroupsHasBeenSet;
446  };
447 
448 } // namespace Model
449 } // namespace EMR
450 } // namespace Aws
Ec2InstanceAttributes & WithEc2KeyName(const char *value)
void SetServiceAccessSecurityGroup(const char *value)
Ec2InstanceAttributes & AddAdditionalSlaveSecurityGroups(const char *value)
Ec2InstanceAttributes & WithAdditionalMasterSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetServiceAccessSecurityGroup(const Aws::String &value)
const Aws::Vector< Aws::String > & GetAdditionalMasterSecurityGroups() const
Ec2InstanceAttributes & WithEc2SubnetId(Aws::String &&value)
void SetEc2KeyName(const Aws::String &value)
void SetEmrManagedSlaveSecurityGroup(Aws::String &&value)
void SetEmrManagedSlaveSecurityGroup(const Aws::String &value)
Ec2InstanceAttributes & WithEmrManagedSlaveSecurityGroup(Aws::String &&value)
const Aws::String & GetEc2KeyName() const
void SetEmrManagedMasterSecurityGroup(const Aws::String &value)
Ec2InstanceAttributes & WithServiceAccessSecurityGroup(Aws::String &&value)
Ec2InstanceAttributes & WithEc2AvailabilityZone(const Aws::String &value)
void SetServiceAccessSecurityGroup(Aws::String &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
Ec2InstanceAttributes & WithEmrManagedSlaveSecurityGroup(const char *value)
Ec2InstanceAttributes & WithIamInstanceProfile(const char *value)
Ec2InstanceAttributes & AddAdditionalMasterSecurityGroups(const char *value)
const Aws::String & GetServiceAccessSecurityGroup() const
Ec2InstanceAttributes & WithEc2KeyName(const Aws::String &value)
const Aws::String & GetIamInstanceProfile() const
Ec2InstanceAttributes & WithEmrManagedMasterSecurityGroup(const char *value)
void SetIamInstanceProfile(const Aws::String &value)
void SetEmrManagedSlaveSecurityGroup(const char *value)
Ec2InstanceAttributes & WithIamInstanceProfile(const Aws::String &value)
Ec2InstanceAttributes & AddAdditionalSlaveSecurityGroups(Aws::String &&value)
Ec2InstanceAttributes & WithEc2KeyName(Aws::String &&value)
void SetIamInstanceProfile(Aws::String &&value)
Ec2InstanceAttributes & WithEmrManagedSlaveSecurityGroup(const Aws::String &value)
const Aws::String & GetEc2SubnetId() const
Ec2InstanceAttributes & WithEmrManagedMasterSecurityGroup(Aws::String &&value)
Ec2InstanceAttributes & AddAdditionalMasterSecurityGroups(const Aws::String &value)
const Aws::String & GetEc2AvailabilityZone() const
Ec2InstanceAttributes & WithAdditionalSlaveSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetAdditionalSlaveSecurityGroups(Aws::Vector< Aws::String > &&value)
Ec2InstanceAttributes & WithEc2AvailabilityZone(Aws::String &&value)
void SetEc2AvailabilityZone(Aws::String &&value)
void SetEmrManagedMasterSecurityGroup(const char *value)
const Aws::String & GetEmrManagedSlaveSecurityGroup() const
Ec2InstanceAttributes & WithIamInstanceProfile(Aws::String &&value)
Ec2InstanceAttributes & WithServiceAccessSecurityGroup(const Aws::String &value)
void SetAdditionalMasterSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetEc2SubnetId(const Aws::String &value)
Ec2InstanceAttributes & WithEc2AvailabilityZone(const char *value)
void SetEc2AvailabilityZone(const Aws::String &value)
Ec2InstanceAttributes & WithAdditionalMasterSecurityGroups(const Aws::Vector< Aws::String > &value)
Ec2InstanceAttributes & WithAdditionalSlaveSecurityGroups(const Aws::Vector< Aws::String > &value)
Ec2InstanceAttributes & WithEmrManagedMasterSecurityGroup(const Aws::String &value)
Ec2InstanceAttributes & WithServiceAccessSecurityGroup(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::Vector< Aws::String > & GetAdditionalSlaveSecurityGroups() const
Ec2InstanceAttributes & AddAdditionalSlaveSecurityGroups(const Aws::String &value)
void SetAdditionalMasterSecurityGroups(const Aws::Vector< Aws::String > &value)
void SetEmrManagedMasterSecurityGroup(Aws::String &&value)
Ec2InstanceAttributes & WithEc2SubnetId(const Aws::String &value)
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:37
void SetAdditionalSlaveSecurityGroups(const Aws::Vector< Aws::String > &value)
Ec2InstanceAttributes & WithEc2SubnetId(const char *value)
JSON (JavaScript Object Notation).
const Aws::String & GetEmrManagedMasterSecurityGroup() const
Ec2InstanceAttributes & AddAdditionalMasterSecurityGroups(Aws::String &&value)