Fork me on GitHub

Module emr

@pulumi/aws > emr

Index

emr/cluster.ts emr/instanceGroup.ts emr/securityConfiguration.ts

class Cluster

Provides an Elastic MapReduce Cluster, a web service that makes it easy to process large amounts of data efficiently. See Amazon Elastic MapReduce Documentation for more information.

constructor

new Cluster(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a Cluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState): Cluster

Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property additionalInfo

public additionalInfo: pulumi.Output<string | undefined>;

A JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore Terraform cannot detect drift from the actual EMR cluster if its value is changed outside Terraform.

property applications

public applications: pulumi.Output<string[] | undefined>;

A list of applications for the cluster. Valid values are: Flink, Hadoop, Hive, Mahout, Pig, and Spark. Case insensitive

property autoscalingRole

public autoscalingRole: pulumi.Output<string | undefined>;

An IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

property bootstrapActions

public bootstrapActions: pulumi.Output<{ ... }[] | undefined>;

List of bootstrap actions that will be run before Hadoop is started on the cluster nodes. Defined below

property clusterState

public clusterState: pulumi.Output<string>;

property configurations

public configurations: pulumi.Output<string | undefined>;

List of configurations supplied for the EMR cluster you are creating

property configurationsJson

public configurationsJson: pulumi.Output<string | undefined>;

A JSON string for supplying list of configurations for the EMR cluster.

property coreInstanceCount

public coreInstanceCount: pulumi.Output<number | undefined>;

Number of Amazon EC2 instances used to execute the job flow. EMR will use one node as the cluster’s master node and use the remainder of the nodes (core_instance_count-1) as core nodes. Cannot be specified if instance_groups is set. Default 1

property coreInstanceType

public coreInstanceType: pulumi.Output<string>;

The EC2 instance type of the slave nodes. Cannot be specified if instance_groups is set

property customAmiId

public customAmiId: pulumi.Output<string | undefined>;

A custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.

property ebsRootVolumeSize

public ebsRootVolumeSize: pulumi.Output<number | undefined>;

Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

property ec2Attributes

public ec2Attributes: pulumi.Output<{ ... } | undefined>;

Attributes for the EC2 instances running the job flow. Defined below

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceGroups

public instanceGroups: pulumi.Output<{ ... }[] | undefined>;

A list of instance_group objects for each instance group in the cluster. Exactly one of master_instance_type and instance_group must be specified. If instance_group is set, then it must contain a configuration block for at least the MASTER instance group type (as well as any additional instance groups). Defined below

property keepJobFlowAliveWhenNoSteps

public keepJobFlowAliveWhenNoSteps: pulumi.Output<boolean>;

Switch on/off run cluster with no steps or when all steps are complete (default is on)

property kerberosAttributes

public kerberosAttributes: pulumi.Output<{ ... } | undefined>;

Kerberos configuration for the cluster. Defined below

property logUri

public logUri: pulumi.Output<string | undefined>;

S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created

property masterInstanceType

public masterInstanceType: pulumi.Output<string | undefined>;

The EC2 instance type of the master node. Exactly one of master_instance_type and instance_group must be specified.

property masterPublicDns

public masterPublicDns: pulumi.Output<string>;

The public DNS name of the master EC2 instance.

property name

public name: pulumi.Output<string>;

The name of the job flow

property releaseLabel

public releaseLabel: pulumi.Output<string>;

The release label for the Amazon EMR release

property scaleDownBehavior

public scaleDownBehavior: pulumi.Output<string>;

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

property securityConfiguration

public securityConfiguration: pulumi.Output<string | undefined>;

The security configuration name to attach to the EMR cluster. Only valid for EMR clusters with release_label 4.8.0 or greater

property serviceRole

public serviceRole: pulumi.Output<string>;

IAM role that will be assumed by the Amazon EMR service to access AWS resources

property steps

public steps: pulumi.Output<{ ... }[]>;

List of steps to run when creating the cluster. Defined below. It is highly recommended to utilize the lifecycle configuration block with ignore_changes if other steps are being managed outside of Terraform.

