Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.awsconnector.inputs.AwsEmrClusterPropertiesArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.awsconnector.inputs;
import com.pulumi.azurenative.awsconnector.inputs.ApplicationArgs;
import com.pulumi.azurenative.awsconnector.inputs.ConfigurationArgs;
import com.pulumi.azurenative.awsconnector.inputs.Ec2InstanceAttributesArgs;
import com.pulumi.azurenative.awsconnector.inputs.EmrClusterStatusArgs;
import com.pulumi.azurenative.awsconnector.inputs.InstanceCollectionTypeEnumValueArgs;
import com.pulumi.azurenative.awsconnector.inputs.KerberosAttributesArgs;
import com.pulumi.azurenative.awsconnector.inputs.PlacementGroupConfigArgs;
import com.pulumi.azurenative.awsconnector.inputs.RepoUpgradeOnBootEnumValueArgs;
import com.pulumi.azurenative.awsconnector.inputs.ScaleDownBehaviorEnumValueArgs;
import com.pulumi.azurenative.awsconnector.inputs.TagArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Definition of awsEmrCluster
*
*/
public final class AwsEmrClusterPropertiesArgs extends com.pulumi.resources.ResourceArgs {
public static final AwsEmrClusterPropertiesArgs Empty = new AwsEmrClusterPropertiesArgs();
/**
* <p>The applications installed on this cluster.</p>
*
*/
@Import(name="applications")
private @Nullable Output> applications;
/**
* @return <p>The applications installed on this cluster.</p>
*
*/
public Optional>> applications() {
return Optional.ofNullable(this.applications);
}
/**
* <p>An IAM role for automatic scaling policies. The default role is <code>EMR_AutoScaling_DefaultRole</code>. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.</p>
*
*/
@Import(name="autoScalingRole")
private @Nullable Output autoScalingRole;
/**
* @return <p>An IAM role for automatic scaling policies. The default role is <code>EMR_AutoScaling_DefaultRole</code>. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.</p>
*
*/
public Optional> autoScalingRole() {
return Optional.ofNullable(this.autoScalingRole);
}
/**
* <p>Specifies whether the cluster should terminate after completing all steps.</p>
*
*/
@Import(name="autoTerminate")
private @Nullable Output autoTerminate;
/**
* @return <p>Specifies whether the cluster should terminate after completing all steps.</p>
*
*/
public Optional> autoTerminate() {
return Optional.ofNullable(this.autoTerminate);
}
/**
* <p>The Amazon Resource Name of the cluster.</p>
*
*/
@Import(name="clusterArn")
private @Nullable Output clusterArn;
/**
* @return <p>The Amazon Resource Name of the cluster.</p>
*
*/
public Optional> clusterArn() {
return Optional.ofNullable(this.clusterArn);
}
/**
* <p>Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.</p>
*
*/
@Import(name="configurations")
private @Nullable Output> configurations;
/**
* @return <p>Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.</p>
*
*/
public Optional>> configurations() {
return Optional.ofNullable(this.configurations);
}
/**
* <p>Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.</p>
*
*/
@Import(name="customAmiId")
private @Nullable Output customAmiId;
/**
* @return <p>Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.</p>
*
*/
public Optional> customAmiId() {
return Optional.ofNullable(this.customAmiId);
}
/**
* <p>The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
*/
@Import(name="ebsRootVolumeIops")
private @Nullable Output ebsRootVolumeIops;
/**
* @return <p>The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
*/
public Optional> ebsRootVolumeIops() {
return Optional.ofNullable(this.ebsRootVolumeIops);
}
/**
* <p>The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.</p>
*
*/
@Import(name="ebsRootVolumeSize")
private @Nullable Output ebsRootVolumeSize;
/**
* @return <p>The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.</p>
*
*/
public Optional> ebsRootVolumeSize() {
return Optional.ofNullable(this.ebsRootVolumeSize);
}
/**
* <p>The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
*/
@Import(name="ebsRootVolumeThroughput")
private @Nullable Output ebsRootVolumeThroughput;
/**
* @return <p>The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
*/
public Optional> ebsRootVolumeThroughput() {
return Optional.ofNullable(this.ebsRootVolumeThroughput);
}
/**
* <p>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.</p>
*
*/
@Import(name="ec2InstanceAttributes")
private @Nullable Output ec2InstanceAttributes;
/**
* @return <p>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.</p>
*
*/
public Optional> ec2InstanceAttributes() {
return Optional.ofNullable(this.ec2InstanceAttributes);
}
/**
* <p>The unique identifier for the cluster.</p>
*
*/
@Import(name="id")
private @Nullable Output id;
/**
* @return <p>The unique identifier for the cluster.</p>
*
*/
public Optional> id() {
return Optional.ofNullable(this.id);
}
/**
* <note> <p>The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.</p> </note> <p>The instance group configuration of the cluster. A value of <code>INSTANCE_GROUP</code> indicates a uniform instance group configuration. A value of <code>INSTANCE_FLEET</code> indicates an instance fleets configuration.</p>
*
*/
@Import(name="instanceCollectionType")
private @Nullable Output instanceCollectionType;
/**
* @return <note> <p>The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.</p> </note> <p>The instance group configuration of the cluster. A value of <code>INSTANCE_GROUP</code> indicates a uniform instance group configuration. A value of <code>INSTANCE_FLEET</code> indicates an instance fleets configuration.</p>
*
*/
public Optional> instanceCollectionType() {
return Optional.ofNullable(this.instanceCollectionType);
}
/**
* <p>Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see <a href='https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html'>Use Kerberos Authentication</a> in the <i>Amazon EMR Management Guide</i>.</p>
*
*/
@Import(name="kerberosAttributes")
private @Nullable Output kerberosAttributes;
/**
* @return <p>Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see <a href='https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html'>Use Kerberos Authentication</a> in the <i>Amazon EMR Management Guide</i>.</p>
*
*/
public Optional> kerberosAttributes() {
return Optional.ofNullable(this.kerberosAttributes);
}
/**
* <p> The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. </p>
*
*/
@Import(name="logEncryptionKmsKeyId")
private @Nullable Output logEncryptionKmsKeyId;
/**
* @return <p> The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. </p>
*
*/
public Optional> logEncryptionKmsKeyId() {
return Optional.ofNullable(this.logEncryptionKmsKeyId);
}
/**
* <p>The path to the Amazon S3 location where logs for this cluster are stored.</p>
*
*/
@Import(name="logUri")
private @Nullable Output logUri;
/**
* @return <p>The path to the Amazon S3 location where logs for this cluster are stored.</p>
*
*/
public Optional> logUri() {
return Optional.ofNullable(this.logUri);
}
/**
* <p>The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.</p>
*
*/
@Import(name="masterPublicDnsName")
private @Nullable Output masterPublicDnsName;
/**
* @return <p>The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.</p>
*
*/
public Optional> masterPublicDnsName() {
return Optional.ofNullable(this.masterPublicDnsName);
}
/**
* <p>The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).</p>
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return <p>The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).</p>
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* <p>An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.</p>
*
*/
@Import(name="normalizedInstanceHours")
private @Nullable Output normalizedInstanceHours;
/**
* @return <p>An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.</p>
*
*/
public Optional> normalizedInstanceHours() {
return Optional.ofNullable(this.normalizedInstanceHours);
}
/**
* <p>The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.</p>
*
*/
@Import(name="osReleaseLabel")
private @Nullable Output osReleaseLabel;
/**
* @return <p>The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.</p>
*
*/
public Optional> osReleaseLabel() {
return Optional.ofNullable(this.osReleaseLabel);
}
/**
* <p> The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. </p>
*
*/
@Import(name="outpostArn")
private @Nullable Output outpostArn;
/**
* @return <p> The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. </p>
*
*/
public Optional> outpostArn() {
return Optional.ofNullable(this.outpostArn);
}
/**
* <p>Placement group configured for an Amazon EMR cluster.</p>
*
*/
@Import(name="placementGroups")
private @Nullable Output> placementGroups;
/**
* @return <p>Placement group configured for an Amazon EMR cluster.</p>
*
*/
public Optional>> placementGroups() {
return Optional.ofNullable(this.placementGroups);
}
/**
* <p>The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form <code>emr-x.x.x</code>, where x.x.x is an Amazon EMR release version such as <code>emr-5.14.0</code>. For more information about Amazon EMR release versions and included application versions and features, see <a href='https://docs.aws.amazon.com/emr/latest/ReleaseGuide/'>https://docs.aws.amazon.com/emr/latest/ReleaseGuide/</a>. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use <code>AmiVersion</code>.</p>
*
*/
@Import(name="releaseLabel")
private @Nullable Output releaseLabel;
/**
* @return <p>The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form <code>emr-x.x.x</code>, where x.x.x is an Amazon EMR release version such as <code>emr-5.14.0</code>. For more information about Amazon EMR release versions and included application versions and features, see <a href='https://docs.aws.amazon.com/emr/latest/ReleaseGuide/'>https://docs.aws.amazon.com/emr/latest/ReleaseGuide/</a>. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use <code>AmiVersion</code>.</p>
*
*/
public Optional> releaseLabel() {
return Optional.ofNullable(this.releaseLabel);
}
/**
* <p>Applies only when <code>CustomAmiID</code> is used. Specifies the type of updates that the Amazon Linux AMI package repositories apply when an instance boots using the AMI.</p>
*
*/
@Import(name="repoUpgradeOnBoot")
private @Nullable Output repoUpgradeOnBoot;
/**
* @return <p>Applies only when <code>CustomAmiID</code> is used. Specifies the type of updates that the Amazon Linux AMI package repositories apply when an instance boots using the AMI.</p>
*
*/
public Optional> repoUpgradeOnBoot() {
return Optional.ofNullable(this.repoUpgradeOnBoot);
}
/**
* <p>The AMI version requested for this cluster.</p>
*
*/
@Import(name="requestedAmiVersion")
private @Nullable Output requestedAmiVersion;
/**
* @return <p>The AMI version requested for this cluster.</p>
*
*/
public Optional> requestedAmiVersion() {
return Optional.ofNullable(this.requestedAmiVersion);
}
/**
* <p>The AMI version running on this cluster.</p>
*
*/
@Import(name="runningAmiVersion")
private @Nullable Output runningAmiVersion;
/**
* @return <p>The AMI version running on this cluster.</p>
*
*/
public Optional> runningAmiVersion() {
return Optional.ofNullable(this.runningAmiVersion);
}
/**
* <p>The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. <code>TERMINATE_AT_TASK_COMPLETION</code> indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. <code>TERMINATE_AT_TASK_COMPLETION</code> is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.</p>
*
*/
@Import(name="scaleDownBehavior")
private @Nullable Output scaleDownBehavior;
/**
* @return <p>The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. <code>TERMINATE_AT_TASK_COMPLETION</code> indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. <code>TERMINATE_AT_TASK_COMPLETION</code> is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.</p>
*
*/
public Optional> scaleDownBehavior() {
return Optional.ofNullable(this.scaleDownBehavior);
}
/**
* <p>The name of the security configuration applied to the cluster.</p>
*
*/
@Import(name="securityConfiguration")
private @Nullable Output securityConfiguration;
/**
* @return <p>The name of the security configuration applied to the cluster.</p>
*
*/
public Optional> securityConfiguration() {
return Optional.ofNullable(this.securityConfiguration);
}
/**
* <p>The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.</p>
*
*/
@Import(name="serviceRole")
private @Nullable Output serviceRole;
/**
* @return <p>The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.</p>
*
*/
public Optional> serviceRole() {
return Optional.ofNullable(this.serviceRole);
}
/**
* <p>The current status details about the cluster.</p>
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return <p>The current status details about the cluster.</p>
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* <p>Specifies the number of steps that can be executed concurrently.</p>
*
*/
@Import(name="stepConcurrencyLevel")
private @Nullable Output stepConcurrencyLevel;
/**
* @return <p>Specifies the number of steps that can be executed concurrently.</p>
*
*/
public Optional> stepConcurrencyLevel() {
return Optional.ofNullable(this.stepConcurrencyLevel);
}
/**
* <p>A list of tags associated with a cluster.</p>
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return <p>A list of tags associated with a cluster.</p>
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* <p>Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.</p>
*
*/
@Import(name="terminationProtected")
private @Nullable Output terminationProtected;
/**
* @return <p>Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.</p>
*
*/
public Optional> terminationProtected() {
return Optional.ofNullable(this.terminationProtected);
}
/**
* <p>Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.</p>
*
*/
@Import(name="unhealthyNodeReplacement")
private @Nullable Output unhealthyNodeReplacement;
/**
* @return <p>Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.</p>
*
*/
public Optional> unhealthyNodeReplacement() {
return Optional.ofNullable(this.unhealthyNodeReplacement);
}
/**
* <p>Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated with the cluster. When <code>true</code>, IAM principals in the Amazon Web Services account can perform Amazon EMR cluster actions on the cluster that their IAM policies allow. When <code>false</code>, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform Amazon EMR actions, regardless of IAM permissions policies attached to other IAM principals.</p> <p>The default value is <code>true</code> if a value is not provided when creating a cluster using the Amazon EMR API <a>RunJobFlow</a> command, the CLI <a href='https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html'>create-cluster</a> command, or the Amazon Web Services Management Console.</p>
*
*/
@Import(name="visibleToAllUsers")
private @Nullable Output visibleToAllUsers;
/**
* @return <p>Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated with the cluster. When <code>true</code>, IAM principals in the Amazon Web Services account can perform Amazon EMR cluster actions on the cluster that their IAM policies allow. When <code>false</code>, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform Amazon EMR actions, regardless of IAM permissions policies attached to other IAM principals.</p> <p>The default value is <code>true</code> if a value is not provided when creating a cluster using the Amazon EMR API <a>RunJobFlow</a> command, the CLI <a href='https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html'>create-cluster</a> command, or the Amazon Web Services Management Console.</p>
*
*/
public Optional> visibleToAllUsers() {
return Optional.ofNullable(this.visibleToAllUsers);
}
private AwsEmrClusterPropertiesArgs() {}
private AwsEmrClusterPropertiesArgs(AwsEmrClusterPropertiesArgs $) {
this.applications = $.applications;
this.autoScalingRole = $.autoScalingRole;
this.autoTerminate = $.autoTerminate;
this.clusterArn = $.clusterArn;
this.configurations = $.configurations;
this.customAmiId = $.customAmiId;
this.ebsRootVolumeIops = $.ebsRootVolumeIops;
this.ebsRootVolumeSize = $.ebsRootVolumeSize;
this.ebsRootVolumeThroughput = $.ebsRootVolumeThroughput;
this.ec2InstanceAttributes = $.ec2InstanceAttributes;
this.id = $.id;
this.instanceCollectionType = $.instanceCollectionType;
this.kerberosAttributes = $.kerberosAttributes;
this.logEncryptionKmsKeyId = $.logEncryptionKmsKeyId;
this.logUri = $.logUri;
this.masterPublicDnsName = $.masterPublicDnsName;
this.name = $.name;
this.normalizedInstanceHours = $.normalizedInstanceHours;
this.osReleaseLabel = $.osReleaseLabel;
this.outpostArn = $.outpostArn;
this.placementGroups = $.placementGroups;
this.releaseLabel = $.releaseLabel;
this.repoUpgradeOnBoot = $.repoUpgradeOnBoot;
this.requestedAmiVersion = $.requestedAmiVersion;
this.runningAmiVersion = $.runningAmiVersion;
this.scaleDownBehavior = $.scaleDownBehavior;
this.securityConfiguration = $.securityConfiguration;
this.serviceRole = $.serviceRole;
this.status = $.status;
this.stepConcurrencyLevel = $.stepConcurrencyLevel;
this.tags = $.tags;
this.terminationProtected = $.terminationProtected;
this.unhealthyNodeReplacement = $.unhealthyNodeReplacement;
this.visibleToAllUsers = $.visibleToAllUsers;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AwsEmrClusterPropertiesArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AwsEmrClusterPropertiesArgs $;
public Builder() {
$ = new AwsEmrClusterPropertiesArgs();
}
public Builder(AwsEmrClusterPropertiesArgs defaults) {
$ = new AwsEmrClusterPropertiesArgs(Objects.requireNonNull(defaults));
}
/**
* @param applications <p>The applications installed on this cluster.</p>
*
* @return builder
*
*/
public Builder applications(@Nullable Output> applications) {
$.applications = applications;
return this;
}
/**
* @param applications <p>The applications installed on this cluster.</p>
*
* @return builder
*
*/
public Builder applications(List applications) {
return applications(Output.of(applications));
}
/**
* @param applications <p>The applications installed on this cluster.</p>
*
* @return builder
*
*/
public Builder applications(ApplicationArgs... applications) {
return applications(List.of(applications));
}
/**
* @param autoScalingRole <p>An IAM role for automatic scaling policies. The default role is <code>EMR_AutoScaling_DefaultRole</code>. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.</p>
*
* @return builder
*
*/
public Builder autoScalingRole(@Nullable Output autoScalingRole) {
$.autoScalingRole = autoScalingRole;
return this;
}
/**
* @param autoScalingRole <p>An IAM role for automatic scaling policies. The default role is <code>EMR_AutoScaling_DefaultRole</code>. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.</p>
*
* @return builder
*
*/
public Builder autoScalingRole(String autoScalingRole) {
return autoScalingRole(Output.of(autoScalingRole));
}
/**
* @param autoTerminate <p>Specifies whether the cluster should terminate after completing all steps.</p>
*
* @return builder
*
*/
public Builder autoTerminate(@Nullable Output autoTerminate) {
$.autoTerminate = autoTerminate;
return this;
}
/**
* @param autoTerminate <p>Specifies whether the cluster should terminate after completing all steps.</p>
*
* @return builder
*
*/
public Builder autoTerminate(Boolean autoTerminate) {
return autoTerminate(Output.of(autoTerminate));
}
/**
* @param clusterArn <p>The Amazon Resource Name of the cluster.</p>
*
* @return builder
*
*/
public Builder clusterArn(@Nullable Output clusterArn) {
$.clusterArn = clusterArn;
return this;
}
/**
* @param clusterArn <p>The Amazon Resource Name of the cluster.</p>
*
* @return builder
*
*/
public Builder clusterArn(String clusterArn) {
return clusterArn(Output.of(clusterArn));
}
/**
* @param configurations <p>Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder configurations(@Nullable Output> configurations) {
$.configurations = configurations;
return this;
}
/**
* @param configurations <p>Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder configurations(List configurations) {
return configurations(Output.of(configurations));
}
/**
* @param configurations <p>Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder configurations(ConfigurationArgs... configurations) {
return configurations(List.of(configurations));
}
/**
* @param customAmiId <p>Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.</p>
*
* @return builder
*
*/
public Builder customAmiId(@Nullable Output customAmiId) {
$.customAmiId = customAmiId;
return this;
}
/**
* @param customAmiId <p>Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.</p>
*
* @return builder
*
*/
public Builder customAmiId(String customAmiId) {
return customAmiId(Output.of(customAmiId));
}
/**
* @param ebsRootVolumeIops <p>The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeIops(@Nullable Output ebsRootVolumeIops) {
$.ebsRootVolumeIops = ebsRootVolumeIops;
return this;
}
/**
* @param ebsRootVolumeIops <p>The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeIops(Integer ebsRootVolumeIops) {
return ebsRootVolumeIops(Output.of(ebsRootVolumeIops));
}
/**
* @param ebsRootVolumeSize <p>The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeSize(@Nullable Output ebsRootVolumeSize) {
$.ebsRootVolumeSize = ebsRootVolumeSize;
return this;
}
/**
* @param ebsRootVolumeSize <p>The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeSize(Integer ebsRootVolumeSize) {
return ebsRootVolumeSize(Output.of(ebsRootVolumeSize));
}
/**
* @param ebsRootVolumeThroughput <p>The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeThroughput(@Nullable Output ebsRootVolumeThroughput) {
$.ebsRootVolumeThroughput = ebsRootVolumeThroughput;
return this;
}
/**
* @param ebsRootVolumeThroughput <p>The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.</p>
*
* @return builder
*
*/
public Builder ebsRootVolumeThroughput(Integer ebsRootVolumeThroughput) {
return ebsRootVolumeThroughput(Output.of(ebsRootVolumeThroughput));
}
/**
* @param ec2InstanceAttributes <p>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.</p>
*
* @return builder
*
*/
public Builder ec2InstanceAttributes(@Nullable Output ec2InstanceAttributes) {
$.ec2InstanceAttributes = ec2InstanceAttributes;
return this;
}
/**
* @param ec2InstanceAttributes <p>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.</p>
*
* @return builder
*
*/
public Builder ec2InstanceAttributes(Ec2InstanceAttributesArgs ec2InstanceAttributes) {
return ec2InstanceAttributes(Output.of(ec2InstanceAttributes));
}
/**
* @param id <p>The unique identifier for the cluster.</p>
*
* @return builder
*
*/
public Builder id(@Nullable Output id) {
$.id = id;
return this;
}
/**
* @param id <p>The unique identifier for the cluster.</p>
*
* @return builder
*
*/
public Builder id(String id) {
return id(Output.of(id));
}
/**
* @param instanceCollectionType <note> <p>The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.</p> </note> <p>The instance group configuration of the cluster. A value of <code>INSTANCE_GROUP</code> indicates a uniform instance group configuration. A value of <code>INSTANCE_FLEET</code> indicates an instance fleets configuration.</p>
*
* @return builder
*
*/
public Builder instanceCollectionType(@Nullable Output instanceCollectionType) {
$.instanceCollectionType = instanceCollectionType;
return this;
}
/**
* @param instanceCollectionType <note> <p>The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.</p> </note> <p>The instance group configuration of the cluster. A value of <code>INSTANCE_GROUP</code> indicates a uniform instance group configuration. A value of <code>INSTANCE_FLEET</code> indicates an instance fleets configuration.</p>
*
* @return builder
*
*/
public Builder instanceCollectionType(InstanceCollectionTypeEnumValueArgs instanceCollectionType) {
return instanceCollectionType(Output.of(instanceCollectionType));
}
/**
* @param kerberosAttributes <p>Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see <a href='https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html'>Use Kerberos Authentication</a> in the <i>Amazon EMR Management Guide</i>.</p>
*
* @return builder
*
*/
public Builder kerberosAttributes(@Nullable Output kerberosAttributes) {
$.kerberosAttributes = kerberosAttributes;
return this;
}
/**
* @param kerberosAttributes <p>Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see <a href='https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html'>Use Kerberos Authentication</a> in the <i>Amazon EMR Management Guide</i>.</p>
*
* @return builder
*
*/
public Builder kerberosAttributes(KerberosAttributesArgs kerberosAttributes) {
return kerberosAttributes(Output.of(kerberosAttributes));
}
/**
* @param logEncryptionKmsKeyId <p> The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. </p>
*
* @return builder
*
*/
public Builder logEncryptionKmsKeyId(@Nullable Output logEncryptionKmsKeyId) {
$.logEncryptionKmsKeyId = logEncryptionKmsKeyId;
return this;
}
/**
* @param logEncryptionKmsKeyId <p> The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. </p>
*
* @return builder
*
*/
public Builder logEncryptionKmsKeyId(String logEncryptionKmsKeyId) {
return logEncryptionKmsKeyId(Output.of(logEncryptionKmsKeyId));
}
/**
* @param logUri <p>The path to the Amazon S3 location where logs for this cluster are stored.</p>
*
* @return builder
*
*/
public Builder logUri(@Nullable Output logUri) {
$.logUri = logUri;
return this;
}
/**
* @param logUri <p>The path to the Amazon S3 location where logs for this cluster are stored.</p>
*
* @return builder
*
*/
public Builder logUri(String logUri) {
return logUri(Output.of(logUri));
}
/**
* @param masterPublicDnsName <p>The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.</p>
*
* @return builder
*
*/
public Builder masterPublicDnsName(@Nullable Output masterPublicDnsName) {
$.masterPublicDnsName = masterPublicDnsName;
return this;
}
/**
* @param masterPublicDnsName <p>The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.</p>
*
* @return builder
*
*/
public Builder masterPublicDnsName(String masterPublicDnsName) {
return masterPublicDnsName(Output.of(masterPublicDnsName));
}
/**
* @param name <p>The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).</p>
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name <p>The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).</p>
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param normalizedInstanceHours <p>An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.</p>
*
* @return builder
*
*/
public Builder normalizedInstanceHours(@Nullable Output normalizedInstanceHours) {
$.normalizedInstanceHours = normalizedInstanceHours;
return this;
}
/**
* @param normalizedInstanceHours <p>An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.</p>
*
* @return builder
*
*/
public Builder normalizedInstanceHours(Integer normalizedInstanceHours) {
return normalizedInstanceHours(Output.of(normalizedInstanceHours));
}
/**
* @param osReleaseLabel <p>The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.</p>
*
* @return builder
*
*/
public Builder osReleaseLabel(@Nullable Output osReleaseLabel) {
$.osReleaseLabel = osReleaseLabel;
return this;
}
/**
* @param osReleaseLabel <p>The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.</p>
*
* @return builder
*
*/
public Builder osReleaseLabel(String osReleaseLabel) {
return osReleaseLabel(Output.of(osReleaseLabel));
}
/**
* @param outpostArn <p> The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. </p>
*
* @return builder
*
*/
public Builder outpostArn(@Nullable Output outpostArn) {
$.outpostArn = outpostArn;
return this;
}
/**
* @param outpostArn <p> The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. </p>
*
* @return builder
*
*/
public Builder outpostArn(String outpostArn) {
return outpostArn(Output.of(outpostArn));
}
/**
* @param placementGroups <p>Placement group configured for an Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder placementGroups(@Nullable Output> placementGroups) {
$.placementGroups = placementGroups;
return this;
}
/**
* @param placementGroups <p>Placement group configured for an Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder placementGroups(List placementGroups) {
return placementGroups(Output.of(placementGroups));
}
/**
* @param placementGroups <p>Placement group configured for an Amazon EMR cluster.</p>
*
* @return builder
*
*/
public Builder placementGroups(PlacementGroupConfigArgs... placementGroups) {
return placementGroups(List.of(placementGroups));
}
/**
* @param releaseLabel <p>The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form <code>emr-x.x.x</code>, where x.x.x is an Amazon EMR release version such as <code>emr-5.14.0</code>. For more information about Amazon EMR release versions and included application versions and features, see <a href='https://docs.aws.amazon.com/emr/latest/ReleaseGuide/'>https://docs.aws.amazon.com/emr/latest/ReleaseGuide/</a>. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use <code>AmiVersion</code>.</p>
*
* @return builder
*
*/
public Builder releaseLabel(@Nullable Output releaseLabel) {
$.releaseLabel = releaseLabel;
return this;
}
/**
* @param releaseLabel <p>The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form <code>emr-x.x.x</code>, where x.x.x is an Amazon EMR release version such as <code>emr-5.14.0</code>. For more information about Amazon EMR release versions and included application versions and features, see <a href='https://docs.aws.amazon.com/emr/latest/ReleaseGuide/'>https://docs.aws.amazon.com/emr/latest/ReleaseGuide/</a>. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use <code>AmiVersion</code>.</p>
*
* @return builder
*
*/
public Builder releaseLabel(String releaseLabel) {
return releaseLabel(Output.of(releaseLabel));
}
/**
* @param repoUpgradeOnBoot <p>Applies only when <code>CustomAmiID</code> is used. Specifies the type of updates that the Amazon Linux AMI package repositories apply when an instance boots using the AMI.</p>
*
* @return builder
*
*/
public Builder repoUpgradeOnBoot(@Nullable Output repoUpgradeOnBoot) {
$.repoUpgradeOnBoot = repoUpgradeOnBoot;
return this;
}
/**
* @param repoUpgradeOnBoot <p>Applies only when <code>CustomAmiID</code> is used. Specifies the type of updates that the Amazon Linux AMI package repositories apply when an instance boots using the AMI.</p>
*
* @return builder
*
*/
public Builder repoUpgradeOnBoot(RepoUpgradeOnBootEnumValueArgs repoUpgradeOnBoot) {
return repoUpgradeOnBoot(Output.of(repoUpgradeOnBoot));
}
/**
* @param requestedAmiVersion <p>The AMI version requested for this cluster.</p>
*
* @return builder
*
*/
public Builder requestedAmiVersion(@Nullable Output requestedAmiVersion) {
$.requestedAmiVersion = requestedAmiVersion;
return this;
}
/**
* @param requestedAmiVersion <p>The AMI version requested for this cluster.</p>
*
* @return builder
*
*/
public Builder requestedAmiVersion(String requestedAmiVersion) {
return requestedAmiVersion(Output.of(requestedAmiVersion));
}
/**
* @param runningAmiVersion <p>The AMI version running on this cluster.</p>
*
* @return builder
*
*/
public Builder runningAmiVersion(@Nullable Output runningAmiVersion) {
$.runningAmiVersion = runningAmiVersion;
return this;
}
/**
* @param runningAmiVersion <p>The AMI version running on this cluster.</p>
*
* @return builder
*
*/
public Builder runningAmiVersion(String runningAmiVersion) {
return runningAmiVersion(Output.of(runningAmiVersion));
}
/**
* @param scaleDownBehavior <p>The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. <code>TERMINATE_AT_TASK_COMPLETION</code> indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. <code>TERMINATE_AT_TASK_COMPLETION</code> is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.</p>
*
* @return builder
*
*/
public Builder scaleDownBehavior(@Nullable Output scaleDownBehavior) {
$.scaleDownBehavior = scaleDownBehavior;
return this;
}
/**
* @param scaleDownBehavior <p>The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. <code>TERMINATE_AT_INSTANCE_HOUR</code> indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. <code>TERMINATE_AT_TASK_COMPLETION</code> indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. <code>TERMINATE_AT_TASK_COMPLETION</code> is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.</p>
*
* @return builder
*
*/
public Builder scaleDownBehavior(ScaleDownBehaviorEnumValueArgs scaleDownBehavior) {
return scaleDownBehavior(Output.of(scaleDownBehavior));
}
/**
* @param securityConfiguration <p>The name of the security configuration applied to the cluster.</p>
*
* @return builder
*
*/
public Builder securityConfiguration(@Nullable Output securityConfiguration) {
$.securityConfiguration = securityConfiguration;
return this;
}
/**
* @param securityConfiguration <p>The name of the security configuration applied to the cluster.</p>
*
* @return builder
*
*/
public Builder securityConfiguration(String securityConfiguration) {
return securityConfiguration(Output.of(securityConfiguration));
}
/**
* @param serviceRole <p>The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.</p>
*
* @return builder
*
*/
public Builder serviceRole(@Nullable Output serviceRole) {
$.serviceRole = serviceRole;
return this;
}
/**
* @param serviceRole <p>The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.</p>
*
* @return builder
*
*/
public Builder serviceRole(String serviceRole) {
return serviceRole(Output.of(serviceRole));
}
/**
* @param status <p>The current status details about the cluster.</p>
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status <p>The current status details about the cluster.</p>
*
* @return builder
*
*/
public Builder status(EmrClusterStatusArgs status) {
return status(Output.of(status));
}
/**
* @param stepConcurrencyLevel <p>Specifies the number of steps that can be executed concurrently.</p>
*
* @return builder
*
*/
public Builder stepConcurrencyLevel(@Nullable Output stepConcurrencyLevel) {
$.stepConcurrencyLevel = stepConcurrencyLevel;
return this;
}
/**
* @param stepConcurrencyLevel <p>Specifies the number of steps that can be executed concurrently.</p>
*
* @return builder
*
*/
public Builder stepConcurrencyLevel(Integer stepConcurrencyLevel) {
return stepConcurrencyLevel(Output.of(stepConcurrencyLevel));
}
/**
* @param tags <p>A list of tags associated with a cluster.</p>
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags <p>A list of tags associated with a cluster.</p>
*
* @return builder
*
*/
public Builder tags(List tags) {
return tags(Output.of(tags));
}
/**
* @param tags <p>A list of tags associated with a cluster.</p>
*
* @return builder
*
*/
public Builder tags(TagArgs... tags) {
return tags(List.of(tags));
}
/**
* @param terminationProtected <p>Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.</p>
*
* @return builder
*
*/
public Builder terminationProtected(@Nullable Output terminationProtected) {
$.terminationProtected = terminationProtected;
return this;
}
/**
* @param terminationProtected <p>Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.</p>
*
* @return builder
*
*/
public Builder terminationProtected(Boolean terminationProtected) {
return terminationProtected(Output.of(terminationProtected));
}
/**
* @param unhealthyNodeReplacement <p>Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.</p>
*
* @return builder
*
*/
public Builder unhealthyNodeReplacement(@Nullable Output unhealthyNodeReplacement) {
$.unhealthyNodeReplacement = unhealthyNodeReplacement;
return this;
}
/**
* @param unhealthyNodeReplacement <p>Indicates whether Amazon EMR should gracefully replace Amazon EC2 core instances that have degraded within the cluster.</p>
*
* @return builder
*
*/
public Builder unhealthyNodeReplacement(Boolean unhealthyNodeReplacement) {
return unhealthyNodeReplacement(Output.of(unhealthyNodeReplacement));
}
/**
* @param visibleToAllUsers <p>Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated with the cluster. When <code>true</code>, IAM principals in the Amazon Web Services account can perform Amazon EMR cluster actions on the cluster that their IAM policies allow. When <code>false</code>, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform Amazon EMR actions, regardless of IAM permissions policies attached to other IAM principals.</p> <p>The default value is <code>true</code> if a value is not provided when creating a cluster using the Amazon EMR API <a>RunJobFlow</a> command, the CLI <a href='https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html'>create-cluster</a> command, or the Amazon Web Services Management Console.</p>
*
* @return builder
*
*/
public Builder visibleToAllUsers(@Nullable Output visibleToAllUsers) {
$.visibleToAllUsers = visibleToAllUsers;
return this;
}
/**
* @param visibleToAllUsers <p>Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated with the cluster. When <code>true</code>, IAM principals in the Amazon Web Services account can perform Amazon EMR cluster actions on the cluster that their IAM policies allow. When <code>false</code>, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform Amazon EMR actions, regardless of IAM permissions policies attached to other IAM principals.</p> <p>The default value is <code>true</code> if a value is not provided when creating a cluster using the Amazon EMR API <a>RunJobFlow</a> command, the CLI <a href='https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html'>create-cluster</a> command, or the Amazon Web Services Management Console.</p>
*
* @return builder
*
*/
public Builder visibleToAllUsers(Boolean visibleToAllUsers) {
return visibleToAllUsers(Output.of(visibleToAllUsers));
}
public AwsEmrClusterPropertiesArgs build() {
return $;
}
}
}