Interface IEmrCreateClusterProps
Properties for EmrCreateCluster.
Inherited Members
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.AWS.StepFunctions.Tasks.dll
Syntax (csharp)
public interface IEmrCreateClusterProps : ITaskStateBaseProps
Syntax (vb)
Public Interface IEmrCreateClusterProps
Inherits ITaskStateBaseProps
Remarks
See the RunJobFlow API for complete documentation on input parameters
See: https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html
ExampleMetadata: infused
Examples
var clusterRole = new Role(this, "ClusterRole", new RoleProps {
AssumedBy = new ServicePrincipal("ec2.amazonaws.com")
});
var serviceRole = new Role(this, "ServiceRole", new RoleProps {
AssumedBy = new ServicePrincipal("elasticmapreduce.amazonaws.com")
});
var autoScalingRole = new Role(this, "AutoScalingRole", new RoleProps {
AssumedBy = new ServicePrincipal("elasticmapreduce.amazonaws.com")
});
autoScalingRole.AssumeRolePolicy.AddStatements(
new PolicyStatement(new PolicyStatementProps {
Effect = Effect.ALLOW,
Principals = new [] {
new ServicePrincipal("application-autoscaling.amazonaws.com") },
Actions = new [] { "sts:AssumeRole" }
}));
new EmrCreateCluster(this, "Create Cluster", new EmrCreateClusterProps {
Instances = new InstancesConfigProperty { },
ClusterRole = clusterRole,
Name = TaskInput.FromJsonPathAt("$.ClusterName").Value,
ServiceRole = serviceRole,
AutoScalingRole = autoScalingRole
});
Synopsis
Properties
AdditionalInfo | A JSON string for selecting additional features. |
Applications | A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. |
AutoScalingRole | An IAM role for automatic scaling policies. |
BootstrapActions | A list of bootstrap actions to run before Hadoop starts on the cluster nodes. |
ClusterRole | Also called instance profile and EC2 role. |
Configurations | The list of configurations supplied for the EMR cluster you are creating. |
CustomAmiId | The ID of a custom Amazon EBS-backed Linux AMI. |
EbsRootVolumeSize | The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance. |
Instances | A specification of the number and type of Amazon EC2 instances. |
KerberosAttributes | Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. |
LogUri | The location in Amazon S3 to write the log files of the job flow. |
Name | The Name of the Cluster. |
ReleaseLabel | The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. |
ScaleDownBehavior | Specifies 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 a security configuration to apply to the cluster. |
ServiceRole | The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. |
StepConcurrencyLevel | Specifies the step concurrency level to allow multiple steps to run in parallel. |
Tags | A list of tags to associate with a cluster and propagate to Amazon EC2 instances. |
VisibleToAllUsers | A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. |
Properties
AdditionalInfo
A JSON string for selecting additional features.
virtual string AdditionalInfo { get; }
Property Value
System.String
Remarks
Default: - None
Applications
A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster.
virtual EmrCreateCluster.IApplicationConfigProperty[] Applications { get; }
Property Value
EmrCreateCluster.IApplicationConfigProperty[]
Remarks
Default: - EMR selected default
AutoScalingRole
An IAM role for automatic scaling policies.
virtual IRole AutoScalingRole { get; }
Property Value
Remarks
Default: - A role will be created.
BootstrapActions
A list of bootstrap actions to run before Hadoop starts on the cluster nodes.
virtual EmrCreateCluster.IBootstrapActionConfigProperty[] BootstrapActions { get; }
Property Value
EmrCreateCluster.IBootstrapActionConfigProperty[]
Remarks
Default: - None
ClusterRole
Also called instance profile and EC2 role.
virtual IRole ClusterRole { get; }
Property Value
Remarks
An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role.
This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters.
Default: - * A Role will be created
Configurations
The list of configurations supplied for the EMR cluster you are creating.
virtual EmrCreateCluster.IConfigurationProperty[] Configurations { get; }
Property Value
EmrCreateCluster.IConfigurationProperty[]
Remarks
Default: - None
CustomAmiId
The ID of a custom Amazon EBS-backed Linux AMI.
virtual string CustomAmiId { get; }
Property Value
System.String
Remarks
Default: - None
EbsRootVolumeSize
The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance.
virtual Size EbsRootVolumeSize { get; }
Property Value
Remarks
Default: - EMR selected default
Instances
A specification of the number and type of Amazon EC2 instances.
EmrCreateCluster.IInstancesConfigProperty Instances { get; }
Property Value
EmrCreateCluster.IInstancesConfigProperty
KerberosAttributes
Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.
virtual EmrCreateCluster.IKerberosAttributesProperty KerberosAttributes { get; }
Property Value
EmrCreateCluster.IKerberosAttributesProperty
Remarks
Default: - None
LogUri
The location in Amazon S3 to write the log files of the job flow.
virtual string LogUri { get; }
Property Value
System.String
Remarks
Default: - None
Name
The Name of the Cluster.
string Name { get; }
Property Value
System.String
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
Default: - EMR selected default
ScaleDownBehavior
Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.
virtual Nullable<EmrCreateCluster.EmrClusterScaleDownBehavior> ScaleDownBehavior { get; }
Property Value
System.Nullable<EmrCreateCluster.EmrClusterScaleDownBehavior>
Remarks
Default: - EMR selected default
SecurityConfiguration
The name of a security configuration to apply to the cluster.
virtual string SecurityConfiguration { get; }
Property Value
System.String
Remarks
Default: - None
ServiceRole
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
virtual IRole ServiceRole { get; }
Property Value
Remarks
Default: - A role will be created that Amazon EMR service can assume.
StepConcurrencyLevel
Specifies the step concurrency level to allow multiple steps to run in parallel.
virtual Nullable<double> StepConcurrencyLevel { get; }
Property Value
System.Nullable<System.Double>
Remarks
Requires EMR release label 5.28.0 or above. Must be in range [1, 256].
Default: 1 - no step concurrency allowed
Tags
A list of tags to associate with a cluster and propagate to Amazon EC2 instances.
virtual IDictionary<string, string> Tags { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.String>
Remarks
Default: - None
VisibleToAllUsers
A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions.
virtual Nullable<bool> VisibleToAllUsers { get; }
Property Value
System.Nullable<System.Boolean>
Remarks
Default: true