property tags

public tags: pulumi.Output<Tags | undefined>;

list of tags to apply to the EMR Cluster

property terminationProtection

public terminationProtection: pulumi.Output<boolean>;

Switch on/off termination protection (default is off)

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property visibleToAllUsers

public visibleToAllUsers: pulumi.Output<boolean | undefined>;

Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default true

class InstanceGroup

Provides an Elastic MapReduce Cluster Instance Group configuration. See Amazon Elastic MapReduce Documentation for more information.

~> NOTE: At this time, Instance Groups cannot be destroyed through the API nor web interface. Instance Groups are destroyed when the EMR Cluster is destroyed. Terraform will resize any Instance Group to zero when destroying the resource.

constructor

new InstanceGroup(name: string, args: InstanceGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a InstanceGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceGroupState): InstanceGroup

Get an existing InstanceGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property clusterId

public clusterId: pulumi.Output<string>;

ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.

property ebsConfigs

public ebsConfigs: pulumi.Output<{ ... }[] | undefined>;

One or more ebs_config blocks as defined below. Changing this forces a new resource to be created.

property ebsOptimized

public ebsOptimized: pulumi.Output<boolean | undefined>;

Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceCount

public instanceCount: pulumi.Output<number | undefined>;

Target number of instances for the instance group. Defaults to 0.

property instanceType

public instanceType: pulumi.Output<string>;

The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Human friendly name given to the instance group. Changing this forces a new resource to be created.

property runningInstanceCount

public runningInstanceCount: pulumi.Output<number>;

property status

public status: pulumi.Output<string>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class SecurityConfiguration

Provides a resource to manage AWS EMR Security Configurations

constructor

new SecurityConfiguration(name: string, args: SecurityConfigurationArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityConfiguration resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityConfigurationState): SecurityConfiguration

Get an existing SecurityConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property configuration

public configuration: pulumi.Output<string>;

A JSON formatted Security Configuration

property creationDate

public creationDate: pulumi.Output<string>;

Date the Security Configuration was created

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the EMR Security Configuration. By default generated by Terraform.

property namePrefix

public namePrefix: pulumi.Output<string | undefined>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface ClusterArgs

The set of arguments for constructing a Cluster resource.

property additionalInfo

additionalInfo?: pulumi.Input<string>;

A JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore Terraform cannot detect drift from the actual EMR cluster if its value is changed outside Terraform.

property applications

applications?: pulumi.Input<pulumi.Input<string>[]>;

A list of applications for the cluster. Valid values are: Flink, Hadoop, Hive, Mahout, Pig, and Spark. Case insensitive

property autoscalingRole

autoscalingRole?: pulumi.Input<string>;

An IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

property bootstrapActions

bootstrapActions?: pulumi.Input<pulumi.Input<{ ... }>[]>;

List of bootstrap actions that will be run before Hadoop is started on the cluster nodes. Defined below

property configurations

configurations?: pulumi.Input<string>;

List of configurations supplied for the EMR cluster you are creating

property configurationsJson

configurationsJson?: pulumi.Input<string>;

A JSON string for supplying list of configurations for the EMR cluster.

property coreInstanceCount

coreInstanceCount?: pulumi.Input<number>;

Number of Amazon EC2 instances used to execute the job flow. EMR will use one node as the cluster’s master node and use the remainder of the nodes (core_instance_count-1) as core nodes. Cannot be specified if instance_groups is set. Default 1

property coreInstanceType

coreInstanceType?: pulumi.Input<string>;

The EC2 instance type of the slave nodes. Cannot be specified if instance_groups is set

property customAmiId

customAmiId?: pulumi.Input<string>;

A custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.

property ebsRootVolumeSize

ebsRootVolumeSize?: pulumi.Input<number>;

Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

property ec2Attributes

ec2Attributes?: pulumi.Input<{ ... }>;

Attributes for the EC2 instances running the job flow. Defined below

property instanceGroups

instanceGroups?: pulumi.Input<pulumi.Input<{ ... }>[]>;

