Class CfnCluster
A CloudFormation AWS::EMR::Cluster
.
Inherited Members
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.AWS.EMR.dll
Syntax (csharp)
public class CfnCluster : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnCluster
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
The AWS::EMR::Cluster
resource specifies an Amazon EMR cluster. This cluster is a collection of Amazon EC2 instances that run open source big data frameworks and applications to process and analyze vast amounts of data. For more information, see the Amazon EMR Management Guide .
Amazon EMR now supports launching task instance groups and task instance fleets as part of the AWS::EMR::Cluster
resource. This can be done by using the JobFlowInstancesConfig
property type's TaskInstanceGroups
and TaskInstanceFleets
subproperties. Using these subproperties reduces delays in provisioning task nodes compared to specifying task nodes with the AWS::EMR::InstanceGroupConfig
and AWS::EMR::InstanceFleetConfig
resources. Please refer to the examples at the bottom of this page to learn how to use these subproperties.
CloudformationResource: AWS::EMR::Cluster
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 cfnCluster = new CfnCluster(this, "MyCfnCluster", 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
},
// 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
},
// 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
},
// 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
},
// 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
},
// 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
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
} },
TerminationProtected = 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",
EbsRootVolumeSize = 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",
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
Constructors
CfnCluster(Construct, String, ICfnClusterProps) | Create a new |
CfnCluster(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnCluster(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
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. |
AttrMasterPublicDns | The public DNS name of the master node (instance), such as |
AutoScalingRole | An IAM role for automatic scaling policies. |
AutoTerminationPolicy |
|
BootstrapActions | A list of bootstrap actions to run before Hadoop starts on the cluster nodes. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
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. |
EbsRootVolumeSize | The size, in GiB, 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 |
|
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. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnCluster(Construct, String, ICfnClusterProps)
Create a new AWS::EMR::Cluster
.
public CfnCluster(Construct scope, string id, ICfnClusterProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnClusterProps
- resource properties.
CfnCluster(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnCluster(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnCluster(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnCluster(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
AdditionalInfo
A JSON string for selecting additional features.
public virtual object AdditionalInfo { get; set; }
Property Value
System.Object
Remarks
Applications
The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.
public virtual object Applications { get; set; }
Property Value
System.Object
Remarks
AttrMasterPublicDns
The public DNS name of the master node (instance), such as ec2-12-123-123-123.us-west-2.compute.amazonaws.com
.
public virtual string AttrMasterPublicDns { get; }
Property Value
System.String
Remarks
CloudformationAttribute: MasterPublicDNS
AutoScalingRole
An IAM role for automatic scaling policies.
public virtual string AutoScalingRole { get; set; }
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
AWS::EMR::Cluster.AutoTerminationPolicy
.
public virtual object AutoTerminationPolicy { get; set; }
Property Value
System.Object
Remarks
BootstrapActions
A list of bootstrap actions to run before Hadoop starts on the cluster nodes.
public virtual object BootstrapActions { get; set; }
Property Value
System.Object
Remarks
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
Configurations
Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.
public virtual object Configurations { get; set; }
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.
public virtual string CustomAmiId { get; set; }
Property Value
System.String
Remarks
EbsRootVolumeSize
The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance.
public virtual Nullable<double> EbsRootVolumeSize { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Available in Amazon EMR releases 4.x and later.
Instances
A specification of the number and type of Amazon EC2 instances.
public virtual object Instances { get; set; }
Property Value
System.Object
Remarks
JobFlowRole
Also called instance profile and Amazon EC2 role.
public virtual string JobFlowRole { get; set; }
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.
public virtual object KerberosAttributes { get; set; }
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.
public virtual string LogEncryptionKmsKeyId { get; set; }
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.
public virtual string LogUri { get; set; }
Property Value
System.String
Remarks
ManagedScalingPolicy
Creates or updates a managed scaling policy for an Amazon EMR cluster.
public virtual object ManagedScalingPolicy { get; set; }
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.
public virtual string Name { get; set; }
Property Value
System.String
Remarks
OsReleaseLabel
AWS::EMR::Cluster.OSReleaseLabel
.
public virtual string OsReleaseLabel { get; set; }
Property Value
System.String
Remarks
ReleaseLabel
The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.
public virtual string ReleaseLabel { get; set; }
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.
public virtual string ScaleDownBehavior { get; set; }
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.
public virtual string SecurityConfiguration { get; set; }
Property Value
System.String
Remarks
ServiceRole
The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf.
public virtual string ServiceRole { get; set; }
Property Value
System.String
Remarks
StepConcurrencyLevel
Specifies the number of steps that can be executed concurrently.
public virtual Nullable<double> StepConcurrencyLevel { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
The default value is 1
. The maximum value is 256
.
Steps
A list of steps to run.
public virtual object Steps { get; set; }
Property Value
System.Object
Remarks
Tags
A list of tags associated with a cluster.
public virtual TagManager Tags { get; }
Property Value
Remarks
VisibleToAllUsers
Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster.
public virtual object VisibleToAllUsers { get; set; }
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
.
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>