/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides information about the Amazon EC2 instances in a cluster grouped by
* category. For example, key name, subnet ID, IAM instance profile, and so
* on.See Also:
AWS
* API Reference
The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline const Aws::String& GetEc2KeyName() const{ return m_ec2KeyName; } /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline bool Ec2KeyNameHasBeenSet() const { return m_ec2KeyNameHasBeenSet; } /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline void SetEc2KeyName(const Aws::String& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = value; } /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline void SetEc2KeyName(Aws::String&& value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName = std::move(value); } /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline void SetEc2KeyName(const char* value) { m_ec2KeyNameHasBeenSet = true; m_ec2KeyName.assign(value); } /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline Ec2InstanceAttributes& WithEc2KeyName(const Aws::String& value) { SetEc2KeyName(value); return *this;} /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline Ec2InstanceAttributes& WithEc2KeyName(Aws::String&& value) { SetEc2KeyName(std::move(value)); return *this;} /** *The name of the Amazon EC2 key pair to use when connecting with SSH into the * master node as a user named "hadoop".
*/ inline Ec2InstanceAttributes& WithEc2KeyName(const char* value) { SetEc2KeyName(value); return *this;} /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline const Aws::String& GetEc2SubnetId() const{ return m_ec2SubnetId; } /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline bool Ec2SubnetIdHasBeenSet() const { return m_ec2SubnetIdHasBeenSet; } /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline void SetEc2SubnetId(const Aws::String& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = value; } /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline void SetEc2SubnetId(Aws::String&& value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId = std::move(value); } /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline void SetEc2SubnetId(const char* value) { m_ec2SubnetIdHasBeenSet = true; m_ec2SubnetId.assign(value); } /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline Ec2InstanceAttributes& WithEc2SubnetId(const Aws::String& value) { SetEc2SubnetId(value); return *this;} /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline Ec2InstanceAttributes& WithEc2SubnetId(Aws::String&& value) { SetEc2SubnetId(std::move(value)); return *this;} /** *Set this parameter to the identifier of the Amazon VPC subnet where you want * the cluster to launch. If you do not specify this value, and your account * supports EC2-Classic, the cluster launches in EC2-Classic.
*/ inline Ec2InstanceAttributes& WithEc2SubnetId(const char* value) { SetEc2SubnetId(value); return *this;} /** *Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies the
* unique identifier of one or more Amazon EC2 subnets in which to launch Amazon
* EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
* chooses the Amazon EC2 subnet with the best fit from among the list of
* RequestedEc2SubnetIds
, and then launches all cluster instances
* within that Subnet. If this value is not specified, and the account and Region
* support EC2-Classic networks, the cluster launches instances in the EC2-Classic
* network and uses RequestedEc2AvailabilityZones
instead of this
* setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR
* chooses the subnet for you. RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
The Availability Zone in which the cluster will run.
*/ inline const Aws::String& GetEc2AvailabilityZone() const{ return m_ec2AvailabilityZone; } /** *The Availability Zone in which the cluster will run.
*/ inline bool Ec2AvailabilityZoneHasBeenSet() const { return m_ec2AvailabilityZoneHasBeenSet; } /** *The Availability Zone in which the cluster will run.
*/ inline void SetEc2AvailabilityZone(const Aws::String& value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone = value; } /** *The Availability Zone in which the cluster will run.
*/ inline void SetEc2AvailabilityZone(Aws::String&& value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone = std::move(value); } /** *The Availability Zone in which the cluster will run.
*/ inline void SetEc2AvailabilityZone(const char* value) { m_ec2AvailabilityZoneHasBeenSet = true; m_ec2AvailabilityZone.assign(value); } /** *The Availability Zone in which the cluster will run.
*/ inline Ec2InstanceAttributes& WithEc2AvailabilityZone(const Aws::String& value) { SetEc2AvailabilityZone(value); return *this;} /** *The Availability Zone in which the cluster will run.
*/ inline Ec2InstanceAttributes& WithEc2AvailabilityZone(Aws::String&& value) { SetEc2AvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone in which the cluster will run.
*/ inline Ec2InstanceAttributes& WithEc2AvailabilityZone(const char* value) { SetEc2AvailabilityZone(value); return *this;} /** *Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
Applies to clusters configured with the instance fleets option. Specifies one
* or more Availability Zones in which to launch Amazon EC2 cluster instances when
* the EC2-Classic network configuration is supported. Amazon EMR chooses the
* Availability Zone with the best fit from among the list of
* RequestedEc2AvailabilityZones
, and then launches all cluster
* instances within that Availability Zone. If you do not specify this value,
* Amazon EMR chooses the Availability Zone for you.
* RequestedEc2SubnetIDs
and
* RequestedEc2AvailabilityZones
cannot be specified together.
The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline const Aws::String& GetIamInstanceProfile() const{ return m_iamInstanceProfile; } /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline void SetIamInstanceProfile(const Aws::String& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; } /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline void SetIamInstanceProfile(Aws::String&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); } /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline void SetIamInstanceProfile(const char* value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile.assign(value); } /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline Ec2InstanceAttributes& WithIamInstanceProfile(const Aws::String& value) { SetIamInstanceProfile(value); return *this;} /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline Ec2InstanceAttributes& WithIamInstanceProfile(Aws::String&& value) { SetIamInstanceProfile(std::move(value)); return *this;} /** *The IAM role that was specified when the cluster was launched. The Amazon EC2 * instances of the cluster assume this role.
*/ inline Ec2InstanceAttributes& WithIamInstanceProfile(const char* value) { SetIamInstanceProfile(value); return *this;} /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline const Aws::String& GetEmrManagedMasterSecurityGroup() const{ return m_emrManagedMasterSecurityGroup; } /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline bool EmrManagedMasterSecurityGroupHasBeenSet() const { return m_emrManagedMasterSecurityGroupHasBeenSet; } /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline void SetEmrManagedMasterSecurityGroup(const Aws::String& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = value; } /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline void SetEmrManagedMasterSecurityGroup(Aws::String&& value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup = std::move(value); } /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline void SetEmrManagedMasterSecurityGroup(const char* value) { m_emrManagedMasterSecurityGroupHasBeenSet = true; m_emrManagedMasterSecurityGroup.assign(value); } /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(const Aws::String& value) { SetEmrManagedMasterSecurityGroup(value); return *this;} /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(Aws::String&& value) { SetEmrManagedMasterSecurityGroup(std::move(value)); return *this;} /** *The identifier of the Amazon EC2 security group for the master node.
*/ inline Ec2InstanceAttributes& WithEmrManagedMasterSecurityGroup(const char* value) { SetEmrManagedMasterSecurityGroup(value); return *this;} /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline const Aws::String& GetEmrManagedSlaveSecurityGroup() const{ return m_emrManagedSlaveSecurityGroup; } /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline bool EmrManagedSlaveSecurityGroupHasBeenSet() const { return m_emrManagedSlaveSecurityGroupHasBeenSet; } /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline void SetEmrManagedSlaveSecurityGroup(const Aws::String& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = value; } /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline void SetEmrManagedSlaveSecurityGroup(Aws::String&& value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup = std::move(value); } /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline void SetEmrManagedSlaveSecurityGroup(const char* value) { m_emrManagedSlaveSecurityGroupHasBeenSet = true; m_emrManagedSlaveSecurityGroup.assign(value); } /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(const Aws::String& value) { SetEmrManagedSlaveSecurityGroup(value); return *this;} /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(Aws::String&& value) { SetEmrManagedSlaveSecurityGroup(std::move(value)); return *this;} /** *The identifier of the Amazon EC2 security group for the core and task * nodes.
*/ inline Ec2InstanceAttributes& WithEmrManagedSlaveSecurityGroup(const char* value) { SetEmrManagedSlaveSecurityGroup(value); return *this;} /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline const Aws::String& GetServiceAccessSecurityGroup() const{ return m_serviceAccessSecurityGroup; } /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline bool ServiceAccessSecurityGroupHasBeenSet() const { return m_serviceAccessSecurityGroupHasBeenSet; } /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline void SetServiceAccessSecurityGroup(const Aws::String& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = value; } /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline void SetServiceAccessSecurityGroup(Aws::String&& value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup = std::move(value); } /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline void SetServiceAccessSecurityGroup(const char* value) { m_serviceAccessSecurityGroupHasBeenSet = true; m_serviceAccessSecurityGroup.assign(value); } /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(const Aws::String& value) { SetServiceAccessSecurityGroup(value); return *this;} /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(Aws::String&& value) { SetServiceAccessSecurityGroup(std::move(value)); return *this;} /** *The identifier of the Amazon EC2 security group for the Amazon EMR service to * access clusters in VPC private subnets.
*/ inline Ec2InstanceAttributes& WithServiceAccessSecurityGroup(const char* value) { SetServiceAccessSecurityGroup(value); return *this;} /** *A list of additional Amazon EC2 security group IDs for the master node.
*/ inline const Aws::VectorA list of additional Amazon EC2 security group IDs for the master node.
*/ inline bool AdditionalMasterSecurityGroupsHasBeenSet() const { return m_additionalMasterSecurityGroupsHasBeenSet; } /** *A list of additional Amazon EC2 security group IDs for the master node.
*/ inline void SetAdditionalMasterSecurityGroups(const Aws::VectorA list of additional Amazon EC2 security group IDs for the master node.
*/ inline void SetAdditionalMasterSecurityGroups(Aws::VectorA list of additional Amazon EC2 security group IDs for the master node.
*/ inline Ec2InstanceAttributes& WithAdditionalMasterSecurityGroups(const Aws::VectorA list of additional Amazon EC2 security group IDs for the master node.
*/ inline Ec2InstanceAttributes& WithAdditionalMasterSecurityGroups(Aws::VectorA list of additional Amazon EC2 security group IDs for the master node.
*/ inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(const Aws::String& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; } /** *A list of additional Amazon EC2 security group IDs for the master node.
*/ inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(Aws::String&& value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(std::move(value)); return *this; } /** *A list of additional Amazon EC2 security group IDs for the master node.
*/ inline Ec2InstanceAttributes& AddAdditionalMasterSecurityGroups(const char* value) { m_additionalMasterSecurityGroupsHasBeenSet = true; m_additionalMasterSecurityGroups.push_back(value); return *this; } /** *A list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline const Aws::VectorA list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline bool AdditionalSlaveSecurityGroupsHasBeenSet() const { return m_additionalSlaveSecurityGroupsHasBeenSet; } /** *A list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline void SetAdditionalSlaveSecurityGroups(const Aws::VectorA list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline void SetAdditionalSlaveSecurityGroups(Aws::VectorA list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline Ec2InstanceAttributes& WithAdditionalSlaveSecurityGroups(const Aws::VectorA list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline Ec2InstanceAttributes& WithAdditionalSlaveSecurityGroups(Aws::VectorA list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(const Aws::String& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; } /** *A list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(Aws::String&& value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(std::move(value)); return *this; } /** *A list of additional Amazon EC2 security group IDs for the core and task * nodes.
*/ inline Ec2InstanceAttributes& AddAdditionalSlaveSecurityGroups(const char* value) { m_additionalSlaveSecurityGroupsHasBeenSet = true; m_additionalSlaveSecurityGroups.push_back(value); return *this; } private: Aws::String m_ec2KeyName; bool m_ec2KeyNameHasBeenSet = false; Aws::String m_ec2SubnetId; bool m_ec2SubnetIdHasBeenSet = false; Aws::Vector