A list of instance_group objects for each instance group in the cluster. Exactly one of master_instance_type and instance_group must be specified. If instance_group is set, then it must contain a configuration block for at least the MASTER instance group type (as well as any additional instance groups). Defined below

property keepJobFlowAliveWhenNoSteps

keepJobFlowAliveWhenNoSteps?: pulumi.Input<boolean>;

Switch on/off run cluster with no steps or when all steps are complete (default is on)

property kerberosAttributes

kerberosAttributes?: pulumi.Input<{ ... }>;

Kerberos configuration for the cluster. Defined below

property logUri

logUri?: pulumi.Input<string>;

S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created

property masterInstanceType

masterInstanceType?: pulumi.Input<string>;

The EC2 instance type of the master node. Exactly one of master_instance_type and instance_group must be specified.

property name

name?: pulumi.Input<string>;

The name of the job flow

property releaseLabel

releaseLabel: pulumi.Input<string>;

The release label for the Amazon EMR release

property scaleDownBehavior

scaleDownBehavior?: pulumi.Input<string>;

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

property securityConfiguration

securityConfiguration?: pulumi.Input<string>;

The security configuration name to attach to the EMR cluster. Only valid for EMR clusters with release_label 4.8.0 or greater

property serviceRole

serviceRole: pulumi.Input<string>;

IAM role that will be assumed by the Amazon EMR service to access AWS resources

property steps

steps?: pulumi.Input<pulumi.Input<{ ... }>[]>;

List of steps to run when creating the cluster. Defined below. It is highly recommended to utilize the lifecycle configuration block with ignore_changes if other steps are being managed outside of Terraform.

property tags

tags?: pulumi.Input<Tags>;

list of tags to apply to the EMR Cluster

property terminationProtection

terminationProtection?: pulumi.Input<boolean>;

Switch on/off termination protection (default is off)

property visibleToAllUsers

visibleToAllUsers?: pulumi.Input<boolean>;

Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default true

interface ClusterState

Input properties used for looking up and filtering Cluster resources.

property additionalInfo

additionalInfo?: pulumi.Input<string>;

A JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore Terraform cannot detect drift from the actual EMR cluster if its value is changed outside Terraform.

property applications

applications?: pulumi.Input<pulumi.Input<string>[]>;

A list of applications for the cluster. Valid values are: Flink, Hadoop, Hive, Mahout, Pig, and Spark. Case insensitive

property autoscalingRole

autoscalingRole?: pulumi.Input<string>;

An IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

property bootstrapActions

bootstrapActions?: pulumi.Input<pulumi.Input<{ ... }>[]>;

List of bootstrap actions that will be run before Hadoop is started on the cluster nodes. Defined below

property clusterState

clusterState?: pulumi.Input<string>;

property configurations

configurations?: pulumi.Input<string>;

List of configurations supplied for the EMR cluster you are creating

property configurationsJson

configurationsJson?: pulumi.Input<string>;

A JSON string for supplying list of configurations for the EMR cluster.

property coreInstanceCount

coreInstanceCount?: pulumi.Input<number>;

Number of Amazon EC2 instances used to execute the job flow. EMR will use one node as the cluster’s master node and use the remainder of the nodes (core_instance_count-1) as core nodes. Cannot be specified if instance_groups is set. Default 1

property coreInstanceType

coreInstanceType?: pulumi.Input<string>;

The EC2 instance type of the slave nodes. Cannot be specified if instance_groups is set

property customAmiId

customAmiId?: pulumi.Input<string>;

A custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.

property ebsRootVolumeSize

ebsRootVolumeSize?: pulumi.Input<number>;

Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

property ec2Attributes

ec2Attributes?: pulumi.Input<{ ... }>;

Attributes for the EC2 instances running the job flow. Defined below

property instanceGroups

instanceGroups?: pulumi.Input<pulumi.Input<{ ... }>[]>;

A list of instance_group objects for each instance group in the cluster. Exactly one of master_instance_type and instance_group must be specified. If instance_group is set, then it must contain a configuration block for at least the MASTER instance group type (as well as any additional instance groups). Defined below

