Interface ICfnClusterProps
Properties for defining a CfnCluster
.
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface ICfnClusterProps
Syntax (vb)
Public Interface ICfnClusterProps
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EMR;
var additionalInfo;
ConfigurationProperty configurationProperty_;
var cfnClusterProps = new CfnClusterProps {
Instances = new JobFlowInstancesConfigProperty {
AdditionalMasterSecurityGroups = new [] { "additionalMasterSecurityGroups" },
AdditionalSlaveSecurityGroups = new [] { "additionalSlaveSecurityGroups" },
CoreInstanceFleet = new InstanceFleetConfigProperty {
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
InstanceType = "instanceType",
// the properties below are optional
BidPrice = "bidPrice",
BidPriceAsPercentageOfOnDemandPrice = 123,
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy"
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123,
// the properties below are optional
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123
}
},
Name = "name",
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
},
CoreInstanceGroup = new InstanceGroupConfigProperty {
InstanceCount = 123,
InstanceType = "instanceType",
// the properties below are optional
AutoScalingPolicy = new AutoScalingPolicyProperty {
Constraints = new ScalingConstraintsProperty {
MaxCapacity = 123,
MinCapacity = 123
},
Rules = new [] { new ScalingRuleProperty {
Action = new ScalingActionProperty {
SimpleScalingPolicyConfiguration = new SimpleScalingPolicyConfigurationProperty {
ScalingAdjustment = 123,
// the properties below are optional
AdjustmentType = "adjustmentType",
CoolDown = 123
},
// the properties below are optional
Market = "market"
},
Name = "name",
Trigger = new ScalingTriggerProperty {
CloudWatchAlarmDefinition = new CloudWatchAlarmDefinitionProperty {
ComparisonOperator = "comparisonOperator",
MetricName = "metricName",
Period = 123,
Threshold = 123,
// the properties below are optional
Dimensions = new [] { new MetricDimensionProperty {
Key = "key",
Value = "value"
} },
EvaluationPeriods = 123,
Namespace = "namespace",
Statistic = "statistic",
Unit = "unit"
}
},
// the properties below are optional
Description = "description"
} }
},
BidPrice = "bidPrice",
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
},
Ec2KeyName = "ec2KeyName",
Ec2SubnetId = "ec2SubnetId",
Ec2SubnetIds = new [] { "ec2SubnetIds" },
EmrManagedMasterSecurityGroup = "emrManagedMasterSecurityGroup",
EmrManagedSlaveSecurityGroup = "emrManagedSlaveSecurityGroup",
HadoopVersion = "hadoopVersion",
KeepJobFlowAliveWhenNoSteps = false,
MasterInstanceFleet = new InstanceFleetConfigProperty {
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
InstanceType = "instanceType",
// the properties below are optional
BidPrice = "bidPrice",
BidPriceAsPercentageOfOnDemandPrice = 123,
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy"
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123,
// the properties below are optional
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123
}
},
Name = "name",
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
},
MasterInstanceGroup = new InstanceGroupConfigProperty {
InstanceCount = 123,
InstanceType = "instanceType",
// the properties below are optional
AutoScalingPolicy = new AutoScalingPolicyProperty {
Constraints = new ScalingConstraintsProperty {
MaxCapacity = 123,
MinCapacity = 123
},
Rules = new [] { new ScalingRuleProperty {
Action = new ScalingActionProperty {
SimpleScalingPolicyConfiguration = new SimpleScalingPolicyConfigurationProperty {
ScalingAdjustment = 123,
// the properties below are optional
AdjustmentType = "adjustmentType",
CoolDown = 123
},
// the properties below are optional
Market = "market"
},
Name = "name",
Trigger = new ScalingTriggerProperty {
CloudWatchAlarmDefinition = new CloudWatchAlarmDefinitionProperty {
ComparisonOperator = "comparisonOperator",
MetricName = "metricName",
Period = 123,
Threshold = 123,
// the properties below are optional
Dimensions = new [] { new MetricDimensionProperty {
Key = "key",
Value = "value"
} },
EvaluationPeriods = 123,
Namespace = "namespace",
Statistic = "statistic",
Unit = "unit"
}
},
// the properties below are optional
Description = "description"
} }
},
BidPrice = "bidPrice",
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
},
Placement = new PlacementTypeProperty {
AvailabilityZone = "availabilityZone"
},
ServiceAccessSecurityGroup = "serviceAccessSecurityGroup",
TaskInstanceFleets = new [] { new InstanceFleetConfigProperty {
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
InstanceType = "instanceType",
// the properties below are optional
BidPrice = "bidPrice",
BidPriceAsPercentageOfOnDemandPrice = 123,
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy"
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123,
// the properties below are optional
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123
}
},
Name = "name",
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
} },
TaskInstanceGroups = new [] { new InstanceGroupConfigProperty {
InstanceCount = 123,
InstanceType = "instanceType",
// the properties below are optional
AutoScalingPolicy = new AutoScalingPolicyProperty {
Constraints = new ScalingConstraintsProperty {
MaxCapacity = 123,
MinCapacity = 123
},
Rules = new [] { new ScalingRuleProperty {
Action = new ScalingActionProperty {
SimpleScalingPolicyConfiguration = new SimpleScalingPolicyConfigurationProperty {
ScalingAdjustment = 123,
// the properties below are optional
AdjustmentType = "adjustmentType",
CoolDown = 123
},
// the properties below are optional
Market = "market"
},
Name = "name",
Trigger = new ScalingTriggerProperty {
CloudWatchAlarmDefinition = new CloudWatchAlarmDefinitionProperty {
ComparisonOperator = "comparisonOperator",
MetricName = "metricName",
Period = 123,
Threshold = 123,
// the properties below are optional
Dimensions = new [] { new MetricDimensionProperty {
Key = "key",
Value = "value"
} },
EvaluationPeriods = 123,
Namespace = "namespace",
Statistic = "statistic",
Unit = "unit"
}
},
// the properties below are optional
Description = "description"
} }
},
BidPrice = "bidPrice",
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
SizeInGb = 123,
VolumeType = "volumeType",
// the properties below are optional
Iops = 123,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
} },
TerminationProtected = false,
UnhealthyNodeReplacement = false
},
JobFlowRole = "jobFlowRole",
Name = "name",
ServiceRole = "serviceRole",
// the properties below are optional
AdditionalInfo = additionalInfo,
Applications = new [] { new ApplicationProperty {
AdditionalInfo = new Dictionary<string, string> {
{ "additionalInfoKey", "additionalInfo" }
},
Args = new [] { "args" },
Name = "name",
Version = "version"
} },
AutoScalingRole = "autoScalingRole",
AutoTerminationPolicy = new AutoTerminationPolicyProperty {
IdleTimeout = 123
},
BootstrapActions = new [] { new BootstrapActionConfigProperty {
Name = "name",
ScriptBootstrapAction = new ScriptBootstrapActionConfigProperty {
Path = "path",
// the properties below are optional
Args = new [] { "args" }
}
} },
Configurations = new [] { new ConfigurationProperty {
Classification = "classification",
ConfigurationProperties = new Dictionary<string, string> {
{ "configurationPropertiesKey", "configurationProperties" }
},
Configurations = new [] { configurationProperty_ }
} },
CustomAmiId = "customAmiId",
EbsRootVolumeIops = 123,
EbsRootVolumeSize = 123,
EbsRootVolumeThroughput = 123,
KerberosAttributes = new KerberosAttributesProperty {
KdcAdminPassword = "kdcAdminPassword",
Realm = "realm",
// the properties below are optional
AdDomainJoinPassword = "adDomainJoinPassword",
AdDomainJoinUser = "adDomainJoinUser",
CrossRealmTrustPrincipalPassword = "crossRealmTrustPrincipalPassword"
},
LogEncryptionKmsKeyId = "logEncryptionKmsKeyId",
LogUri = "logUri",
ManagedScalingPolicy = new ManagedScalingPolicyProperty {
ComputeLimits = new ComputeLimitsProperty {
MaximumCapacityUnits = 123,
MinimumCapacityUnits = 123,
UnitType = "unitType",
// the properties below are optional
MaximumCoreCapacityUnits = 123,
MaximumOnDemandCapacityUnits = 123
}
},
OsReleaseLabel = "osReleaseLabel",
PlacementGroupConfigs = new [] { new PlacementGroupConfigProperty {
InstanceRole = "instanceRole",
// the properties below are optional
PlacementStrategy = "placementStrategy"
} },
ReleaseLabel = "releaseLabel",
ScaleDownBehavior = "scaleDownBehavior",
SecurityConfiguration = "securityConfiguration",
StepConcurrencyLevel = 123,
Steps = new [] { new StepConfigProperty {
HadoopJarStep = new HadoopJarStepConfigProperty {
Jar = "jar",
// the properties below are optional
Args = new [] { "args" },
MainClass = "mainClass",
StepProperties = new [] { new KeyValueProperty {
Key = "key",
Value = "value"
} }
},
Name = "name",
// the properties below are optional
ActionOnFailure = "actionOnFailure"
} },
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
VisibleToAllUsers = false
};
Synopsis
Properties
AdditionalInfo | A JSON string for selecting additional features. |
Applications | The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on. |
AutoScalingRole | An IAM role for automatic scaling policies. |
AutoTerminationPolicy | An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. |
BootstrapActions | A list of bootstrap actions to run before Hadoop starts on the cluster nodes. |
Configurations | Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster. |
CustomAmiId | 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. |
EbsRootVolumeIops | The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. |
EbsRootVolumeSize | The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. |
EbsRootVolumeThroughput | The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. |
Instances | A specification of the number and type of Amazon EC2 instances. |
JobFlowRole | Also called instance profile and Amazon EC2 role. |
KerberosAttributes | Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. |
LogEncryptionKmsKeyId | The AWS KMS key used for encrypting log files. |
LogUri | The path to the Amazon S3 location where logs for this cluster are stored. |
ManagedScalingPolicy | Creates or updates a managed scaling policy for an Amazon EMR cluster. |
Name | The name of the cluster. |
OsReleaseLabel | The Amazon Linux release specified in a cluster launch RunJobFlow request. |
PlacementGroupConfigs | |
ReleaseLabel | The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. |
ScaleDownBehavior | The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. |
SecurityConfiguration | The name of the security configuration applied to the cluster. |
ServiceRole | The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf. |
StepConcurrencyLevel | Specifies the number of steps that can be executed concurrently. |
Steps | A list of steps to run. |
Tags | A list of tags associated with a cluster. |
VisibleToAllUsers | Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. |
Properties
AdditionalInfo
A JSON string for selecting additional features.
virtual object AdditionalInfo { get; }
Property Value
System.Object
Remarks
Applications
The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.
virtual object Applications { get; }
Property Value
System.Object
Remarks
AutoScalingRole
An IAM role for automatic scaling policies.
virtual string AutoScalingRole { get; }
Property Value
System.String
Remarks
The default role is EMR_AutoScaling_DefaultRole
. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.
AutoTerminationPolicy
An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates.
virtual object AutoTerminationPolicy { get; }
Property Value
System.Object
Remarks
For alternative cluster termination options, see Control cluster termination
BootstrapActions
A list of bootstrap actions to run before Hadoop starts on the cluster nodes.
virtual object BootstrapActions { get; }
Property Value
System.Object
Remarks
Configurations
Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
virtual object Configurations { get; }
Property Value
System.Object
Remarks
CustomAmiId
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.
virtual string CustomAmiId { get; }
Property Value
System.String
Remarks
EbsRootVolumeIops
The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.
virtual Nullable<double> EbsRootVolumeIops { get; }
Property Value
System.Nullable<System.Double>
Remarks
Available in Amazon EMR releases 6.15.0 and later.
EbsRootVolumeSize
The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.
virtual Nullable<double> EbsRootVolumeSize { get; }
Property Value
System.Nullable<System.Double>
Remarks
Available in Amazon EMR releases 4.x and later.
EbsRootVolumeThroughput
The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.
virtual Nullable<double> EbsRootVolumeThroughput { get; }
Property Value
System.Nullable<System.Double>
Remarks
Available in Amazon EMR releases 6.15.0 and later.
Instances
A specification of the number and type of Amazon EC2 instances.
object Instances { get; }
Property Value
System.Object
Remarks
JobFlowRole
Also called instance profile and Amazon EC2 role.
string JobFlowRole { get; }
Property Value
System.String
Remarks
An IAM role for an Amazon EMR cluster. The Amazon EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole
. In order to use the default role, you must have already created it using the AWS CLI or console.
KerberosAttributes
Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.
virtual object KerberosAttributes { get; }
Property Value
System.Object
Remarks
For more information see Use Kerberos Authentication in the Amazon EMR Management Guide .
LogEncryptionKmsKeyId
The AWS KMS key used for encrypting log files.
virtual string LogEncryptionKmsKeyId { get; }
Property Value
System.String
Remarks
This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.
LogUri
The path to the Amazon S3 location where logs for this cluster are stored.
virtual string LogUri { get; }
Property Value
System.String
Remarks
ManagedScalingPolicy
Creates or updates a managed scaling policy for an Amazon EMR cluster.
virtual object ManagedScalingPolicy { get; }
Property Value
System.Object
Remarks
The managed scaling policy defines the limits for resources, such as Amazon EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.
Name
The name of the cluster.
string Name { get; }
Property Value
System.String
Remarks
This parameter can't contain the characters <, >, $, |, or ` (backtick).
OsReleaseLabel
The Amazon Linux release specified in a cluster launch RunJobFlow request.
virtual string OsReleaseLabel { get; }
Property Value
System.String
Remarks
If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.
PlacementGroupConfigs
virtual object PlacementGroupConfigs { get; }
Property Value
System.Object
Remarks
ReleaseLabel
The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.
virtual string ReleaseLabel { get; }
Property Value
System.String
Remarks
Release labels are in the form emr-x.x.x
, where x.x.x is an Amazon EMR release version such as emr-5.14.0
. For more information about Amazon EMR release versions and included application versions and features, see . The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion
.
ScaleDownBehavior
The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.
virtual string ScaleDownBehavior { get; }
Property Value
System.String
Remarks
TERMINATE_AT_INSTANCE_HOUR
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. TERMINATE_AT_TASK_COMPLETION
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. TERMINATE_AT_TASK_COMPLETION
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.
SecurityConfiguration
The name of the security configuration applied to the cluster.
virtual string SecurityConfiguration { get; }
Property Value
System.String
Remarks
ServiceRole
The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf.
string ServiceRole { get; }
Property Value
System.String
Remarks
StepConcurrencyLevel
Specifies the number of steps that can be executed concurrently.
virtual Nullable<double> StepConcurrencyLevel { get; }
Property Value
System.Nullable<System.Double>
Remarks
The default value is 1
. The maximum value is 256
.
Steps
A list of steps to run.
virtual object Steps { get; }
Property Value
System.Object
Remarks
Tags
A list of tags associated with a cluster.
virtual ICfnTag[] Tags { get; }
Property Value
ICfnTag[]
Remarks
VisibleToAllUsers
Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster.
virtual object VisibleToAllUsers { get; }
Property Value
System.Object
Remarks
If this value is set to true
, all IAM users of that AWS account can view and manage the cluster if they have the proper policy permissions set. If this value is false
, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.
When you create clusters directly through the EMR console or API, this value is set to true
by default. However, for AWS::EMR::Cluster
resources in CloudFormation, the default is false
.