/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticmapreduce.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must * contain either InstanceGroups or InstanceFleets. They cannot be used together. You may also have MasterInstanceType, * SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class JobFlowInstancesConfig implements Serializable, Cloneable, StructuredPojo { /** ** The Amazon EC2 instance type of the master node. *
*/ private String masterInstanceType; /** ** The Amazon EC2 instance type of the core and task nodes. *
*/ private String slaveInstanceType; /** ** The number of Amazon EC2 instances in the cluster. *
*/ private Integer instanceCount; /** ** Configuration for the instance groups in a cluster. *
*/ private com.amazonaws.internal.SdkInternalList* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x * versions. *
** Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet * configuration. *
*/ private com.amazonaws.internal.SdkInternalList* The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called * "hadoop." *
*/ private String ec2KeyName; /** ** The Availability Zone in which the cluster runs. *
*/ private PlacementType placement; /** *
* Specifies whether the cluster should remain available after completing all steps. Defaults to true
.
* For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
*
* Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user * intervention, or in the event of a job-flow error. *
*/ private Boolean terminationProtected; /** *
* Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs
* are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3",
* "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default version of Hadoop for
* that AMI version is used.
*
* Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual * Private Cloud (Amazon VPC), 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. *
*/ private String ec2SubnetId; /** ** Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified, * Amazon EMR evaluates them and launches instances in the optimal subnet. *
** The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x * versions. *
*
* The identifier of the Amazon EC2 security group for the master node. If you specify
* EmrManagedMasterSecurityGroup
, you must also specify EmrManagedSlaveSecurityGroup
.
*
* The identifier of the Amazon EC2 security group for the core and task nodes. If you specify
* EmrManagedSlaveSecurityGroup
, you must also specify EmrManagedMasterSecurityGroup
.
*
* The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private * subnets. *
*/ private String serviceAccessSecurityGroup; /** ** A list of additional Amazon EC2 security group IDs for the master node. *
*/ private com.amazonaws.internal.SdkInternalList* A list of additional Amazon EC2 security group IDs for the core and task nodes. *
*/ private com.amazonaws.internal.SdkInternalList* The Amazon EC2 instance type of the master node. *
* * @param masterInstanceType * The Amazon EC2 instance type of the master node. */ public void setMasterInstanceType(String masterInstanceType) { this.masterInstanceType = masterInstanceType; } /** ** The Amazon EC2 instance type of the master node. *
* * @return The Amazon EC2 instance type of the master node. */ public String getMasterInstanceType() { return this.masterInstanceType; } /** ** The Amazon EC2 instance type of the master node. *
* * @param masterInstanceType * The Amazon EC2 instance type of the master node. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withMasterInstanceType(String masterInstanceType) { setMasterInstanceType(masterInstanceType); return this; } /** ** The Amazon EC2 instance type of the core and task nodes. *
* * @param slaveInstanceType * The Amazon EC2 instance type of the core and task nodes. */ public void setSlaveInstanceType(String slaveInstanceType) { this.slaveInstanceType = slaveInstanceType; } /** ** The Amazon EC2 instance type of the core and task nodes. *
* * @return The Amazon EC2 instance type of the core and task nodes. */ public String getSlaveInstanceType() { return this.slaveInstanceType; } /** ** The Amazon EC2 instance type of the core and task nodes. *
* * @param slaveInstanceType * The Amazon EC2 instance type of the core and task nodes. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withSlaveInstanceType(String slaveInstanceType) { setSlaveInstanceType(slaveInstanceType); return this; } /** ** The number of Amazon EC2 instances in the cluster. *
* * @param instanceCount * The number of Amazon EC2 instances in the cluster. */ public void setInstanceCount(Integer instanceCount) { this.instanceCount = instanceCount; } /** ** The number of Amazon EC2 instances in the cluster. *
* * @return The number of Amazon EC2 instances in the cluster. */ public Integer getInstanceCount() { return this.instanceCount; } /** ** The number of Amazon EC2 instances in the cluster. *
* * @param instanceCount * The number of Amazon EC2 instances in the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withInstanceCount(Integer instanceCount) { setInstanceCount(instanceCount); return this; } /** ** Configuration for the instance groups in a cluster. *
* * @return Configuration for the instance groups in a cluster. */ public java.util.List* Configuration for the instance groups in a cluster. *
* * @param instanceGroups * Configuration for the instance groups in a cluster. */ public void setInstanceGroups(java.util.Collection* Configuration for the instance groups in a cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setInstanceGroups(java.util.Collection)} or {@link #withInstanceGroups(java.util.Collection)} if you want * to override the existing values. *
* * @param instanceGroups * Configuration for the instance groups in a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withInstanceGroups(InstanceGroupConfig... instanceGroups) { if (this.instanceGroups == null) { setInstanceGroups(new com.amazonaws.internal.SdkInternalList* Configuration for the instance groups in a cluster. *
* * @param instanceGroups * Configuration for the instance groups in a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withInstanceGroups(java.util.Collection* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x * versions. *
** Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet * configuration. *
* * @return* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding * 5.0.x versions. *
* *
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
*/
public java.util.List
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
*/
public void setInstanceFleets(java.util.Collection
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setInstanceFleets(java.util.Collection)} or {@link #withInstanceFleets(java.util.Collection)} if you want
* to override the existing values.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withInstanceFleets(InstanceFleetConfig... instanceFleets) {
if (this.instanceFleets == null) {
setInstanceFleets(new com.amazonaws.internal.SdkInternalList
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet
* configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withInstanceFleets(java.util.Collection
* The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called
* "hadoop."
*
* The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called
* "hadoop."
*
* The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called
* "hadoop."
*
* The Availability Zone in which the cluster runs.
*
* The Availability Zone in which the cluster runs.
*
* The Availability Zone in which the cluster runs.
*
* Specifies whether the cluster should remain available after completing all steps. Defaults to
* Specifies whether the cluster should remain available after completing all steps. Defaults to
* Specifies whether the cluster should remain available after completing all steps. Defaults to
* Specifies whether the cluster should remain available after completing all steps. Defaults to
* Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user
* intervention, or in the event of a job-flow error.
*
* Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user
* intervention, or in the event of a job-flow error.
*
* Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user
* intervention, or in the event of a job-flow error.
*
* Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user
* intervention, or in the event of a job-flow error.
*
* Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs
* are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3",
* "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the
*
* Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs
* are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3",
* "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the
*
* Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs
* are "0.18" (no longer maintained), "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3",
* "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is used, unless the
*
* Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual
* Private Cloud (Amazon VPC), 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.
*
* Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual
* Private Cloud (Amazon VPC), 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.
*
* Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual
* Private Cloud (Amazon VPC), 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.
*
* Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified,
* Amazon EMR evaluates them and launches instances in the optimal subnet.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding
* 5.0.x versions.
*
* Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified,
* Amazon EMR evaluates them and launches instances in the optimal subnet.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified,
* Amazon EMR evaluates them and launches instances in the optimal subnet.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEc2SubnetIds(java.util.Collection)} or {@link #withEc2SubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
*
* Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified,
* Amazon EMR evaluates them and launches instances in the optimal subnet.
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x
* versions.
* true
.
* For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
* true
. For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
*/
public void setKeepJobFlowAliveWhenNoSteps(Boolean keepJobFlowAliveWhenNoSteps) {
this.keepJobFlowAliveWhenNoSteps = keepJobFlowAliveWhenNoSteps;
}
/**
* true
.
* For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
* true
. For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
*/
public Boolean getKeepJobFlowAliveWhenNoSteps() {
return this.keepJobFlowAliveWhenNoSteps;
}
/**
* true
.
* For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
* true
. For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withKeepJobFlowAliveWhenNoSteps(Boolean keepJobFlowAliveWhenNoSteps) {
setKeepJobFlowAliveWhenNoSteps(keepJobFlowAliveWhenNoSteps);
return this;
}
/**
* true
.
* For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
* true
. For more information about configuring cluster termination, see Control Cluster
* Termination in the EMR Management Guide.
*/
public Boolean isKeepJobFlowAliveWhenNoSteps() {
return this.keepJobFlowAliveWhenNoSteps;
}
/**
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default version of Hadoop for
* that AMI version is used.
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default
* version of Hadoop for that AMI version is used.
*/
public void setHadoopVersion(String hadoopVersion) {
this.hadoopVersion = hadoopVersion;
}
/**
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default version of Hadoop for
* that AMI version is used.
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default
* version of Hadoop for that AMI version is used.
*/
public String getHadoopVersion() {
return this.hadoopVersion;
}
/**
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default version of Hadoop for
* that AMI version is used.
* AmiVersion
parameter is set in the RunJobFlow call, in which case the default
* version of Hadoop for that AMI version is used.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withHadoopVersion(String hadoopVersion) {
setHadoopVersion(hadoopVersion);
return this;
}
/**
*
* The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x * versions. *
* @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withEc2SubnetIds(java.util.Collection
* The identifier of the Amazon EC2 security group for the master node. If you specify
* EmrManagedMasterSecurityGroup
, you must also specify EmrManagedSlaveSecurityGroup
.
*
EmrManagedMasterSecurityGroup
, you must also specify
* EmrManagedSlaveSecurityGroup
.
*/
public void setEmrManagedMasterSecurityGroup(String emrManagedMasterSecurityGroup) {
this.emrManagedMasterSecurityGroup = emrManagedMasterSecurityGroup;
}
/**
*
* The identifier of the Amazon EC2 security group for the master node. If you specify
* EmrManagedMasterSecurityGroup
, you must also specify EmrManagedSlaveSecurityGroup
.
*
EmrManagedMasterSecurityGroup
, you must also specify
* EmrManagedSlaveSecurityGroup
.
*/
public String getEmrManagedMasterSecurityGroup() {
return this.emrManagedMasterSecurityGroup;
}
/**
*
* The identifier of the Amazon EC2 security group for the master node. If you specify
* EmrManagedMasterSecurityGroup
, you must also specify EmrManagedSlaveSecurityGroup
.
*
EmrManagedMasterSecurityGroup
, you must also specify
* EmrManagedSlaveSecurityGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withEmrManagedMasterSecurityGroup(String emrManagedMasterSecurityGroup) {
setEmrManagedMasterSecurityGroup(emrManagedMasterSecurityGroup);
return this;
}
/**
*
* The identifier of the Amazon EC2 security group for the core and task nodes. If you specify
* EmrManagedSlaveSecurityGroup
, you must also specify EmrManagedMasterSecurityGroup
.
*
EmrManagedSlaveSecurityGroup
, you must also specify
* EmrManagedMasterSecurityGroup
.
*/
public void setEmrManagedSlaveSecurityGroup(String emrManagedSlaveSecurityGroup) {
this.emrManagedSlaveSecurityGroup = emrManagedSlaveSecurityGroup;
}
/**
*
* The identifier of the Amazon EC2 security group for the core and task nodes. If you specify
* EmrManagedSlaveSecurityGroup
, you must also specify EmrManagedMasterSecurityGroup
.
*
EmrManagedSlaveSecurityGroup
, you must also specify
* EmrManagedMasterSecurityGroup
.
*/
public String getEmrManagedSlaveSecurityGroup() {
return this.emrManagedSlaveSecurityGroup;
}
/**
*
* The identifier of the Amazon EC2 security group for the core and task nodes. If you specify
* EmrManagedSlaveSecurityGroup
, you must also specify EmrManagedMasterSecurityGroup
.
*
EmrManagedSlaveSecurityGroup
, you must also specify
* EmrManagedMasterSecurityGroup
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobFlowInstancesConfig withEmrManagedSlaveSecurityGroup(String emrManagedSlaveSecurityGroup) {
setEmrManagedSlaveSecurityGroup(emrManagedSlaveSecurityGroup);
return this;
}
/**
* * The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private * subnets. *
* * @param serviceAccessSecurityGroup * The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC * private subnets. */ public void setServiceAccessSecurityGroup(String serviceAccessSecurityGroup) { this.serviceAccessSecurityGroup = serviceAccessSecurityGroup; } /** ** The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private * subnets. *
* * @return The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC * private subnets. */ public String getServiceAccessSecurityGroup() { return this.serviceAccessSecurityGroup; } /** ** The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private * subnets. *
* * @param serviceAccessSecurityGroup * The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC * private subnets. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withServiceAccessSecurityGroup(String serviceAccessSecurityGroup) { setServiceAccessSecurityGroup(serviceAccessSecurityGroup); return this; } /** ** A list of additional Amazon EC2 security group IDs for the master node. *
* * @return A list of additional Amazon EC2 security group IDs for the master node. */ public java.util.List* A list of additional Amazon EC2 security group IDs for the master node. *
* * @param additionalMasterSecurityGroups * A list of additional Amazon EC2 security group IDs for the master node. */ public void setAdditionalMasterSecurityGroups(java.util.Collection* A list of additional Amazon EC2 security group IDs for the master node. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAdditionalMasterSecurityGroups(java.util.Collection)} or * {@link #withAdditionalMasterSecurityGroups(java.util.Collection)} if you want to override the existing values. *
* * @param additionalMasterSecurityGroups * A list of additional Amazon EC2 security group IDs for the master node. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withAdditionalMasterSecurityGroups(String... additionalMasterSecurityGroups) { if (this.additionalMasterSecurityGroups == null) { setAdditionalMasterSecurityGroups(new com.amazonaws.internal.SdkInternalList* A list of additional Amazon EC2 security group IDs for the master node. *
* * @param additionalMasterSecurityGroups * A list of additional Amazon EC2 security group IDs for the master node. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withAdditionalMasterSecurityGroups(java.util.Collection* A list of additional Amazon EC2 security group IDs for the core and task nodes. *
* * @return A list of additional Amazon EC2 security group IDs for the core and task nodes. */ public java.util.List* A list of additional Amazon EC2 security group IDs for the core and task nodes. *
* * @param additionalSlaveSecurityGroups * A list of additional Amazon EC2 security group IDs for the core and task nodes. */ public void setAdditionalSlaveSecurityGroups(java.util.Collection* A list of additional Amazon EC2 security group IDs for the core and task nodes. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAdditionalSlaveSecurityGroups(java.util.Collection)} or * {@link #withAdditionalSlaveSecurityGroups(java.util.Collection)} if you want to override the existing values. *
* * @param additionalSlaveSecurityGroups * A list of additional Amazon EC2 security group IDs for the core and task nodes. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withAdditionalSlaveSecurityGroups(String... additionalSlaveSecurityGroups) { if (this.additionalSlaveSecurityGroups == null) { setAdditionalSlaveSecurityGroups(new com.amazonaws.internal.SdkInternalList* A list of additional Amazon EC2 security group IDs for the core and task nodes. *
* * @param additionalSlaveSecurityGroups * A list of additional Amazon EC2 security group IDs for the core and task nodes. * @return Returns a reference to this object so that method calls can be chained together. */ public JobFlowInstancesConfig withAdditionalSlaveSecurityGroups(java.util.Collection