property keepJobFlowAliveWhenNoSteps

keepJobFlowAliveWhenNoSteps?: pulumi.Input<boolean>;

Switch on/off run cluster with no steps or when all steps are complete (default is on)

property kerberosAttributes

kerberosAttributes?: pulumi.Input<{ ... }>;

Kerberos configuration for the cluster. Defined below

property logUri

logUri?: pulumi.Input<string>;

S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created

property masterInstanceType

masterInstanceType?: pulumi.Input<string>;

The EC2 instance type of the master node. Exactly one of master_instance_type and instance_group must be specified.

property masterPublicDns

masterPublicDns?: pulumi.Input<string>;

The public DNS name of the master EC2 instance.

property name

name?: pulumi.Input<string>;

The name of the job flow

property releaseLabel

releaseLabel?: pulumi.Input<string>;

The release label for the Amazon EMR release

property scaleDownBehavior

scaleDownBehavior?: pulumi.Input<string>;

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

property securityConfiguration

securityConfiguration?: pulumi.Input<string>;

The security configuration name to attach to the EMR cluster. Only valid for EMR clusters with release_label 4.8.0 or greater

property serviceRole

serviceRole?: pulumi.Input<string>;

IAM role that will be assumed by the Amazon EMR service to access AWS resources

property steps

steps?: pulumi.Input<pulumi.Input<{ ... }>[]>;

List of steps to run when creating the cluster. Defined below. It is highly recommended to utilize the lifecycle configuration block with ignore_changes if other steps are being managed outside of Terraform.

property tags

tags?: pulumi.Input<Tags>;

list of tags to apply to the EMR Cluster

property terminationProtection

terminationProtection?: pulumi.Input<boolean>;

Switch on/off termination protection (default is off)

property visibleToAllUsers

visibleToAllUsers?: pulumi.Input<boolean>;

Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default true

interface InstanceGroupArgs

The set of arguments for constructing a InstanceGroup resource.

property clusterId

clusterId: pulumi.Input<string>;

ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.

property ebsConfigs

ebsConfigs?: pulumi.Input<pulumi.Input<{ ... }>[]>;

One or more ebs_config blocks as defined below. Changing this forces a new resource to be created.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.

property instanceCount

instanceCount?: pulumi.Input<number>;

Target number of instances for the instance group. Defaults to 0.

property instanceType

instanceType: pulumi.Input<string>;

The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Human friendly name given to the instance group. Changing this forces a new resource to be created.

interface InstanceGroupState

Input properties used for looking up and filtering InstanceGroup resources.

property clusterId

clusterId?: pulumi.Input<string>;

ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.

property ebsConfigs

ebsConfigs?: pulumi.Input<pulumi.Input<{ ... }>[]>;

One or more ebs_config blocks as defined below. Changing this forces a new resource to be created.

property ebsOptimized

ebsOptimized?: pulumi.Input<boolean>;

Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.

property instanceCount

instanceCount?: pulumi.Input<number>;

Target number of instances for the instance group. Defaults to 0.

property instanceType

instanceType?: pulumi.Input<string>;

The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Human friendly name given to the instance group. Changing this forces a new resource to be created.

property runningInstanceCount

runningInstanceCount?: pulumi.Input<number>;

property status

status?: pulumi.Input<string>;

interface SecurityConfigurationArgs

The set of arguments for constructing a SecurityConfiguration resource.

property configuration

configuration: pulumi.Input<string>;

A JSON formatted Security Configuration

property name

name?: pulumi.Input<string>;

The name of the EMR Security Configuration. By default generated by Terraform.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.

interface SecurityConfigurationState

Input properties used for looking up and filtering SecurityConfiguration resources.

property configuration

configuration?: pulumi.Input<string>;

A JSON formatted Security Configuration

property creationDate

creationDate?: pulumi.Input<string>;

Date the Security Configuration was created

property name

name?: pulumi.Input<string>;

The name of the EMR Security Configuration. By default generated by Terraform.

property namePrefix

namePrefix?: pulumi.Input<string>;

Creates a unique name beginning with the specified prefix. Conflicts with name.