emr

package
v6.59.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockPublicAccessConfiguration

type BlockPublicAccessConfiguration struct {
	pulumi.CustomResourceState

	// Enable or disable EMR Block Public Access.
	//
	// The following arguments are optional:
	BlockPublicSecurityGroupRules pulumi.BoolOutput `pulumi:"blockPublicSecurityGroupRules"`
	// Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if `blockPublicSecurityGroupRules` is set to `true`.
	PermittedPublicSecurityGroupRuleRanges BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput `pulumi:"permittedPublicSecurityGroupRuleRanges"`
}

Resource for managing an AWS EMR block public access configuration. This region level security configuration restricts the launch of EMR clusters that have associated security groups permitting public access on unspecified ports. See the [EMR Block Public Access Configuration](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-block-public-access.html) documentation for further information.

## Example Usage

### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewBlockPublicAccessConfiguration(ctx, "example", &emr.BlockPublicAccessConfigurationArgs{
			BlockPublicSecurityGroupRules: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Default Configuration

By default, each AWS region is equipped with a block public access configuration that prevents EMR clusters from being launched if they have security group rules permitting public access on any port except for port 22. The default configuration can be managed using this resource.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewBlockPublicAccessConfiguration(ctx, "example", &emr.BlockPublicAccessConfigurationArgs{
			BlockPublicSecurityGroupRules: pulumi.Bool(true),
			PermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{
				&emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{
					MinRange: pulumi.Int(22),
					MaxRange: pulumi.Int(22),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **NOTE:** If an `emr.BlockPublicAccessConfiguration` resource is destroyed, the configuration will reset to this default configuration.

### Multiple Permitted Public Security Group Rule Ranges

The resource permits specification of multiple `permittedPublicSecurityGroupRuleRange` blocks.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewBlockPublicAccessConfiguration(ctx, "example", &emr.BlockPublicAccessConfigurationArgs{
			BlockPublicSecurityGroupRules: pulumi.Bool(true),
			PermittedPublicSecurityGroupRuleRanges: emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{
				&emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{
					MinRange: pulumi.Int(22),
					MaxRange: pulumi.Int(22),
				},
				&emr.BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{
					MinRange: pulumi.Int(100),
					MaxRange: pulumi.Int(101),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Disabling Block Public Access

To permit EMR clusters to be launched in the configured region regardless of associated security group rules, the Block Public Access feature can be disabled using this resource.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewBlockPublicAccessConfiguration(ctx, "example", &emr.BlockPublicAccessConfigurationArgs{
			BlockPublicSecurityGroupRules: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import the current EMR Block Public Access Configuration. For example:

```sh $ pulumi import aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration example current ```

func GetBlockPublicAccessConfiguration

func GetBlockPublicAccessConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BlockPublicAccessConfigurationState, opts ...pulumi.ResourceOption) (*BlockPublicAccessConfiguration, error)

GetBlockPublicAccessConfiguration gets an existing BlockPublicAccessConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBlockPublicAccessConfiguration

func NewBlockPublicAccessConfiguration(ctx *pulumi.Context,
	name string, args *BlockPublicAccessConfigurationArgs, opts ...pulumi.ResourceOption) (*BlockPublicAccessConfiguration, error)

NewBlockPublicAccessConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BlockPublicAccessConfiguration) ElementType

func (*BlockPublicAccessConfiguration) ToBlockPublicAccessConfigurationOutput

func (i *BlockPublicAccessConfiguration) ToBlockPublicAccessConfigurationOutput() BlockPublicAccessConfigurationOutput

func (*BlockPublicAccessConfiguration) ToBlockPublicAccessConfigurationOutputWithContext

func (i *BlockPublicAccessConfiguration) ToBlockPublicAccessConfigurationOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationOutput

type BlockPublicAccessConfigurationArgs

type BlockPublicAccessConfigurationArgs struct {
	// Enable or disable EMR Block Public Access.
	//
	// The following arguments are optional:
	BlockPublicSecurityGroupRules pulumi.BoolInput
	// Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if `blockPublicSecurityGroupRules` is set to `true`.
	PermittedPublicSecurityGroupRuleRanges BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput
}

The set of arguments for constructing a BlockPublicAccessConfiguration resource.

func (BlockPublicAccessConfigurationArgs) ElementType

type BlockPublicAccessConfigurationArray

type BlockPublicAccessConfigurationArray []BlockPublicAccessConfigurationInput

func (BlockPublicAccessConfigurationArray) ElementType

func (BlockPublicAccessConfigurationArray) ToBlockPublicAccessConfigurationArrayOutput

func (i BlockPublicAccessConfigurationArray) ToBlockPublicAccessConfigurationArrayOutput() BlockPublicAccessConfigurationArrayOutput

func (BlockPublicAccessConfigurationArray) ToBlockPublicAccessConfigurationArrayOutputWithContext

func (i BlockPublicAccessConfigurationArray) ToBlockPublicAccessConfigurationArrayOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationArrayOutput

type BlockPublicAccessConfigurationArrayInput

type BlockPublicAccessConfigurationArrayInput interface {
	pulumi.Input

	ToBlockPublicAccessConfigurationArrayOutput() BlockPublicAccessConfigurationArrayOutput
	ToBlockPublicAccessConfigurationArrayOutputWithContext(context.Context) BlockPublicAccessConfigurationArrayOutput
}

BlockPublicAccessConfigurationArrayInput is an input type that accepts BlockPublicAccessConfigurationArray and BlockPublicAccessConfigurationArrayOutput values. You can construct a concrete instance of `BlockPublicAccessConfigurationArrayInput` via:

BlockPublicAccessConfigurationArray{ BlockPublicAccessConfigurationArgs{...} }

type BlockPublicAccessConfigurationArrayOutput

type BlockPublicAccessConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BlockPublicAccessConfigurationArrayOutput) ElementType

func (BlockPublicAccessConfigurationArrayOutput) Index

func (BlockPublicAccessConfigurationArrayOutput) ToBlockPublicAccessConfigurationArrayOutput

func (o BlockPublicAccessConfigurationArrayOutput) ToBlockPublicAccessConfigurationArrayOutput() BlockPublicAccessConfigurationArrayOutput

func (BlockPublicAccessConfigurationArrayOutput) ToBlockPublicAccessConfigurationArrayOutputWithContext

func (o BlockPublicAccessConfigurationArrayOutput) ToBlockPublicAccessConfigurationArrayOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationArrayOutput

type BlockPublicAccessConfigurationInput

type BlockPublicAccessConfigurationInput interface {
	pulumi.Input

	ToBlockPublicAccessConfigurationOutput() BlockPublicAccessConfigurationOutput
	ToBlockPublicAccessConfigurationOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationOutput
}

type BlockPublicAccessConfigurationMap

type BlockPublicAccessConfigurationMap map[string]BlockPublicAccessConfigurationInput

func (BlockPublicAccessConfigurationMap) ElementType

func (BlockPublicAccessConfigurationMap) ToBlockPublicAccessConfigurationMapOutput

func (i BlockPublicAccessConfigurationMap) ToBlockPublicAccessConfigurationMapOutput() BlockPublicAccessConfigurationMapOutput

func (BlockPublicAccessConfigurationMap) ToBlockPublicAccessConfigurationMapOutputWithContext

func (i BlockPublicAccessConfigurationMap) ToBlockPublicAccessConfigurationMapOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationMapOutput

type BlockPublicAccessConfigurationMapInput

type BlockPublicAccessConfigurationMapInput interface {
	pulumi.Input

	ToBlockPublicAccessConfigurationMapOutput() BlockPublicAccessConfigurationMapOutput
	ToBlockPublicAccessConfigurationMapOutputWithContext(context.Context) BlockPublicAccessConfigurationMapOutput
}

BlockPublicAccessConfigurationMapInput is an input type that accepts BlockPublicAccessConfigurationMap and BlockPublicAccessConfigurationMapOutput values. You can construct a concrete instance of `BlockPublicAccessConfigurationMapInput` via:

BlockPublicAccessConfigurationMap{ "key": BlockPublicAccessConfigurationArgs{...} }

type BlockPublicAccessConfigurationMapOutput

type BlockPublicAccessConfigurationMapOutput struct{ *pulumi.OutputState }

func (BlockPublicAccessConfigurationMapOutput) ElementType

func (BlockPublicAccessConfigurationMapOutput) MapIndex

func (BlockPublicAccessConfigurationMapOutput) ToBlockPublicAccessConfigurationMapOutput

func (o BlockPublicAccessConfigurationMapOutput) ToBlockPublicAccessConfigurationMapOutput() BlockPublicAccessConfigurationMapOutput

func (BlockPublicAccessConfigurationMapOutput) ToBlockPublicAccessConfigurationMapOutputWithContext

func (o BlockPublicAccessConfigurationMapOutput) ToBlockPublicAccessConfigurationMapOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationMapOutput

type BlockPublicAccessConfigurationOutput

type BlockPublicAccessConfigurationOutput struct{ *pulumi.OutputState }

func (BlockPublicAccessConfigurationOutput) BlockPublicSecurityGroupRules

func (o BlockPublicAccessConfigurationOutput) BlockPublicSecurityGroupRules() pulumi.BoolOutput

Enable or disable EMR Block Public Access.

The following arguments are optional:

func (BlockPublicAccessConfigurationOutput) ElementType

func (BlockPublicAccessConfigurationOutput) PermittedPublicSecurityGroupRuleRanges

Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if `blockPublicSecurityGroupRules` is set to `true`.

func (BlockPublicAccessConfigurationOutput) ToBlockPublicAccessConfigurationOutput

func (o BlockPublicAccessConfigurationOutput) ToBlockPublicAccessConfigurationOutput() BlockPublicAccessConfigurationOutput

func (BlockPublicAccessConfigurationOutput) ToBlockPublicAccessConfigurationOutputWithContext

func (o BlockPublicAccessConfigurationOutput) ToBlockPublicAccessConfigurationOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationOutput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRange

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRange struct {
	// The final port in the range of TCP ports.
	MaxRange int `pulumi:"maxRange"`
	// The first port in the range of TCP ports.
	MinRange int `pulumi:"minRange"`
}

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs struct {
	// The final port in the range of TCP ports.
	MaxRange pulumi.IntInput `pulumi:"maxRange"`
	// The first port in the range of TCP ports.
	MinRange pulumi.IntInput `pulumi:"minRange"`
}

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs) ElementType

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutputWithContext

func (i BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray []BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeInput

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray) ElementType

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutputWithContext

func (i BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutputWithContext(ctx context.Context) BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput interface {
	pulumi.Input

	ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput() BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput
	ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutputWithContext(context.Context) BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput
}

BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput is an input type that accepts BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray and BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput values. You can construct a concrete instance of `BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput` via:

BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArray{ BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{...} }

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput struct{ *pulumi.OutputState }

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput) ElementType

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutput) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayOutputWithContext

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeInput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeInput interface {
	pulumi.Input

	ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput() BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput
	ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutputWithContext(context.Context) BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput
}

BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeInput is an input type that accepts BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs and BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput values. You can construct a concrete instance of `BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeInput` via:

BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArgs{...}

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput

type BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput struct{ *pulumi.OutputState }

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput) ElementType

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput) MaxRange

The final port in the range of TCP ports.

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput) MinRange

The first port in the range of TCP ports.

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput

func (BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutput) ToBlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeOutputWithContext

type BlockPublicAccessConfigurationState

type BlockPublicAccessConfigurationState struct {
	// Enable or disable EMR Block Public Access.
	//
	// The following arguments are optional:
	BlockPublicSecurityGroupRules pulumi.BoolPtrInput
	// Configuration block for defining permitted public security group rule port ranges. Can be defined multiple times per resource. Only valid if `blockPublicSecurityGroupRules` is set to `true`.
	PermittedPublicSecurityGroupRuleRanges BlockPublicAccessConfigurationPermittedPublicSecurityGroupRuleRangeArrayInput
}

func (BlockPublicAccessConfigurationState) ElementType

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// 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 the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
	AdditionalInfo pulumi.StringPtrOutput `pulumi:"additionalInfo"`
	// A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
	Applications pulumi.StringArrayOutput `pulumi:"applications"`
	// ARN of the cluster.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
	AutoTerminationPolicy ClusterAutoTerminationPolicyPtrOutput `pulumi:"autoTerminationPolicy"`
	// 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.
	AutoscalingRole pulumi.StringPtrOutput `pulumi:"autoscalingRole"`
	// Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
	BootstrapActions ClusterBootstrapActionArrayOutput `pulumi:"bootstrapActions"`
	ClusterState     pulumi.StringOutput               `pulumi:"clusterState"`
	// List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See [AWS Documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) for more information.
	Configurations pulumi.StringPtrOutput `pulumi:"configurations"`
	// JSON string for supplying list of configurations for the EMR cluster.
	//
	// > **NOTE on `configurationsJson`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `"Configurations": []`.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewCluster(ctx, "cluster", &emr.ClusterArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrOutput `pulumi:"configurationsJson"`
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `coreInstanceGroup` configuration blocks are set. Detailed below.
	CoreInstanceFleet ClusterCoreInstanceFleetOutput `pulumi:"coreInstanceFleet"`
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [core node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-core).
	CoreInstanceGroup ClusterCoreInstanceGroupOutput `pulumi:"coreInstanceGroup"`
	// Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
	CustomAmiId pulumi.StringPtrOutput `pulumi:"customAmiId"`
	// 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.
	EbsRootVolumeSize pulumi.IntPtrOutput `pulumi:"ebsRootVolumeSize"`
	// Attributes for the EC2 instances running the job flow. See below.
	Ec2Attributes ClusterEc2AttributesPtrOutput `pulumi:"ec2Attributes"`
	// Switch on/off run cluster with no steps or when all steps are complete (default is on)
	KeepJobFlowAliveWhenNoSteps pulumi.BoolOutput `pulumi:"keepJobFlowAliveWhenNoSteps"`
	// Kerberos configuration for the cluster. See below.
	KerberosAttributes ClusterKerberosAttributesPtrOutput `pulumi:"kerberosAttributes"`
	// List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps
	ListStepsStates pulumi.StringArrayOutput `pulumi:"listStepsStates"`
	// AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
	LogEncryptionKmsKeyId pulumi.StringPtrOutput `pulumi:"logEncryptionKmsKeyId"`
	// S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
	LogUri pulumi.StringPtrOutput `pulumi:"logUri"`
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `masterInstanceGroup` configuration blocks are set. Detailed below.
	MasterInstanceFleet ClusterMasterInstanceFleetOutput `pulumi:"masterInstanceFleet"`
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [master node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-master).
	MasterInstanceGroup ClusterMasterInstanceGroupOutput `pulumi:"masterInstanceGroup"`
	// 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.
	MasterPublicDns pulumi.StringOutput `pulumi:"masterPublicDns"`
	// Name of the job flow.
	Name pulumi.StringOutput `pulumi:"name"`
	// The specified placement group configuration for an Amazon EMR cluster.
	PlacementGroupConfigs ClusterPlacementGroupConfigArrayOutput `pulumi:"placementGroupConfigs"`
	// Release label for the Amazon EMR release.
	ReleaseLabel pulumi.StringOutput `pulumi:"releaseLabel"`
	// Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an `instance group` is resized.
	ScaleDownBehavior pulumi.StringOutput `pulumi:"scaleDownBehavior"`
	// Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with `releaseLabel` 4.8.0 or greater.
	SecurityConfiguration pulumi.StringPtrOutput `pulumi:"securityConfiguration"`
	// IAM role that will be assumed by the Amazon EMR service to access AWS resources.
	//
	// The following arguments are optional:
	ServiceRole pulumi.StringOutput `pulumi:"serviceRole"`
	// Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with `releaseLabel` 5.28.0 or greater (default is 1).
	StepConcurrencyLevel pulumi.IntPtrOutput `pulumi:"stepConcurrencyLevel"`
	// List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with `ignoreChanges` if other steps are being managed outside of this provider.
	Steps ClusterStepArrayOutput `pulumi:"steps"`
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Switch on/off termination protection (default is `false`, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set to `false`.
	TerminationProtection pulumi.BoolOutput `pulumi:"terminationProtection"`
	// Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`.
	UnhealthyNodeReplacement pulumi.BoolPtrOutput `pulumi:"unhealthyNodeReplacement"`
	// Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`.
	VisibleToAllUsers pulumi.BoolPtrOutput `pulumi:"visibleToAllUsers"`
}

Provides an Elastic MapReduce Cluster, a web service that makes it easy to process large amounts of data efficiently. See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/elastic-mapreduce/) for more information.

To configure [Instance Groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for [task nodes](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-task), see the `emr.InstanceGroup` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewCluster(ctx, "cluster", &emr.ClusterArgs{
			Name:         pulumi.String("emr-test-arn"),
			ReleaseLabel: pulumi.String("emr-4.6.0"),
			Applications: pulumi.StringArray{
				pulumi.String("Spark"),
			},
			AdditionalInfo: pulumi.String(`{
  "instanceAwsClientConfiguration": {
    "proxyPort": 8099,
    "proxyHost": "myproxy.example.com"
  }
}

`),

TerminationProtection:       pulumi.Bool(false),
KeepJobFlowAliveWhenNoSteps: pulumi.Bool(true),
Ec2Attributes: &emr.ClusterEc2AttributesArgs{
	SubnetId:                      pulumi.Any(main.Id),
	EmrManagedMasterSecurityGroup: pulumi.Any(sg.Id),
	EmrManagedSlaveSecurityGroup:  pulumi.Any(sg.Id),
	InstanceProfile:               pulumi.Any(emrProfile.Arn),
},
MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
	InstanceType: pulumi.String("m4.large"),
},
CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{
	InstanceType:  pulumi.String("c4.large"),
	InstanceCount: pulumi.Int(1),
	EbsConfigs: emr.ClusterCoreInstanceGroupEbsConfigArray{
		&emr.ClusterCoreInstanceGroupEbsConfigArgs{
			Size:               pulumi.Int(40),
			Type:               pulumi.String("gp2"),
			VolumesPerInstance: pulumi.Int(1),
		},
	},
	BidPrice: pulumi.String("0.30"),
	AutoscalingPolicy: pulumi.String(`{

"Constraints": {
  "MinCapacity": 1,
  "MaxCapacity": 2
},

"Rules": [

{
  "Name": "ScaleOutMemoryPercentage",
  "Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
  "Action": {
    "SimpleScalingPolicyConfiguration": {
      "AdjustmentType": "CHANGE_IN_CAPACITY",
      "ScalingAdjustment": 1,
      "CoolDown": 300
    }
  },
  "Trigger": {
    "CloudWatchAlarmDefinition": {
      "ComparisonOperator": "LESS_THAN",
      "EvaluationPeriods": 1,
      "MetricName": "YARNMemoryAvailablePercentage",
      "Namespace": "AWS/ElasticMapReduce",
      "Period": 300,
      "Statistic": "AVERAGE",
      "Threshold": 15.0,
      "Unit": "PERCENT"
    }
  }
}

] } `),

			},
			EbsRootVolumeSize: pulumi.Int(100),
			Tags: pulumi.StringMap{
				"role": pulumi.String("rolename"),
				"env":  pulumi.String("env"),
			},
			BootstrapActions: emr.ClusterBootstrapActionArray{
				&emr.ClusterBootstrapActionArgs{
					Path: pulumi.String("s3://elasticmapreduce/bootstrap-actions/run-if"),
					Name: pulumi.String("runif"),
					Args: pulumi.StringArray{
						pulumi.String("instance.isMaster=true"),
						pulumi.String("echo running on master node"),
					},
				},
			},
			ConfigurationsJson: pulumi.String(`  [
    {
      "Classification": "hadoop-env",
      "Configurations": [
        {
          "Classification": "export",
          "Properties": {
            "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
          }
        }
      ],
      "Properties": {}
    },
    {
      "Classification": "spark-env",
      "Configurations": [
        {
          "Classification": "export",
          "Properties": {
            "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
          }
        }
      ],
      "Properties": {}
    }
  ]

`),

			ServiceRole: pulumi.Any(iamEmrServiceRole.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

The `emr.Cluster` resource typically requires two IAM roles, one for the EMR Cluster to use as a service role, and another is assigned to every EC2 instance in a cluster and each application process that runs on a cluster assumes this role for permissions to interact with other AWS services. An additional role, the Auto Scaling role, is required if your cluster uses automatic scaling in Amazon EMR.

The default AWS managed EMR service role is called `EMR_DefaultRole` with Amazon managed policy `AmazonEMRServicePolicy_v2` attached. The name of default instance profile role is `EMR_EC2_DefaultRole` with default managed policy `AmazonElasticMapReduceforEC2Role` attached, but it is on the path to deprecation and will not be replaced with another default managed policy. You'll need to create and specify an instance profile to replace the deprecated role and default policy. See the [Configure IAM service roles for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) guide for more information on these IAM roles. There is also a fully-bootable example Pulumi configuration at the bottom of this page.

### Instance Fleet

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := emr.NewCluster(ctx, "example", &emr.ClusterArgs{
			MasterInstanceFleet: &emr.ClusterMasterInstanceFleetArgs{
				InstanceTypeConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigArray{
					&emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs{
						InstanceType: pulumi.String("m4.xlarge"),
					},
				},
				TargetOnDemandCapacity: pulumi.Int(1),
			},
			CoreInstanceFleet: &emr.ClusterCoreInstanceFleetArgs{
				InstanceTypeConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigArray{
					&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
						BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(80),
						EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
							&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
								Size:               pulumi.Int(100),
								Type:               pulumi.String("gp2"),
								VolumesPerInstance: pulumi.Int(1),
							},
						},
						InstanceType:     pulumi.String("m3.xlarge"),
						WeightedCapacity: pulumi.Int(1),
					},
					&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
						BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
						EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
							&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
								Size:               pulumi.Int(100),
								Type:               pulumi.String("gp2"),
								VolumesPerInstance: pulumi.Int(1),
							},
						},
						InstanceType:     pulumi.String("m4.xlarge"),
						WeightedCapacity: pulumi.Int(1),
					},
					&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
						BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
						EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
							&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
								Size:               pulumi.Int(100),
								Type:               pulumi.String("gp2"),
								VolumesPerInstance: pulumi.Int(1),
							},
						},
						InstanceType:     pulumi.String("m4.2xlarge"),
						WeightedCapacity: pulumi.Int(2),
					},
				},
				LaunchSpecifications: &emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs{
					SpotSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{
						&emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{
							AllocationStrategy:     pulumi.String("capacity-optimized"),
							BlockDurationMinutes:   pulumi.Int(0),
							TimeoutAction:          pulumi.String("SWITCH_TO_ON_DEMAND"),
							TimeoutDurationMinutes: pulumi.Int(10),
						},
					},
				},
				Name:                   pulumi.String("core fleet"),
				TargetOnDemandCapacity: pulumi.Int(2),
				TargetSpotCapacity:     pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		_, err = emr.NewInstanceFleet(ctx, "task", &emr.InstanceFleetArgs{
			ClusterId: example.ID(),
			InstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{
				&emr.InstanceFleetInstanceTypeConfigArgs{
					BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
					EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
						&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
							Size:               pulumi.Int(100),
							Type:               pulumi.String("gp2"),
							VolumesPerInstance: pulumi.Int(1),
						},
					},
					InstanceType:     pulumi.String("m4.xlarge"),
					WeightedCapacity: pulumi.Int(1),
				},
				&emr.InstanceFleetInstanceTypeConfigArgs{
					BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
					EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
						&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
							Size:               pulumi.Int(100),
							Type:               pulumi.String("gp2"),
							VolumesPerInstance: pulumi.Int(1),
						},
					},
					InstanceType:     pulumi.String("m4.2xlarge"),
					WeightedCapacity: pulumi.Int(2),
				},
			},
			LaunchSpecifications: &emr.InstanceFleetLaunchSpecificationsArgs{
				SpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{
					&emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{
						AllocationStrategy:     pulumi.String("capacity-optimized"),
						BlockDurationMinutes:   pulumi.Int(0),
						TimeoutAction:          pulumi.String("TERMINATE_CLUSTER"),
						TimeoutDurationMinutes: pulumi.Int(10),
					},
				},
			},
			Name:                   pulumi.String("task fleet"),
			TargetOnDemandCapacity: pulumi.Int(1),
			TargetSpotCapacity:     pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Enable Debug Logging

[Debug logging in EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-debugging.html) is implemented as a step. It is highly recommended that you utilize the resource options configuration with `ignoreChanges` if other steps are being managed outside of this provider.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewCluster(ctx, "example", &emr.ClusterArgs{
			Steps: emr.ClusterStepArray{
				&emr.ClusterStepArgs{
					ActionOnFailure: pulumi.String("TERMINATE_CLUSTER"),
					Name:            pulumi.String("Setup Hadoop Debugging"),
					HadoopJarStep: &emr.ClusterStepHadoopJarStepArgs{
						Jar: pulumi.String("command-runner.jar"),
						Args: pulumi.StringArray{
							pulumi.String("state-pusher-script"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Multiple Node Master Instance Group

Available in EMR version 5.23.0 and later, an EMR Cluster can be launched with three master nodes for high availability. Additional information about this functionality and its requirements can be found in the [EMR Management Guide](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha.html).

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// This configuration is for illustrative purposes and highlights
		// only relevant configurations for working with this functionality.
		// Map public IP on launch must be enabled for public (Internet accessible) subnets
		example, err := ec2.NewSubnet(ctx, "example", &ec2.SubnetArgs{
			MapPublicIpOnLaunch: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = emr.NewCluster(ctx, "example", &emr.ClusterArgs{
			ReleaseLabel:          pulumi.String("emr-5.24.1"),
			TerminationProtection: pulumi.Bool(true),
			Ec2Attributes: &emr.ClusterEc2AttributesArgs{
				SubnetId: example.ID(),
			},
			MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
				InstanceCount: pulumi.Int(3),
			},
			CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR clusters using the `id`. For example:

```sh $ pulumi import aws:emr/cluster:Cluster cluster j-123456ABCDEF ``` Since the API does not return the actual values for Kerberos configurations, environments with those options set will need to use the `lifecycle` configuration block `ignore_changes` argument available to all Pulumi resources to prevent perpetual differences. For example:

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// 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 the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
	AdditionalInfo pulumi.StringPtrInput
	// A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
	Applications pulumi.StringArrayInput
	// An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
	AutoTerminationPolicy ClusterAutoTerminationPolicyPtrInput
	// 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.
	AutoscalingRole pulumi.StringPtrInput
	// Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
	BootstrapActions ClusterBootstrapActionArrayInput
	// List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See [AWS Documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) for more information.
	Configurations pulumi.StringPtrInput
	// JSON string for supplying list of configurations for the EMR cluster.
	//
	// > **NOTE on `configurationsJson`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `"Configurations": []`.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewCluster(ctx, "cluster", &emr.ClusterArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrInput
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `coreInstanceGroup` configuration blocks are set. Detailed below.
	CoreInstanceFleet ClusterCoreInstanceFleetPtrInput
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [core node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-core).
	CoreInstanceGroup ClusterCoreInstanceGroupPtrInput
	// Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
	CustomAmiId pulumi.StringPtrInput
	// 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.
	EbsRootVolumeSize pulumi.IntPtrInput
	// Attributes for the EC2 instances running the job flow. See below.
	Ec2Attributes ClusterEc2AttributesPtrInput
	// Switch on/off run cluster with no steps or when all steps are complete (default is on)
	KeepJobFlowAliveWhenNoSteps pulumi.BoolPtrInput
	// Kerberos configuration for the cluster. See below.
	KerberosAttributes ClusterKerberosAttributesPtrInput
	// List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps
	ListStepsStates pulumi.StringArrayInput
	// AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
	LogEncryptionKmsKeyId pulumi.StringPtrInput
	// S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
	LogUri pulumi.StringPtrInput
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `masterInstanceGroup` configuration blocks are set. Detailed below.
	MasterInstanceFleet ClusterMasterInstanceFleetPtrInput
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [master node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-master).
	MasterInstanceGroup ClusterMasterInstanceGroupPtrInput
	// Name of the job flow.
	Name pulumi.StringPtrInput
	// The specified placement group configuration for an Amazon EMR cluster.
	PlacementGroupConfigs ClusterPlacementGroupConfigArrayInput
	// Release label for the Amazon EMR release.
	ReleaseLabel pulumi.StringInput
	// Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an `instance group` is resized.
	ScaleDownBehavior pulumi.StringPtrInput
	// Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with `releaseLabel` 4.8.0 or greater.
	SecurityConfiguration pulumi.StringPtrInput
	// IAM role that will be assumed by the Amazon EMR service to access AWS resources.
	//
	// The following arguments are optional:
	ServiceRole pulumi.StringInput
	// Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with `releaseLabel` 5.28.0 or greater (default is 1).
	StepConcurrencyLevel pulumi.IntPtrInput
	// List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with `ignoreChanges` if other steps are being managed outside of this provider.
	Steps ClusterStepArrayInput
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Switch on/off termination protection (default is `false`, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set to `false`.
	TerminationProtection pulumi.BoolPtrInput
	// Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`.
	UnhealthyNodeReplacement pulumi.BoolPtrInput
	// Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`.
	VisibleToAllUsers pulumi.BoolPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterAutoTerminationPolicy

type ClusterAutoTerminationPolicy struct {
	// Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of `60` seconds and a maximum of `604800` seconds (seven days).
	IdleTimeout *int `pulumi:"idleTimeout"`
}

type ClusterAutoTerminationPolicyArgs

type ClusterAutoTerminationPolicyArgs struct {
	// Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of `60` seconds and a maximum of `604800` seconds (seven days).
	IdleTimeout pulumi.IntPtrInput `pulumi:"idleTimeout"`
}

func (ClusterAutoTerminationPolicyArgs) ElementType

func (ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyOutput

func (i ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyOutput() ClusterAutoTerminationPolicyOutput

func (ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyOutputWithContext

func (i ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyOutputWithContext(ctx context.Context) ClusterAutoTerminationPolicyOutput

func (ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyPtrOutput

func (i ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyPtrOutput() ClusterAutoTerminationPolicyPtrOutput

func (ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyPtrOutputWithContext

func (i ClusterAutoTerminationPolicyArgs) ToClusterAutoTerminationPolicyPtrOutputWithContext(ctx context.Context) ClusterAutoTerminationPolicyPtrOutput

type ClusterAutoTerminationPolicyInput

type ClusterAutoTerminationPolicyInput interface {
	pulumi.Input

	ToClusterAutoTerminationPolicyOutput() ClusterAutoTerminationPolicyOutput
	ToClusterAutoTerminationPolicyOutputWithContext(context.Context) ClusterAutoTerminationPolicyOutput
}

ClusterAutoTerminationPolicyInput is an input type that accepts ClusterAutoTerminationPolicyArgs and ClusterAutoTerminationPolicyOutput values. You can construct a concrete instance of `ClusterAutoTerminationPolicyInput` via:

ClusterAutoTerminationPolicyArgs{...}

type ClusterAutoTerminationPolicyOutput

type ClusterAutoTerminationPolicyOutput struct{ *pulumi.OutputState }

func (ClusterAutoTerminationPolicyOutput) ElementType

func (ClusterAutoTerminationPolicyOutput) IdleTimeout

Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of `60` seconds and a maximum of `604800` seconds (seven days).

func (ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyOutput

func (o ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyOutput() ClusterAutoTerminationPolicyOutput

func (ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyOutputWithContext

func (o ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyOutputWithContext(ctx context.Context) ClusterAutoTerminationPolicyOutput

func (ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyPtrOutput

func (o ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyPtrOutput() ClusterAutoTerminationPolicyPtrOutput

func (ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyPtrOutputWithContext

func (o ClusterAutoTerminationPolicyOutput) ToClusterAutoTerminationPolicyPtrOutputWithContext(ctx context.Context) ClusterAutoTerminationPolicyPtrOutput

type ClusterAutoTerminationPolicyPtrInput

type ClusterAutoTerminationPolicyPtrInput interface {
	pulumi.Input

	ToClusterAutoTerminationPolicyPtrOutput() ClusterAutoTerminationPolicyPtrOutput
	ToClusterAutoTerminationPolicyPtrOutputWithContext(context.Context) ClusterAutoTerminationPolicyPtrOutput
}

ClusterAutoTerminationPolicyPtrInput is an input type that accepts ClusterAutoTerminationPolicyArgs, ClusterAutoTerminationPolicyPtr and ClusterAutoTerminationPolicyPtrOutput values. You can construct a concrete instance of `ClusterAutoTerminationPolicyPtrInput` via:

        ClusterAutoTerminationPolicyArgs{...}

or:

        nil

type ClusterAutoTerminationPolicyPtrOutput

type ClusterAutoTerminationPolicyPtrOutput struct{ *pulumi.OutputState }

func (ClusterAutoTerminationPolicyPtrOutput) Elem

func (ClusterAutoTerminationPolicyPtrOutput) ElementType

func (ClusterAutoTerminationPolicyPtrOutput) IdleTimeout

Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of `60` seconds and a maximum of `604800` seconds (seven days).

func (ClusterAutoTerminationPolicyPtrOutput) ToClusterAutoTerminationPolicyPtrOutput

func (o ClusterAutoTerminationPolicyPtrOutput) ToClusterAutoTerminationPolicyPtrOutput() ClusterAutoTerminationPolicyPtrOutput

func (ClusterAutoTerminationPolicyPtrOutput) ToClusterAutoTerminationPolicyPtrOutputWithContext

func (o ClusterAutoTerminationPolicyPtrOutput) ToClusterAutoTerminationPolicyPtrOutputWithContext(ctx context.Context) ClusterAutoTerminationPolicyPtrOutput

type ClusterBootstrapAction

type ClusterBootstrapAction struct {
	// List of command line arguments to pass to the bootstrap action script.
	Args []string `pulumi:"args"`
	// Name of the bootstrap action.
	Name string `pulumi:"name"`
	// Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
	Path string `pulumi:"path"`
}

type ClusterBootstrapActionArgs

type ClusterBootstrapActionArgs struct {
	// List of command line arguments to pass to the bootstrap action script.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// Name of the bootstrap action.
	Name pulumi.StringInput `pulumi:"name"`
	// Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
	Path pulumi.StringInput `pulumi:"path"`
}

func (ClusterBootstrapActionArgs) ElementType

func (ClusterBootstrapActionArgs) ElementType() reflect.Type

func (ClusterBootstrapActionArgs) ToClusterBootstrapActionOutput

func (i ClusterBootstrapActionArgs) ToClusterBootstrapActionOutput() ClusterBootstrapActionOutput

func (ClusterBootstrapActionArgs) ToClusterBootstrapActionOutputWithContext

func (i ClusterBootstrapActionArgs) ToClusterBootstrapActionOutputWithContext(ctx context.Context) ClusterBootstrapActionOutput

type ClusterBootstrapActionArray

type ClusterBootstrapActionArray []ClusterBootstrapActionInput

func (ClusterBootstrapActionArray) ElementType

func (ClusterBootstrapActionArray) ToClusterBootstrapActionArrayOutput

func (i ClusterBootstrapActionArray) ToClusterBootstrapActionArrayOutput() ClusterBootstrapActionArrayOutput

func (ClusterBootstrapActionArray) ToClusterBootstrapActionArrayOutputWithContext

func (i ClusterBootstrapActionArray) ToClusterBootstrapActionArrayOutputWithContext(ctx context.Context) ClusterBootstrapActionArrayOutput

type ClusterBootstrapActionArrayInput

type ClusterBootstrapActionArrayInput interface {
	pulumi.Input

	ToClusterBootstrapActionArrayOutput() ClusterBootstrapActionArrayOutput
	ToClusterBootstrapActionArrayOutputWithContext(context.Context) ClusterBootstrapActionArrayOutput
}

ClusterBootstrapActionArrayInput is an input type that accepts ClusterBootstrapActionArray and ClusterBootstrapActionArrayOutput values. You can construct a concrete instance of `ClusterBootstrapActionArrayInput` via:

ClusterBootstrapActionArray{ ClusterBootstrapActionArgs{...} }

type ClusterBootstrapActionArrayOutput

type ClusterBootstrapActionArrayOutput struct{ *pulumi.OutputState }

func (ClusterBootstrapActionArrayOutput) ElementType

func (ClusterBootstrapActionArrayOutput) Index

func (ClusterBootstrapActionArrayOutput) ToClusterBootstrapActionArrayOutput

func (o ClusterBootstrapActionArrayOutput) ToClusterBootstrapActionArrayOutput() ClusterBootstrapActionArrayOutput

func (ClusterBootstrapActionArrayOutput) ToClusterBootstrapActionArrayOutputWithContext

func (o ClusterBootstrapActionArrayOutput) ToClusterBootstrapActionArrayOutputWithContext(ctx context.Context) ClusterBootstrapActionArrayOutput

type ClusterBootstrapActionInput

type ClusterBootstrapActionInput interface {
	pulumi.Input

	ToClusterBootstrapActionOutput() ClusterBootstrapActionOutput
	ToClusterBootstrapActionOutputWithContext(context.Context) ClusterBootstrapActionOutput
}

ClusterBootstrapActionInput is an input type that accepts ClusterBootstrapActionArgs and ClusterBootstrapActionOutput values. You can construct a concrete instance of `ClusterBootstrapActionInput` via:

ClusterBootstrapActionArgs{...}

type ClusterBootstrapActionOutput

type ClusterBootstrapActionOutput struct{ *pulumi.OutputState }

func (ClusterBootstrapActionOutput) Args

List of command line arguments to pass to the bootstrap action script.

func (ClusterBootstrapActionOutput) ElementType

func (ClusterBootstrapActionOutput) Name

Name of the bootstrap action.

func (ClusterBootstrapActionOutput) Path

Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

func (ClusterBootstrapActionOutput) ToClusterBootstrapActionOutput

func (o ClusterBootstrapActionOutput) ToClusterBootstrapActionOutput() ClusterBootstrapActionOutput

func (ClusterBootstrapActionOutput) ToClusterBootstrapActionOutputWithContext

func (o ClusterBootstrapActionOutput) ToClusterBootstrapActionOutputWithContext(ctx context.Context) ClusterBootstrapActionOutput

type ClusterCoreInstanceFleet

type ClusterCoreInstanceFleet struct {
	// ID of the cluster.
	Id *string `pulumi:"id"`
	// Configuration block for instance fleet.
	InstanceTypeConfigs []ClusterCoreInstanceFleetInstanceTypeConfig `pulumi:"instanceTypeConfigs"`
	// Configuration block for launch specification.
	LaunchSpecifications *ClusterCoreInstanceFleetLaunchSpecifications `pulumi:"launchSpecifications"`
	// Friendly name given to the instance fleet.
	Name                        *string `pulumi:"name"`
	ProvisionedOnDemandCapacity *int    `pulumi:"provisionedOnDemandCapacity"`
	ProvisionedSpotCapacity     *int    `pulumi:"provisionedSpotCapacity"`
	// The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity *int `pulumi:"targetOnDemandCapacity"`
	// Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity *int `pulumi:"targetSpotCapacity"`
}

type ClusterCoreInstanceFleetArgs

type ClusterCoreInstanceFleetArgs struct {
	// ID of the cluster.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Configuration block for instance fleet.
	InstanceTypeConfigs ClusterCoreInstanceFleetInstanceTypeConfigArrayInput `pulumi:"instanceTypeConfigs"`
	// Configuration block for launch specification.
	LaunchSpecifications ClusterCoreInstanceFleetLaunchSpecificationsPtrInput `pulumi:"launchSpecifications"`
	// Friendly name given to the instance fleet.
	Name                        pulumi.StringPtrInput `pulumi:"name"`
	ProvisionedOnDemandCapacity pulumi.IntPtrInput    `pulumi:"provisionedOnDemandCapacity"`
	ProvisionedSpotCapacity     pulumi.IntPtrInput    `pulumi:"provisionedSpotCapacity"`
	// The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity pulumi.IntPtrInput `pulumi:"targetOnDemandCapacity"`
	// Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity pulumi.IntPtrInput `pulumi:"targetSpotCapacity"`
}

func (ClusterCoreInstanceFleetArgs) ElementType

func (ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetOutput

func (i ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetOutput() ClusterCoreInstanceFleetOutput

func (ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetOutputWithContext

func (i ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetOutput

func (ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetPtrOutput

func (i ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetPtrOutput() ClusterCoreInstanceFleetPtrOutput

func (ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetPtrOutputWithContext

func (i ClusterCoreInstanceFleetArgs) ToClusterCoreInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetPtrOutput

type ClusterCoreInstanceFleetInput

type ClusterCoreInstanceFleetInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetOutput() ClusterCoreInstanceFleetOutput
	ToClusterCoreInstanceFleetOutputWithContext(context.Context) ClusterCoreInstanceFleetOutput
}

ClusterCoreInstanceFleetInput is an input type that accepts ClusterCoreInstanceFleetArgs and ClusterCoreInstanceFleetOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInput` via:

ClusterCoreInstanceFleetArgs{...}

type ClusterCoreInstanceFleetInstanceTypeConfig

type ClusterCoreInstanceFleetInstanceTypeConfig struct {
	// Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice *string `pulumi:"bidPrice"`
	// Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice *float64 `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations []ClusterCoreInstanceFleetInstanceTypeConfigConfiguration `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs []ClusterCoreInstanceFleetInstanceTypeConfigEbsConfig `pulumi:"ebsConfigs"`
	// EC2 instance type, such as m4.xlarge.
	InstanceType string `pulumi:"instanceType"`
	// Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity *int `pulumi:"weightedCapacity"`
}

type ClusterCoreInstanceFleetInstanceTypeConfigArgs

type ClusterCoreInstanceFleetInstanceTypeConfigArgs struct {
	// Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice pulumi.StringPtrInput `pulumi:"bidPrice"`
	// Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice pulumi.Float64PtrInput `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayInput `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayInput `pulumi:"ebsConfigs"`
	// EC2 instance type, such as m4.xlarge.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity pulumi.IntPtrInput `pulumi:"weightedCapacity"`
}

func (ClusterCoreInstanceFleetInstanceTypeConfigArgs) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigOutput

func (i ClusterCoreInstanceFleetInstanceTypeConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigOutput() ClusterCoreInstanceFleetInstanceTypeConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigOutput

type ClusterCoreInstanceFleetInstanceTypeConfigArray

type ClusterCoreInstanceFleetInstanceTypeConfigArray []ClusterCoreInstanceFleetInstanceTypeConfigInput

func (ClusterCoreInstanceFleetInstanceTypeConfigArray) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

func (i ClusterCoreInstanceFleetInstanceTypeConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutput() ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigArrayInput

type ClusterCoreInstanceFleetInstanceTypeConfigArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutput() ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigArrayInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigArray and ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigArrayInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigArray{ ClusterCoreInstanceFleetInstanceTypeConfigArgs{...} }

type ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput) Index

func (ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfiguration

type ClusterCoreInstanceFleetInstanceTypeConfigConfiguration struct {
	// Classification within a configuration.
	Classification *string `pulumi:"classification"`
	// Map of properties specified within a configuration classification.
	Properties map[string]string `pulumi:"properties"`
}

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs struct {
	// Classification within a configuration.
	Classification pulumi.StringPtrInput `pulumi:"classification"`
	// Map of properties specified within a configuration classification.
	Properties pulumi.StringMapInput `pulumi:"properties"`
}

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray []ClusterCoreInstanceFleetInstanceTypeConfigConfigurationInput

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayInput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput() ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray and ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray{ ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs{...} }

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput) Index

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationInput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput() ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigConfigurationInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs and ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigConfigurationInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs{...}

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) Classification

Classification within a configuration.

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) Properties

Map of properties specified within a configuration classification.

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfig

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfig struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops *int `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size int `pulumi:"size"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type string `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size pulumi.IntInput `pulumi:"size"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type pulumi.StringInput `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray []ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigInput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (i ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (i ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayInput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray and ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{ ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{...} }

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) Index

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigInput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput() ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs and ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{...}

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput

type ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) Iops

Number of I/O operations per second (IOPS) that the volume supports.

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) Size

Volume size, in gibibytes (GiB).

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) Type

Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).

func (ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigOutput) VolumesPerInstance

Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).

type ClusterCoreInstanceFleetInstanceTypeConfigInput

type ClusterCoreInstanceFleetInstanceTypeConfigInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetInstanceTypeConfigOutput() ClusterCoreInstanceFleetInstanceTypeConfigOutput
	ToClusterCoreInstanceFleetInstanceTypeConfigOutputWithContext(context.Context) ClusterCoreInstanceFleetInstanceTypeConfigOutput
}

ClusterCoreInstanceFleetInstanceTypeConfigInput is an input type that accepts ClusterCoreInstanceFleetInstanceTypeConfigArgs and ClusterCoreInstanceFleetInstanceTypeConfigOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetInstanceTypeConfigInput` via:

ClusterCoreInstanceFleetInstanceTypeConfigArgs{...}

type ClusterCoreInstanceFleetInstanceTypeConfigOutput

type ClusterCoreInstanceFleetInstanceTypeConfigOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) BidPrice

Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice

func (o ClusterCoreInstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice() pulumi.Float64PtrOutput

Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) Configurations

Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) ElementType

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) InstanceType

EC2 instance type, such as m4.xlarge.

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigOutput

func (o ClusterCoreInstanceFleetInstanceTypeConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigOutput() ClusterCoreInstanceFleetInstanceTypeConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigOutputWithContext

func (o ClusterCoreInstanceFleetInstanceTypeConfigOutput) ToClusterCoreInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetInstanceTypeConfigOutput

func (ClusterCoreInstanceFleetInstanceTypeConfigOutput) WeightedCapacity

Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.

type ClusterCoreInstanceFleetLaunchSpecifications

type ClusterCoreInstanceFleetLaunchSpecifications struct {
	// Configuration block for on demand instances launch specifications.
	OnDemandSpecifications []ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecification `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications.
	SpotSpecifications []ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecification `pulumi:"spotSpecifications"`
}

type ClusterCoreInstanceFleetLaunchSpecificationsArgs

type ClusterCoreInstanceFleetLaunchSpecificationsArgs struct {
	// Configuration block for on demand instances launch specifications.
	OnDemandSpecifications ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications.
	SpotSpecifications ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput `pulumi:"spotSpecifications"`
}

func (ClusterCoreInstanceFleetLaunchSpecificationsArgs) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOutput

func (i ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOutput() ClusterCoreInstanceFleetLaunchSpecificationsOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

func (i ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput() ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsArgs) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

type ClusterCoreInstanceFleetLaunchSpecificationsInput

type ClusterCoreInstanceFleetLaunchSpecificationsInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsOutput() ClusterCoreInstanceFleetLaunchSpecificationsOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsArgs and ClusterCoreInstanceFleetLaunchSpecificationsOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsInput` via:

ClusterCoreInstanceFleetLaunchSpecificationsArgs{...}

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecification

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecification struct {
	// Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.
	AllocationStrategy string `pulumi:"allocationStrategy"`
}

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs struct {
	// Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
}

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray []ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationInput

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput() ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray and ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput` via:

ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray{ ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...} }

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationInput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput() ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs and ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationInput` via:

ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...}

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) AllocationStrategy

Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

func (o ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOutput

type ClusterCoreInstanceFleetLaunchSpecificationsOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications.

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) SpotSpecifications

Configuration block for spot instances launch specifications.

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOutput

func (o ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOutput() ClusterCoreInstanceFleetLaunchSpecificationsOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOutputWithContext

func (o ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

func (o ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput() ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o ClusterCoreInstanceFleetLaunchSpecificationsOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

type ClusterCoreInstanceFleetLaunchSpecificationsPtrInput

type ClusterCoreInstanceFleetLaunchSpecificationsPtrInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput() ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsPtrInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsArgs, ClusterCoreInstanceFleetLaunchSpecificationsPtr and ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsPtrInput` via:

        ClusterCoreInstanceFleetLaunchSpecificationsArgs{...}

or:

        nil

type ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

type ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) Elem

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications.

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) SpotSpecifications

Configuration block for spot instances launch specifications.

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput) ToClusterCoreInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsPtrOutput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecification

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecification struct {
	// Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.
	AllocationStrategy string `pulumi:"allocationStrategy"`
	// Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes *int `pulumi:"blockDurationMinutes"`
	// Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction string `pulumi:"timeoutAction"`
	// Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes int `pulumi:"timeoutDurationMinutes"`
}

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs struct {
	// Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
	// Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes pulumi.IntPtrInput `pulumi:"blockDurationMinutes"`
	// Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction pulumi.StringInput `pulumi:"timeoutAction"`
	// Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes pulumi.IntInput `pulumi:"timeoutDurationMinutes"`
}

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray []ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationInput

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

func (i ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput() ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray and ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput` via:

ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{ ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{...} }

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationInput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput() ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput
	ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(context.Context) ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput
}

ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationInput is an input type that accepts ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs and ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationInput` via:

ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{...}

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) AllocationStrategy

Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) BlockDurationMinutes

Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ElementType

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutAction

Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutDurationMinutes

Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (o ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterCoreInstanceFleetOutput

type ClusterCoreInstanceFleetOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetOutput) ElementType

func (ClusterCoreInstanceFleetOutput) Id

ID of the cluster.

func (ClusterCoreInstanceFleetOutput) InstanceTypeConfigs

Configuration block for instance fleet.

func (ClusterCoreInstanceFleetOutput) LaunchSpecifications

Configuration block for launch specification.

func (ClusterCoreInstanceFleetOutput) Name

Friendly name given to the instance fleet.

func (ClusterCoreInstanceFleetOutput) ProvisionedOnDemandCapacity

func (o ClusterCoreInstanceFleetOutput) ProvisionedOnDemandCapacity() pulumi.IntPtrOutput

func (ClusterCoreInstanceFleetOutput) ProvisionedSpotCapacity

func (o ClusterCoreInstanceFleetOutput) ProvisionedSpotCapacity() pulumi.IntPtrOutput

func (ClusterCoreInstanceFleetOutput) TargetOnDemandCapacity

func (o ClusterCoreInstanceFleetOutput) TargetOnDemandCapacity() pulumi.IntPtrOutput

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

func (ClusterCoreInstanceFleetOutput) TargetSpotCapacity

func (o ClusterCoreInstanceFleetOutput) TargetSpotCapacity() pulumi.IntPtrOutput

Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

func (ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetOutput

func (o ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetOutput() ClusterCoreInstanceFleetOutput

func (ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetOutputWithContext

func (o ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetOutput

func (ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetPtrOutput

func (o ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetPtrOutput() ClusterCoreInstanceFleetPtrOutput

func (ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetPtrOutputWithContext

func (o ClusterCoreInstanceFleetOutput) ToClusterCoreInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetPtrOutput

type ClusterCoreInstanceFleetPtrInput

type ClusterCoreInstanceFleetPtrInput interface {
	pulumi.Input

	ToClusterCoreInstanceFleetPtrOutput() ClusterCoreInstanceFleetPtrOutput
	ToClusterCoreInstanceFleetPtrOutputWithContext(context.Context) ClusterCoreInstanceFleetPtrOutput
}

ClusterCoreInstanceFleetPtrInput is an input type that accepts ClusterCoreInstanceFleetArgs, ClusterCoreInstanceFleetPtr and ClusterCoreInstanceFleetPtrOutput values. You can construct a concrete instance of `ClusterCoreInstanceFleetPtrInput` via:

        ClusterCoreInstanceFleetArgs{...}

or:

        nil

type ClusterCoreInstanceFleetPtrOutput

type ClusterCoreInstanceFleetPtrOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceFleetPtrOutput) Elem

func (ClusterCoreInstanceFleetPtrOutput) ElementType

func (ClusterCoreInstanceFleetPtrOutput) Id

ID of the cluster.

func (ClusterCoreInstanceFleetPtrOutput) InstanceTypeConfigs

Configuration block for instance fleet.

func (ClusterCoreInstanceFleetPtrOutput) LaunchSpecifications

Configuration block for launch specification.

func (ClusterCoreInstanceFleetPtrOutput) Name

Friendly name given to the instance fleet.

func (ClusterCoreInstanceFleetPtrOutput) ProvisionedOnDemandCapacity

func (o ClusterCoreInstanceFleetPtrOutput) ProvisionedOnDemandCapacity() pulumi.IntPtrOutput

func (ClusterCoreInstanceFleetPtrOutput) ProvisionedSpotCapacity

func (o ClusterCoreInstanceFleetPtrOutput) ProvisionedSpotCapacity() pulumi.IntPtrOutput

func (ClusterCoreInstanceFleetPtrOutput) TargetOnDemandCapacity

func (o ClusterCoreInstanceFleetPtrOutput) TargetOnDemandCapacity() pulumi.IntPtrOutput

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

func (ClusterCoreInstanceFleetPtrOutput) TargetSpotCapacity

func (o ClusterCoreInstanceFleetPtrOutput) TargetSpotCapacity() pulumi.IntPtrOutput

Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

func (ClusterCoreInstanceFleetPtrOutput) ToClusterCoreInstanceFleetPtrOutput

func (o ClusterCoreInstanceFleetPtrOutput) ToClusterCoreInstanceFleetPtrOutput() ClusterCoreInstanceFleetPtrOutput

func (ClusterCoreInstanceFleetPtrOutput) ToClusterCoreInstanceFleetPtrOutputWithContext

func (o ClusterCoreInstanceFleetPtrOutput) ToClusterCoreInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceFleetPtrOutput

type ClusterCoreInstanceGroup

type ClusterCoreInstanceGroup struct {
	// String containing the [EMR Auto Scaling Policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) JSON.
	AutoscalingPolicy *string `pulumi:"autoscalingPolicy"`
	// Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice *string `pulumi:"bidPrice"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs []ClusterCoreInstanceGroupEbsConfig `pulumi:"ebsConfigs"`
	// Core node type Instance Group ID, if using Instance Group for this node type.
	Id *string `pulumi:"id"`
	// Target number of instances for the instance group. Must be at least 1. Defaults to 1.
	InstanceCount *int `pulumi:"instanceCount"`
	// EC2 instance type for all instances in the instance group.
	InstanceType string `pulumi:"instanceType"`
	// Friendly name given to the instance group.
	Name *string `pulumi:"name"`
}

type ClusterCoreInstanceGroupArgs

type ClusterCoreInstanceGroupArgs struct {
	// String containing the [EMR Auto Scaling Policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) JSON.
	AutoscalingPolicy pulumi.StringPtrInput `pulumi:"autoscalingPolicy"`
	// Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice pulumi.StringPtrInput `pulumi:"bidPrice"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs ClusterCoreInstanceGroupEbsConfigArrayInput `pulumi:"ebsConfigs"`
	// Core node type Instance Group ID, if using Instance Group for this node type.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Target number of instances for the instance group. Must be at least 1. Defaults to 1.
	InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"`
	// EC2 instance type for all instances in the instance group.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Friendly name given to the instance group.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (ClusterCoreInstanceGroupArgs) ElementType

func (ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupOutput

func (i ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupOutput() ClusterCoreInstanceGroupOutput

func (ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupOutputWithContext

func (i ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupOutput

func (ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupPtrOutput

func (i ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupPtrOutput() ClusterCoreInstanceGroupPtrOutput

func (ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupPtrOutputWithContext

func (i ClusterCoreInstanceGroupArgs) ToClusterCoreInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupPtrOutput

type ClusterCoreInstanceGroupEbsConfig

type ClusterCoreInstanceGroupEbsConfig struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops *int `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size int `pulumi:"size"`
	// The throughput, in mebibyte per second (MiB/s).
	Throughput *int `pulumi:"throughput"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type string `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type ClusterCoreInstanceGroupEbsConfigArgs

type ClusterCoreInstanceGroupEbsConfigArgs struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size pulumi.IntInput `pulumi:"size"`
	// The throughput, in mebibyte per second (MiB/s).
	Throughput pulumi.IntPtrInput `pulumi:"throughput"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type pulumi.StringInput `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (ClusterCoreInstanceGroupEbsConfigArgs) ElementType

func (ClusterCoreInstanceGroupEbsConfigArgs) ToClusterCoreInstanceGroupEbsConfigOutput

func (i ClusterCoreInstanceGroupEbsConfigArgs) ToClusterCoreInstanceGroupEbsConfigOutput() ClusterCoreInstanceGroupEbsConfigOutput

func (ClusterCoreInstanceGroupEbsConfigArgs) ToClusterCoreInstanceGroupEbsConfigOutputWithContext

func (i ClusterCoreInstanceGroupEbsConfigArgs) ToClusterCoreInstanceGroupEbsConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupEbsConfigOutput

type ClusterCoreInstanceGroupEbsConfigArray

type ClusterCoreInstanceGroupEbsConfigArray []ClusterCoreInstanceGroupEbsConfigInput

func (ClusterCoreInstanceGroupEbsConfigArray) ElementType

func (ClusterCoreInstanceGroupEbsConfigArray) ToClusterCoreInstanceGroupEbsConfigArrayOutput

func (i ClusterCoreInstanceGroupEbsConfigArray) ToClusterCoreInstanceGroupEbsConfigArrayOutput() ClusterCoreInstanceGroupEbsConfigArrayOutput

func (ClusterCoreInstanceGroupEbsConfigArray) ToClusterCoreInstanceGroupEbsConfigArrayOutputWithContext

func (i ClusterCoreInstanceGroupEbsConfigArray) ToClusterCoreInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupEbsConfigArrayOutput

type ClusterCoreInstanceGroupEbsConfigArrayInput

type ClusterCoreInstanceGroupEbsConfigArrayInput interface {
	pulumi.Input

	ToClusterCoreInstanceGroupEbsConfigArrayOutput() ClusterCoreInstanceGroupEbsConfigArrayOutput
	ToClusterCoreInstanceGroupEbsConfigArrayOutputWithContext(context.Context) ClusterCoreInstanceGroupEbsConfigArrayOutput
}

ClusterCoreInstanceGroupEbsConfigArrayInput is an input type that accepts ClusterCoreInstanceGroupEbsConfigArray and ClusterCoreInstanceGroupEbsConfigArrayOutput values. You can construct a concrete instance of `ClusterCoreInstanceGroupEbsConfigArrayInput` via:

ClusterCoreInstanceGroupEbsConfigArray{ ClusterCoreInstanceGroupEbsConfigArgs{...} }

type ClusterCoreInstanceGroupEbsConfigArrayOutput

type ClusterCoreInstanceGroupEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceGroupEbsConfigArrayOutput) ElementType

func (ClusterCoreInstanceGroupEbsConfigArrayOutput) Index

func (ClusterCoreInstanceGroupEbsConfigArrayOutput) ToClusterCoreInstanceGroupEbsConfigArrayOutput

func (o ClusterCoreInstanceGroupEbsConfigArrayOutput) ToClusterCoreInstanceGroupEbsConfigArrayOutput() ClusterCoreInstanceGroupEbsConfigArrayOutput

func (ClusterCoreInstanceGroupEbsConfigArrayOutput) ToClusterCoreInstanceGroupEbsConfigArrayOutputWithContext

func (o ClusterCoreInstanceGroupEbsConfigArrayOutput) ToClusterCoreInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupEbsConfigArrayOutput

type ClusterCoreInstanceGroupEbsConfigInput

type ClusterCoreInstanceGroupEbsConfigInput interface {
	pulumi.Input

	ToClusterCoreInstanceGroupEbsConfigOutput() ClusterCoreInstanceGroupEbsConfigOutput
	ToClusterCoreInstanceGroupEbsConfigOutputWithContext(context.Context) ClusterCoreInstanceGroupEbsConfigOutput
}

ClusterCoreInstanceGroupEbsConfigInput is an input type that accepts ClusterCoreInstanceGroupEbsConfigArgs and ClusterCoreInstanceGroupEbsConfigOutput values. You can construct a concrete instance of `ClusterCoreInstanceGroupEbsConfigInput` via:

ClusterCoreInstanceGroupEbsConfigArgs{...}

type ClusterCoreInstanceGroupEbsConfigOutput

type ClusterCoreInstanceGroupEbsConfigOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceGroupEbsConfigOutput) ElementType

func (ClusterCoreInstanceGroupEbsConfigOutput) Iops

Number of I/O operations per second (IOPS) that the volume supports.

func (ClusterCoreInstanceGroupEbsConfigOutput) Size

Volume size, in gibibytes (GiB).

func (ClusterCoreInstanceGroupEbsConfigOutput) Throughput

The throughput, in mebibyte per second (MiB/s).

func (ClusterCoreInstanceGroupEbsConfigOutput) ToClusterCoreInstanceGroupEbsConfigOutput

func (o ClusterCoreInstanceGroupEbsConfigOutput) ToClusterCoreInstanceGroupEbsConfigOutput() ClusterCoreInstanceGroupEbsConfigOutput

func (ClusterCoreInstanceGroupEbsConfigOutput) ToClusterCoreInstanceGroupEbsConfigOutputWithContext

func (o ClusterCoreInstanceGroupEbsConfigOutput) ToClusterCoreInstanceGroupEbsConfigOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupEbsConfigOutput

func (ClusterCoreInstanceGroupEbsConfigOutput) Type

Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).

func (ClusterCoreInstanceGroupEbsConfigOutput) VolumesPerInstance

Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).

type ClusterCoreInstanceGroupInput

type ClusterCoreInstanceGroupInput interface {
	pulumi.Input

	ToClusterCoreInstanceGroupOutput() ClusterCoreInstanceGroupOutput
	ToClusterCoreInstanceGroupOutputWithContext(context.Context) ClusterCoreInstanceGroupOutput
}

ClusterCoreInstanceGroupInput is an input type that accepts ClusterCoreInstanceGroupArgs and ClusterCoreInstanceGroupOutput values. You can construct a concrete instance of `ClusterCoreInstanceGroupInput` via:

ClusterCoreInstanceGroupArgs{...}

type ClusterCoreInstanceGroupOutput

type ClusterCoreInstanceGroupOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceGroupOutput) AutoscalingPolicy

String containing the [EMR Auto Scaling Policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) JSON.

func (ClusterCoreInstanceGroupOutput) BidPrice

Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

func (ClusterCoreInstanceGroupOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterCoreInstanceGroupOutput) ElementType

func (ClusterCoreInstanceGroupOutput) Id

Core node type Instance Group ID, if using Instance Group for this node type.

func (ClusterCoreInstanceGroupOutput) InstanceCount

Target number of instances for the instance group. Must be at least 1. Defaults to 1.

func (ClusterCoreInstanceGroupOutput) InstanceType

EC2 instance type for all instances in the instance group.

func (ClusterCoreInstanceGroupOutput) Name

Friendly name given to the instance group.

func (ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupOutput

func (o ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupOutput() ClusterCoreInstanceGroupOutput

func (ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupOutputWithContext

func (o ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupOutput

func (ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupPtrOutput

func (o ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupPtrOutput() ClusterCoreInstanceGroupPtrOutput

func (ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupPtrOutputWithContext

func (o ClusterCoreInstanceGroupOutput) ToClusterCoreInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupPtrOutput

type ClusterCoreInstanceGroupPtrInput

type ClusterCoreInstanceGroupPtrInput interface {
	pulumi.Input

	ToClusterCoreInstanceGroupPtrOutput() ClusterCoreInstanceGroupPtrOutput
	ToClusterCoreInstanceGroupPtrOutputWithContext(context.Context) ClusterCoreInstanceGroupPtrOutput
}

ClusterCoreInstanceGroupPtrInput is an input type that accepts ClusterCoreInstanceGroupArgs, ClusterCoreInstanceGroupPtr and ClusterCoreInstanceGroupPtrOutput values. You can construct a concrete instance of `ClusterCoreInstanceGroupPtrInput` via:

        ClusterCoreInstanceGroupArgs{...}

or:

        nil

type ClusterCoreInstanceGroupPtrOutput

type ClusterCoreInstanceGroupPtrOutput struct{ *pulumi.OutputState }

func (ClusterCoreInstanceGroupPtrOutput) AutoscalingPolicy

String containing the [EMR Auto Scaling Policy](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) JSON.

func (ClusterCoreInstanceGroupPtrOutput) BidPrice

Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

func (ClusterCoreInstanceGroupPtrOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterCoreInstanceGroupPtrOutput) Elem

func (ClusterCoreInstanceGroupPtrOutput) ElementType

func (ClusterCoreInstanceGroupPtrOutput) Id

Core node type Instance Group ID, if using Instance Group for this node type.

func (ClusterCoreInstanceGroupPtrOutput) InstanceCount

Target number of instances for the instance group. Must be at least 1. Defaults to 1.

func (ClusterCoreInstanceGroupPtrOutput) InstanceType

EC2 instance type for all instances in the instance group.

func (ClusterCoreInstanceGroupPtrOutput) Name

Friendly name given to the instance group.

func (ClusterCoreInstanceGroupPtrOutput) ToClusterCoreInstanceGroupPtrOutput

func (o ClusterCoreInstanceGroupPtrOutput) ToClusterCoreInstanceGroupPtrOutput() ClusterCoreInstanceGroupPtrOutput

func (ClusterCoreInstanceGroupPtrOutput) ToClusterCoreInstanceGroupPtrOutputWithContext

func (o ClusterCoreInstanceGroupPtrOutput) ToClusterCoreInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterCoreInstanceGroupPtrOutput

type ClusterEc2Attributes

type ClusterEc2Attributes struct {
	// String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
	AdditionalMasterSecurityGroups *string `pulumi:"additionalMasterSecurityGroups"`
	// String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
	AdditionalSlaveSecurityGroups *string `pulumi:"additionalSlaveSecurityGroups"`
	// Identifier of the Amazon EC2 EMR-Managed security group for the master node.
	EmrManagedMasterSecurityGroup *string `pulumi:"emrManagedMasterSecurityGroup"`
	// Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
	EmrManagedSlaveSecurityGroup *string `pulumi:"emrManagedSlaveSecurityGroup"`
	// Instance Profile for EC2 instances of the cluster assume this role.
	InstanceProfile string `pulumi:"instanceProfile"`
	// Amazon EC2 key pair that can be used to ssh to the master node as the user called `hadoop`.
	KeyName *string `pulumi:"keyName"`
	// Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
	ServiceAccessSecurityGroup *string `pulumi:"serviceAccessSecurityGroup"`
	// VPC subnet id where you want the job flow to launch. Cannot specify the `cc1.4xlarge` instance type for nodes of a job flow launched in an Amazon VPC.
	SubnetId *string `pulumi:"subnetId"`
	// List of VPC subnet id-s where you want the job flow to launch.  Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
	//
	// > **NOTE on EMR-Managed security groups:** These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use the `revokeRulesOnDelete` optional attribute for any Security Group used in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`. See [Amazon EMR-Managed Security Groups](http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html) for more information about the EMR-managed security group rules.
	SubnetIds []string `pulumi:"subnetIds"`
}

type ClusterEc2AttributesArgs

type ClusterEc2AttributesArgs struct {
	// String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
	AdditionalMasterSecurityGroups pulumi.StringPtrInput `pulumi:"additionalMasterSecurityGroups"`
	// String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
	AdditionalSlaveSecurityGroups pulumi.StringPtrInput `pulumi:"additionalSlaveSecurityGroups"`
	// Identifier of the Amazon EC2 EMR-Managed security group for the master node.
	EmrManagedMasterSecurityGroup pulumi.StringPtrInput `pulumi:"emrManagedMasterSecurityGroup"`
	// Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
	EmrManagedSlaveSecurityGroup pulumi.StringPtrInput `pulumi:"emrManagedSlaveSecurityGroup"`
	// Instance Profile for EC2 instances of the cluster assume this role.
	InstanceProfile pulumi.StringInput `pulumi:"instanceProfile"`
	// Amazon EC2 key pair that can be used to ssh to the master node as the user called `hadoop`.
	KeyName pulumi.StringPtrInput `pulumi:"keyName"`
	// Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
	ServiceAccessSecurityGroup pulumi.StringPtrInput `pulumi:"serviceAccessSecurityGroup"`
	// VPC subnet id where you want the job flow to launch. Cannot specify the `cc1.4xlarge` instance type for nodes of a job flow launched in an Amazon VPC.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
	// List of VPC subnet id-s where you want the job flow to launch.  Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
	//
	// > **NOTE on EMR-Managed security groups:** These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use the `revokeRulesOnDelete` optional attribute for any Security Group used in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`. See [Amazon EMR-Managed Security Groups](http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html) for more information about the EMR-managed security group rules.
	SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"`
}

func (ClusterEc2AttributesArgs) ElementType

func (ClusterEc2AttributesArgs) ElementType() reflect.Type

func (ClusterEc2AttributesArgs) ToClusterEc2AttributesOutput

func (i ClusterEc2AttributesArgs) ToClusterEc2AttributesOutput() ClusterEc2AttributesOutput

func (ClusterEc2AttributesArgs) ToClusterEc2AttributesOutputWithContext

func (i ClusterEc2AttributesArgs) ToClusterEc2AttributesOutputWithContext(ctx context.Context) ClusterEc2AttributesOutput

func (ClusterEc2AttributesArgs) ToClusterEc2AttributesPtrOutput

func (i ClusterEc2AttributesArgs) ToClusterEc2AttributesPtrOutput() ClusterEc2AttributesPtrOutput

func (ClusterEc2AttributesArgs) ToClusterEc2AttributesPtrOutputWithContext

func (i ClusterEc2AttributesArgs) ToClusterEc2AttributesPtrOutputWithContext(ctx context.Context) ClusterEc2AttributesPtrOutput

type ClusterEc2AttributesInput

type ClusterEc2AttributesInput interface {
	pulumi.Input

	ToClusterEc2AttributesOutput() ClusterEc2AttributesOutput
	ToClusterEc2AttributesOutputWithContext(context.Context) ClusterEc2AttributesOutput
}

ClusterEc2AttributesInput is an input type that accepts ClusterEc2AttributesArgs and ClusterEc2AttributesOutput values. You can construct a concrete instance of `ClusterEc2AttributesInput` via:

ClusterEc2AttributesArgs{...}

type ClusterEc2AttributesOutput

type ClusterEc2AttributesOutput struct{ *pulumi.OutputState }

func (ClusterEc2AttributesOutput) AdditionalMasterSecurityGroups

func (o ClusterEc2AttributesOutput) AdditionalMasterSecurityGroups() pulumi.StringPtrOutput

String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.

func (ClusterEc2AttributesOutput) AdditionalSlaveSecurityGroups

func (o ClusterEc2AttributesOutput) AdditionalSlaveSecurityGroups() pulumi.StringPtrOutput

String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.

func (ClusterEc2AttributesOutput) ElementType

func (ClusterEc2AttributesOutput) ElementType() reflect.Type

func (ClusterEc2AttributesOutput) EmrManagedMasterSecurityGroup

func (o ClusterEc2AttributesOutput) EmrManagedMasterSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 EMR-Managed security group for the master node.

func (ClusterEc2AttributesOutput) EmrManagedSlaveSecurityGroup

func (o ClusterEc2AttributesOutput) EmrManagedSlaveSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.

func (ClusterEc2AttributesOutput) InstanceProfile

func (o ClusterEc2AttributesOutput) InstanceProfile() pulumi.StringOutput

Instance Profile for EC2 instances of the cluster assume this role.

func (ClusterEc2AttributesOutput) KeyName

Amazon EC2 key pair that can be used to ssh to the master node as the user called `hadoop`.

func (ClusterEc2AttributesOutput) ServiceAccessSecurityGroup

func (o ClusterEc2AttributesOutput) ServiceAccessSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.

func (ClusterEc2AttributesOutput) SubnetId

VPC subnet id where you want the job flow to launch. Cannot specify the `cc1.4xlarge` instance type for nodes of a job flow launched in an Amazon VPC.

func (ClusterEc2AttributesOutput) SubnetIds

List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.

> **NOTE on EMR-Managed security groups:** These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use the `revokeRulesOnDelete` optional attribute for any Security Group used in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`. See [Amazon EMR-Managed Security Groups](http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html) for more information about the EMR-managed security group rules.

func (ClusterEc2AttributesOutput) ToClusterEc2AttributesOutput

func (o ClusterEc2AttributesOutput) ToClusterEc2AttributesOutput() ClusterEc2AttributesOutput

func (ClusterEc2AttributesOutput) ToClusterEc2AttributesOutputWithContext

func (o ClusterEc2AttributesOutput) ToClusterEc2AttributesOutputWithContext(ctx context.Context) ClusterEc2AttributesOutput

func (ClusterEc2AttributesOutput) ToClusterEc2AttributesPtrOutput

func (o ClusterEc2AttributesOutput) ToClusterEc2AttributesPtrOutput() ClusterEc2AttributesPtrOutput

func (ClusterEc2AttributesOutput) ToClusterEc2AttributesPtrOutputWithContext

func (o ClusterEc2AttributesOutput) ToClusterEc2AttributesPtrOutputWithContext(ctx context.Context) ClusterEc2AttributesPtrOutput

type ClusterEc2AttributesPtrInput

type ClusterEc2AttributesPtrInput interface {
	pulumi.Input

	ToClusterEc2AttributesPtrOutput() ClusterEc2AttributesPtrOutput
	ToClusterEc2AttributesPtrOutputWithContext(context.Context) ClusterEc2AttributesPtrOutput
}

ClusterEc2AttributesPtrInput is an input type that accepts ClusterEc2AttributesArgs, ClusterEc2AttributesPtr and ClusterEc2AttributesPtrOutput values. You can construct a concrete instance of `ClusterEc2AttributesPtrInput` via:

        ClusterEc2AttributesArgs{...}

or:

        nil

type ClusterEc2AttributesPtrOutput

type ClusterEc2AttributesPtrOutput struct{ *pulumi.OutputState }

func (ClusterEc2AttributesPtrOutput) AdditionalMasterSecurityGroups

func (o ClusterEc2AttributesPtrOutput) AdditionalMasterSecurityGroups() pulumi.StringPtrOutput

String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.

func (ClusterEc2AttributesPtrOutput) AdditionalSlaveSecurityGroups

func (o ClusterEc2AttributesPtrOutput) AdditionalSlaveSecurityGroups() pulumi.StringPtrOutput

String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.

func (ClusterEc2AttributesPtrOutput) Elem

func (ClusterEc2AttributesPtrOutput) ElementType

func (ClusterEc2AttributesPtrOutput) EmrManagedMasterSecurityGroup

func (o ClusterEc2AttributesPtrOutput) EmrManagedMasterSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 EMR-Managed security group for the master node.

func (ClusterEc2AttributesPtrOutput) EmrManagedSlaveSecurityGroup

func (o ClusterEc2AttributesPtrOutput) EmrManagedSlaveSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.

func (ClusterEc2AttributesPtrOutput) InstanceProfile

Instance Profile for EC2 instances of the cluster assume this role.

func (ClusterEc2AttributesPtrOutput) KeyName

Amazon EC2 key pair that can be used to ssh to the master node as the user called `hadoop`.

func (ClusterEc2AttributesPtrOutput) ServiceAccessSecurityGroup

func (o ClusterEc2AttributesPtrOutput) ServiceAccessSecurityGroup() pulumi.StringPtrOutput

Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.

func (ClusterEc2AttributesPtrOutput) SubnetId

VPC subnet id where you want the job flow to launch. Cannot specify the `cc1.4xlarge` instance type for nodes of a job flow launched in an Amazon VPC.

func (ClusterEc2AttributesPtrOutput) SubnetIds

List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.

> **NOTE on EMR-Managed security groups:** These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use the `revokeRulesOnDelete` optional attribute for any Security Group used in `emrManagedMasterSecurityGroup` and `emrManagedSlaveSecurityGroup`. See [Amazon EMR-Managed Security Groups](http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-man-sec-groups.html) for more information about the EMR-managed security group rules.

func (ClusterEc2AttributesPtrOutput) ToClusterEc2AttributesPtrOutput

func (o ClusterEc2AttributesPtrOutput) ToClusterEc2AttributesPtrOutput() ClusterEc2AttributesPtrOutput

func (ClusterEc2AttributesPtrOutput) ToClusterEc2AttributesPtrOutputWithContext

func (o ClusterEc2AttributesPtrOutput) ToClusterEc2AttributesPtrOutputWithContext(ctx context.Context) ClusterEc2AttributesPtrOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterKerberosAttributes

type ClusterKerberosAttributes struct {
	// Active Directory password for `adDomainJoinUser`. This provider cannot perform drift detection of this configuration.
	AdDomainJoinPassword *string `pulumi:"adDomainJoinPassword"`
	// Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
	AdDomainJoinUser *string `pulumi:"adDomainJoinUser"`
	// Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
	CrossRealmTrustPrincipalPassword *string `pulumi:"crossRealmTrustPrincipalPassword"`
	// Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
	KdcAdminPassword string `pulumi:"kdcAdminPassword"`
	// Name of the Kerberos realm to which all nodes in a cluster belong. For example, `EC2.INTERNAL`
	Realm string `pulumi:"realm"`
}

type ClusterKerberosAttributesArgs

type ClusterKerberosAttributesArgs struct {
	// Active Directory password for `adDomainJoinUser`. This provider cannot perform drift detection of this configuration.
	AdDomainJoinPassword pulumi.StringPtrInput `pulumi:"adDomainJoinPassword"`
	// Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
	AdDomainJoinUser pulumi.StringPtrInput `pulumi:"adDomainJoinUser"`
	// Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
	CrossRealmTrustPrincipalPassword pulumi.StringPtrInput `pulumi:"crossRealmTrustPrincipalPassword"`
	// Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
	KdcAdminPassword pulumi.StringInput `pulumi:"kdcAdminPassword"`
	// Name of the Kerberos realm to which all nodes in a cluster belong. For example, `EC2.INTERNAL`
	Realm pulumi.StringInput `pulumi:"realm"`
}

func (ClusterKerberosAttributesArgs) ElementType

func (ClusterKerberosAttributesArgs) ToClusterKerberosAttributesOutput

func (i ClusterKerberosAttributesArgs) ToClusterKerberosAttributesOutput() ClusterKerberosAttributesOutput

func (ClusterKerberosAttributesArgs) ToClusterKerberosAttributesOutputWithContext

func (i ClusterKerberosAttributesArgs) ToClusterKerberosAttributesOutputWithContext(ctx context.Context) ClusterKerberosAttributesOutput

func (ClusterKerberosAttributesArgs) ToClusterKerberosAttributesPtrOutput

func (i ClusterKerberosAttributesArgs) ToClusterKerberosAttributesPtrOutput() ClusterKerberosAttributesPtrOutput

func (ClusterKerberosAttributesArgs) ToClusterKerberosAttributesPtrOutputWithContext

func (i ClusterKerberosAttributesArgs) ToClusterKerberosAttributesPtrOutputWithContext(ctx context.Context) ClusterKerberosAttributesPtrOutput

type ClusterKerberosAttributesInput

type ClusterKerberosAttributesInput interface {
	pulumi.Input

	ToClusterKerberosAttributesOutput() ClusterKerberosAttributesOutput
	ToClusterKerberosAttributesOutputWithContext(context.Context) ClusterKerberosAttributesOutput
}

ClusterKerberosAttributesInput is an input type that accepts ClusterKerberosAttributesArgs and ClusterKerberosAttributesOutput values. You can construct a concrete instance of `ClusterKerberosAttributesInput` via:

ClusterKerberosAttributesArgs{...}

type ClusterKerberosAttributesOutput

type ClusterKerberosAttributesOutput struct{ *pulumi.OutputState }

func (ClusterKerberosAttributesOutput) AdDomainJoinPassword

func (o ClusterKerberosAttributesOutput) AdDomainJoinPassword() pulumi.StringPtrOutput

Active Directory password for `adDomainJoinUser`. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesOutput) AdDomainJoinUser

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesOutput) CrossRealmTrustPrincipalPassword

func (o ClusterKerberosAttributesOutput) CrossRealmTrustPrincipalPassword() pulumi.StringPtrOutput

Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesOutput) ElementType

func (ClusterKerberosAttributesOutput) KdcAdminPassword

Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesOutput) Realm

Name of the Kerberos realm to which all nodes in a cluster belong. For example, `EC2.INTERNAL`

func (ClusterKerberosAttributesOutput) ToClusterKerberosAttributesOutput

func (o ClusterKerberosAttributesOutput) ToClusterKerberosAttributesOutput() ClusterKerberosAttributesOutput

func (ClusterKerberosAttributesOutput) ToClusterKerberosAttributesOutputWithContext

func (o ClusterKerberosAttributesOutput) ToClusterKerberosAttributesOutputWithContext(ctx context.Context) ClusterKerberosAttributesOutput

func (ClusterKerberosAttributesOutput) ToClusterKerberosAttributesPtrOutput

func (o ClusterKerberosAttributesOutput) ToClusterKerberosAttributesPtrOutput() ClusterKerberosAttributesPtrOutput

func (ClusterKerberosAttributesOutput) ToClusterKerberosAttributesPtrOutputWithContext

func (o ClusterKerberosAttributesOutput) ToClusterKerberosAttributesPtrOutputWithContext(ctx context.Context) ClusterKerberosAttributesPtrOutput

type ClusterKerberosAttributesPtrInput

type ClusterKerberosAttributesPtrInput interface {
	pulumi.Input

	ToClusterKerberosAttributesPtrOutput() ClusterKerberosAttributesPtrOutput
	ToClusterKerberosAttributesPtrOutputWithContext(context.Context) ClusterKerberosAttributesPtrOutput
}

ClusterKerberosAttributesPtrInput is an input type that accepts ClusterKerberosAttributesArgs, ClusterKerberosAttributesPtr and ClusterKerberosAttributesPtrOutput values. You can construct a concrete instance of `ClusterKerberosAttributesPtrInput` via:

        ClusterKerberosAttributesArgs{...}

or:

        nil

type ClusterKerberosAttributesPtrOutput

type ClusterKerberosAttributesPtrOutput struct{ *pulumi.OutputState }

func (ClusterKerberosAttributesPtrOutput) AdDomainJoinPassword

Active Directory password for `adDomainJoinUser`. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesPtrOutput) AdDomainJoinUser

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesPtrOutput) CrossRealmTrustPrincipalPassword

func (o ClusterKerberosAttributesPtrOutput) CrossRealmTrustPrincipalPassword() pulumi.StringPtrOutput

Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesPtrOutput) Elem

func (ClusterKerberosAttributesPtrOutput) ElementType

func (ClusterKerberosAttributesPtrOutput) KdcAdminPassword

Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.

func (ClusterKerberosAttributesPtrOutput) Realm

Name of the Kerberos realm to which all nodes in a cluster belong. For example, `EC2.INTERNAL`

func (ClusterKerberosAttributesPtrOutput) ToClusterKerberosAttributesPtrOutput

func (o ClusterKerberosAttributesPtrOutput) ToClusterKerberosAttributesPtrOutput() ClusterKerberosAttributesPtrOutput

func (ClusterKerberosAttributesPtrOutput) ToClusterKerberosAttributesPtrOutputWithContext

func (o ClusterKerberosAttributesPtrOutput) ToClusterKerberosAttributesPtrOutputWithContext(ctx context.Context) ClusterKerberosAttributesPtrOutput

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMasterInstanceFleet

type ClusterMasterInstanceFleet struct {
	// ID of the cluster.
	Id *string `pulumi:"id"`
	// Configuration block for instance fleet.
	InstanceTypeConfigs []ClusterMasterInstanceFleetInstanceTypeConfig `pulumi:"instanceTypeConfigs"`
	// Configuration block for launch specification.
	LaunchSpecifications *ClusterMasterInstanceFleetLaunchSpecifications `pulumi:"launchSpecifications"`
	// Friendly name given to the instance fleet.
	Name                        *string `pulumi:"name"`
	ProvisionedOnDemandCapacity *int    `pulumi:"provisionedOnDemandCapacity"`
	ProvisionedSpotCapacity     *int    `pulumi:"provisionedSpotCapacity"`
	// Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity *int `pulumi:"targetOnDemandCapacity"`
	// Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity *int `pulumi:"targetSpotCapacity"`
}

type ClusterMasterInstanceFleetArgs

type ClusterMasterInstanceFleetArgs struct {
	// ID of the cluster.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Configuration block for instance fleet.
	InstanceTypeConfigs ClusterMasterInstanceFleetInstanceTypeConfigArrayInput `pulumi:"instanceTypeConfigs"`
	// Configuration block for launch specification.
	LaunchSpecifications ClusterMasterInstanceFleetLaunchSpecificationsPtrInput `pulumi:"launchSpecifications"`
	// Friendly name given to the instance fleet.
	Name                        pulumi.StringPtrInput `pulumi:"name"`
	ProvisionedOnDemandCapacity pulumi.IntPtrInput    `pulumi:"provisionedOnDemandCapacity"`
	ProvisionedSpotCapacity     pulumi.IntPtrInput    `pulumi:"provisionedSpotCapacity"`
	// Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity pulumi.IntPtrInput `pulumi:"targetOnDemandCapacity"`
	// Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity pulumi.IntPtrInput `pulumi:"targetSpotCapacity"`
}

func (ClusterMasterInstanceFleetArgs) ElementType

func (ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetOutput

func (i ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetOutput() ClusterMasterInstanceFleetOutput

func (ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetOutputWithContext

func (i ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetOutput

func (ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetPtrOutput

func (i ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetPtrOutput() ClusterMasterInstanceFleetPtrOutput

func (ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetPtrOutputWithContext

func (i ClusterMasterInstanceFleetArgs) ToClusterMasterInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetPtrOutput

type ClusterMasterInstanceFleetInput

type ClusterMasterInstanceFleetInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetOutput() ClusterMasterInstanceFleetOutput
	ToClusterMasterInstanceFleetOutputWithContext(context.Context) ClusterMasterInstanceFleetOutput
}

ClusterMasterInstanceFleetInput is an input type that accepts ClusterMasterInstanceFleetArgs and ClusterMasterInstanceFleetOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInput` via:

ClusterMasterInstanceFleetArgs{...}

type ClusterMasterInstanceFleetInstanceTypeConfig

type ClusterMasterInstanceFleetInstanceTypeConfig struct {
	// Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice *string `pulumi:"bidPrice"`
	// Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice *float64 `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations []ClusterMasterInstanceFleetInstanceTypeConfigConfiguration `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs []ClusterMasterInstanceFleetInstanceTypeConfigEbsConfig `pulumi:"ebsConfigs"`
	// EC2 instance type, such as m4.xlarge.
	InstanceType string `pulumi:"instanceType"`
	// Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity *int `pulumi:"weightedCapacity"`
}

type ClusterMasterInstanceFleetInstanceTypeConfigArgs

type ClusterMasterInstanceFleetInstanceTypeConfigArgs struct {
	// Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice pulumi.StringPtrInput `pulumi:"bidPrice"`
	// Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice pulumi.Float64PtrInput `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayInput `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayInput `pulumi:"ebsConfigs"`
	// EC2 instance type, such as m4.xlarge.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity pulumi.IntPtrInput `pulumi:"weightedCapacity"`
}

func (ClusterMasterInstanceFleetInstanceTypeConfigArgs) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigOutput

func (i ClusterMasterInstanceFleetInstanceTypeConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigOutput() ClusterMasterInstanceFleetInstanceTypeConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigOutput

type ClusterMasterInstanceFleetInstanceTypeConfigArray

type ClusterMasterInstanceFleetInstanceTypeConfigArray []ClusterMasterInstanceFleetInstanceTypeConfigInput

func (ClusterMasterInstanceFleetInstanceTypeConfigArray) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

func (i ClusterMasterInstanceFleetInstanceTypeConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutput() ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigArrayInput

type ClusterMasterInstanceFleetInstanceTypeConfigArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutput() ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigArrayInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigArray and ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigArrayInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigArray{ ClusterMasterInstanceFleetInstanceTypeConfigArgs{...} }

type ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput) Index

func (ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfiguration

type ClusterMasterInstanceFleetInstanceTypeConfigConfiguration struct {
	// Classification within a configuration.
	Classification *string `pulumi:"classification"`
	// Map of properties specified within a configuration classification.
	Properties map[string]string `pulumi:"properties"`
}

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs struct {
	// Classification within a configuration.
	Classification pulumi.StringPtrInput `pulumi:"classification"`
	// Map of properties specified within a configuration classification.
	Properties pulumi.StringMapInput `pulumi:"properties"`
}

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray []ClusterMasterInstanceFleetInstanceTypeConfigConfigurationInput

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayInput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput() ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray and ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray{ ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs{...} }

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationInput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput() ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigConfigurationInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs and ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigConfigurationInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs{...}

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) Classification

Classification within a configuration.

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) Properties

Map of properties specified within a configuration classification.

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput) ToClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigConfigurationOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfig

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfig struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops *int `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size int `pulumi:"size"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type string `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size pulumi.IntInput `pulumi:"size"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type pulumi.StringInput `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray []ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigInput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (i ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayInput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray and ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray{ ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs{...} }

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) Index

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigInput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput() ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs and ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs{...}

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput

type ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) Iops

Number of I/O operations per second (IOPS) that the volume supports.

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) Size

Volume size, in gibibytes (GiB).

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) Type

Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).

func (ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigOutput) VolumesPerInstance

Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).

type ClusterMasterInstanceFleetInstanceTypeConfigInput

type ClusterMasterInstanceFleetInstanceTypeConfigInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetInstanceTypeConfigOutput() ClusterMasterInstanceFleetInstanceTypeConfigOutput
	ToClusterMasterInstanceFleetInstanceTypeConfigOutputWithContext(context.Context) ClusterMasterInstanceFleetInstanceTypeConfigOutput
}

ClusterMasterInstanceFleetInstanceTypeConfigInput is an input type that accepts ClusterMasterInstanceFleetInstanceTypeConfigArgs and ClusterMasterInstanceFleetInstanceTypeConfigOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetInstanceTypeConfigInput` via:

ClusterMasterInstanceFleetInstanceTypeConfigArgs{...}

type ClusterMasterInstanceFleetInstanceTypeConfigOutput

type ClusterMasterInstanceFleetInstanceTypeConfigOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) BidPrice

Bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice

func (o ClusterMasterInstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice() pulumi.Float64PtrOutput

Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) Configurations

Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) ElementType

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) InstanceType

EC2 instance type, such as m4.xlarge.

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigOutput

func (o ClusterMasterInstanceFleetInstanceTypeConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigOutput() ClusterMasterInstanceFleetInstanceTypeConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigOutputWithContext

func (o ClusterMasterInstanceFleetInstanceTypeConfigOutput) ToClusterMasterInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetInstanceTypeConfigOutput

func (ClusterMasterInstanceFleetInstanceTypeConfigOutput) WeightedCapacity

Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.

type ClusterMasterInstanceFleetLaunchSpecifications

type ClusterMasterInstanceFleetLaunchSpecifications struct {
	// Configuration block for on demand instances launch specifications.
	OnDemandSpecifications []ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecification `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications.
	SpotSpecifications []ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecification `pulumi:"spotSpecifications"`
}

type ClusterMasterInstanceFleetLaunchSpecificationsArgs

type ClusterMasterInstanceFleetLaunchSpecificationsArgs struct {
	// Configuration block for on demand instances launch specifications.
	OnDemandSpecifications ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications.
	SpotSpecifications ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput `pulumi:"spotSpecifications"`
}

func (ClusterMasterInstanceFleetLaunchSpecificationsArgs) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOutput

func (i ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOutput() ClusterMasterInstanceFleetLaunchSpecificationsOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

func (i ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput() ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsArgs) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

type ClusterMasterInstanceFleetLaunchSpecificationsInput

type ClusterMasterInstanceFleetLaunchSpecificationsInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsOutput() ClusterMasterInstanceFleetLaunchSpecificationsOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsArgs and ClusterMasterInstanceFleetLaunchSpecificationsOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsInput` via:

ClusterMasterInstanceFleetLaunchSpecificationsArgs{...}

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecification

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecification struct {
	// Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.
	AllocationStrategy string `pulumi:"allocationStrategy"`
}

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs struct {
	// Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
}

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray []ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationInput

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput() ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray and ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput` via:

ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray{ ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...} }

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationInput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput() ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs and ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationInput` via:

ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...}

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) AllocationStrategy

Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is `lowest-price` (the default), which launches the lowest price first.

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

type ClusterMasterInstanceFleetLaunchSpecificationsOutput

type ClusterMasterInstanceFleetLaunchSpecificationsOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications.

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) SpotSpecifications

Configuration block for spot instances launch specifications.

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOutputWithContext

func (o ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

func (o ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput() ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o ClusterMasterInstanceFleetLaunchSpecificationsOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

type ClusterMasterInstanceFleetLaunchSpecificationsPtrInput

type ClusterMasterInstanceFleetLaunchSpecificationsPtrInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput() ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsPtrInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsArgs, ClusterMasterInstanceFleetLaunchSpecificationsPtr and ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsPtrInput` via:

        ClusterMasterInstanceFleetLaunchSpecificationsArgs{...}

or:

        nil

type ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

type ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) Elem

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications.

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) SpotSpecifications

Configuration block for spot instances launch specifications.

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput) ToClusterMasterInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsPtrOutput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecification

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecification struct {
	// Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.
	AllocationStrategy string `pulumi:"allocationStrategy"`
	// Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes *int `pulumi:"blockDurationMinutes"`
	// Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction string `pulumi:"timeoutAction"`
	// Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes int `pulumi:"timeoutDurationMinutes"`
}

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs struct {
	// Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
	// Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes pulumi.IntPtrInput `pulumi:"blockDurationMinutes"`
	// Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction pulumi.StringInput `pulumi:"timeoutAction"`
	// Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes pulumi.IntInput `pulumi:"timeoutDurationMinutes"`
}

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray []ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationInput

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

func (i ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput() ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray and ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayInput` via:

ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray{ ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs{...} }

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationInput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput() ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput
	ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(context.Context) ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput
}

ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationInput is an input type that accepts ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs and ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationInput` via:

ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs{...}

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) AllocationStrategy

Specifies the strategy to use in launching Spot instance fleets. Valid values include `capacity-optimized`, `diversified`, `lowest-price`, `price-capacity-optimized`. See the [AWS documentation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html#emr-instance-fleet-allocation-strategy) for details on each strategy type.

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) BlockDurationMinutes

Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ElementType

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutAction

Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutDurationMinutes

Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (o ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationOutput

type ClusterMasterInstanceFleetOutput

type ClusterMasterInstanceFleetOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetOutput) ElementType

func (ClusterMasterInstanceFleetOutput) Id

ID of the cluster.

func (ClusterMasterInstanceFleetOutput) InstanceTypeConfigs

Configuration block for instance fleet.

func (ClusterMasterInstanceFleetOutput) LaunchSpecifications

Configuration block for launch specification.

func (ClusterMasterInstanceFleetOutput) Name

Friendly name given to the instance fleet.

func (ClusterMasterInstanceFleetOutput) ProvisionedOnDemandCapacity

func (o ClusterMasterInstanceFleetOutput) ProvisionedOnDemandCapacity() pulumi.IntPtrOutput

func (ClusterMasterInstanceFleetOutput) ProvisionedSpotCapacity

func (o ClusterMasterInstanceFleetOutput) ProvisionedSpotCapacity() pulumi.IntPtrOutput

func (ClusterMasterInstanceFleetOutput) TargetOnDemandCapacity

func (o ClusterMasterInstanceFleetOutput) TargetOnDemandCapacity() pulumi.IntPtrOutput

Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

func (ClusterMasterInstanceFleetOutput) TargetSpotCapacity

func (o ClusterMasterInstanceFleetOutput) TargetSpotCapacity() pulumi.IntPtrOutput

Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

func (ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetOutput

func (o ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetOutput() ClusterMasterInstanceFleetOutput

func (ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetOutputWithContext

func (o ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetOutput

func (ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetPtrOutput

func (o ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetPtrOutput() ClusterMasterInstanceFleetPtrOutput

func (ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetPtrOutputWithContext

func (o ClusterMasterInstanceFleetOutput) ToClusterMasterInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetPtrOutput

type ClusterMasterInstanceFleetPtrInput

type ClusterMasterInstanceFleetPtrInput interface {
	pulumi.Input

	ToClusterMasterInstanceFleetPtrOutput() ClusterMasterInstanceFleetPtrOutput
	ToClusterMasterInstanceFleetPtrOutputWithContext(context.Context) ClusterMasterInstanceFleetPtrOutput
}

ClusterMasterInstanceFleetPtrInput is an input type that accepts ClusterMasterInstanceFleetArgs, ClusterMasterInstanceFleetPtr and ClusterMasterInstanceFleetPtrOutput values. You can construct a concrete instance of `ClusterMasterInstanceFleetPtrInput` via:

        ClusterMasterInstanceFleetArgs{...}

or:

        nil

type ClusterMasterInstanceFleetPtrOutput

type ClusterMasterInstanceFleetPtrOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceFleetPtrOutput) Elem

func (ClusterMasterInstanceFleetPtrOutput) ElementType

func (ClusterMasterInstanceFleetPtrOutput) Id

ID of the cluster.

func (ClusterMasterInstanceFleetPtrOutput) InstanceTypeConfigs

Configuration block for instance fleet.

func (ClusterMasterInstanceFleetPtrOutput) LaunchSpecifications

Configuration block for launch specification.

func (ClusterMasterInstanceFleetPtrOutput) Name

Friendly name given to the instance fleet.

func (ClusterMasterInstanceFleetPtrOutput) ProvisionedOnDemandCapacity

func (o ClusterMasterInstanceFleetPtrOutput) ProvisionedOnDemandCapacity() pulumi.IntPtrOutput

func (ClusterMasterInstanceFleetPtrOutput) ProvisionedSpotCapacity

func (o ClusterMasterInstanceFleetPtrOutput) ProvisionedSpotCapacity() pulumi.IntPtrOutput

func (ClusterMasterInstanceFleetPtrOutput) TargetOnDemandCapacity

func (o ClusterMasterInstanceFleetPtrOutput) TargetOnDemandCapacity() pulumi.IntPtrOutput

Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

func (ClusterMasterInstanceFleetPtrOutput) TargetSpotCapacity

Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

func (ClusterMasterInstanceFleetPtrOutput) ToClusterMasterInstanceFleetPtrOutput

func (o ClusterMasterInstanceFleetPtrOutput) ToClusterMasterInstanceFleetPtrOutput() ClusterMasterInstanceFleetPtrOutput

func (ClusterMasterInstanceFleetPtrOutput) ToClusterMasterInstanceFleetPtrOutputWithContext

func (o ClusterMasterInstanceFleetPtrOutput) ToClusterMasterInstanceFleetPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceFleetPtrOutput

type ClusterMasterInstanceGroup

type ClusterMasterInstanceGroup struct {
	// Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice *string `pulumi:"bidPrice"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs []ClusterMasterInstanceGroupEbsConfig `pulumi:"ebsConfigs"`
	// Master node type Instance Group ID, if using Instance Group for this node type.
	Id *string `pulumi:"id"`
	// Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's `coreInstanceGroup` to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have the `terminationProtection = false` configuration applied before destroying this resource.
	InstanceCount *int `pulumi:"instanceCount"`
	// EC2 instance type for all instances in the instance group.
	InstanceType string `pulumi:"instanceType"`
	// Friendly name given to the instance group.
	Name *string `pulumi:"name"`
}

type ClusterMasterInstanceGroupArgs

type ClusterMasterInstanceGroupArgs struct {
	// Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice pulumi.StringPtrInput `pulumi:"bidPrice"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs ClusterMasterInstanceGroupEbsConfigArrayInput `pulumi:"ebsConfigs"`
	// Master node type Instance Group ID, if using Instance Group for this node type.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's `coreInstanceGroup` to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have the `terminationProtection = false` configuration applied before destroying this resource.
	InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"`
	// EC2 instance type for all instances in the instance group.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// Friendly name given to the instance group.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (ClusterMasterInstanceGroupArgs) ElementType

func (ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupOutput

func (i ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupOutput() ClusterMasterInstanceGroupOutput

func (ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupOutputWithContext

func (i ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupOutput

func (ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupPtrOutput

func (i ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupPtrOutput() ClusterMasterInstanceGroupPtrOutput

func (ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupPtrOutputWithContext

func (i ClusterMasterInstanceGroupArgs) ToClusterMasterInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupPtrOutput

type ClusterMasterInstanceGroupEbsConfig

type ClusterMasterInstanceGroupEbsConfig struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops *int `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size int `pulumi:"size"`
	// The throughput, in mebibyte per second (MiB/s).
	Throughput *int `pulumi:"throughput"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type string `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type ClusterMasterInstanceGroupEbsConfigArgs

type ClusterMasterInstanceGroupEbsConfigArgs struct {
	// Number of I/O operations per second (IOPS) that the volume supports.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// Volume size, in gibibytes (GiB).
	Size pulumi.IntInput `pulumi:"size"`
	// The throughput, in mebibyte per second (MiB/s).
	Throughput pulumi.IntPtrInput `pulumi:"throughput"`
	// Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type pulumi.StringInput `pulumi:"type"`
	// Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (ClusterMasterInstanceGroupEbsConfigArgs) ElementType

func (ClusterMasterInstanceGroupEbsConfigArgs) ToClusterMasterInstanceGroupEbsConfigOutput

func (i ClusterMasterInstanceGroupEbsConfigArgs) ToClusterMasterInstanceGroupEbsConfigOutput() ClusterMasterInstanceGroupEbsConfigOutput

func (ClusterMasterInstanceGroupEbsConfigArgs) ToClusterMasterInstanceGroupEbsConfigOutputWithContext

func (i ClusterMasterInstanceGroupEbsConfigArgs) ToClusterMasterInstanceGroupEbsConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupEbsConfigOutput

type ClusterMasterInstanceGroupEbsConfigArray

type ClusterMasterInstanceGroupEbsConfigArray []ClusterMasterInstanceGroupEbsConfigInput

func (ClusterMasterInstanceGroupEbsConfigArray) ElementType

func (ClusterMasterInstanceGroupEbsConfigArray) ToClusterMasterInstanceGroupEbsConfigArrayOutput

func (i ClusterMasterInstanceGroupEbsConfigArray) ToClusterMasterInstanceGroupEbsConfigArrayOutput() ClusterMasterInstanceGroupEbsConfigArrayOutput

func (ClusterMasterInstanceGroupEbsConfigArray) ToClusterMasterInstanceGroupEbsConfigArrayOutputWithContext

func (i ClusterMasterInstanceGroupEbsConfigArray) ToClusterMasterInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupEbsConfigArrayOutput

type ClusterMasterInstanceGroupEbsConfigArrayInput

type ClusterMasterInstanceGroupEbsConfigArrayInput interface {
	pulumi.Input

	ToClusterMasterInstanceGroupEbsConfigArrayOutput() ClusterMasterInstanceGroupEbsConfigArrayOutput
	ToClusterMasterInstanceGroupEbsConfigArrayOutputWithContext(context.Context) ClusterMasterInstanceGroupEbsConfigArrayOutput
}

ClusterMasterInstanceGroupEbsConfigArrayInput is an input type that accepts ClusterMasterInstanceGroupEbsConfigArray and ClusterMasterInstanceGroupEbsConfigArrayOutput values. You can construct a concrete instance of `ClusterMasterInstanceGroupEbsConfigArrayInput` via:

ClusterMasterInstanceGroupEbsConfigArray{ ClusterMasterInstanceGroupEbsConfigArgs{...} }

type ClusterMasterInstanceGroupEbsConfigArrayOutput

type ClusterMasterInstanceGroupEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceGroupEbsConfigArrayOutput) ElementType

func (ClusterMasterInstanceGroupEbsConfigArrayOutput) Index

func (ClusterMasterInstanceGroupEbsConfigArrayOutput) ToClusterMasterInstanceGroupEbsConfigArrayOutput

func (o ClusterMasterInstanceGroupEbsConfigArrayOutput) ToClusterMasterInstanceGroupEbsConfigArrayOutput() ClusterMasterInstanceGroupEbsConfigArrayOutput

func (ClusterMasterInstanceGroupEbsConfigArrayOutput) ToClusterMasterInstanceGroupEbsConfigArrayOutputWithContext

func (o ClusterMasterInstanceGroupEbsConfigArrayOutput) ToClusterMasterInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupEbsConfigArrayOutput

type ClusterMasterInstanceGroupEbsConfigInput

type ClusterMasterInstanceGroupEbsConfigInput interface {
	pulumi.Input

	ToClusterMasterInstanceGroupEbsConfigOutput() ClusterMasterInstanceGroupEbsConfigOutput
	ToClusterMasterInstanceGroupEbsConfigOutputWithContext(context.Context) ClusterMasterInstanceGroupEbsConfigOutput
}

ClusterMasterInstanceGroupEbsConfigInput is an input type that accepts ClusterMasterInstanceGroupEbsConfigArgs and ClusterMasterInstanceGroupEbsConfigOutput values. You can construct a concrete instance of `ClusterMasterInstanceGroupEbsConfigInput` via:

ClusterMasterInstanceGroupEbsConfigArgs{...}

type ClusterMasterInstanceGroupEbsConfigOutput

type ClusterMasterInstanceGroupEbsConfigOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceGroupEbsConfigOutput) ElementType

func (ClusterMasterInstanceGroupEbsConfigOutput) Iops

Number of I/O operations per second (IOPS) that the volume supports.

func (ClusterMasterInstanceGroupEbsConfigOutput) Size

Volume size, in gibibytes (GiB).

func (ClusterMasterInstanceGroupEbsConfigOutput) Throughput

The throughput, in mebibyte per second (MiB/s).

func (ClusterMasterInstanceGroupEbsConfigOutput) ToClusterMasterInstanceGroupEbsConfigOutput

func (o ClusterMasterInstanceGroupEbsConfigOutput) ToClusterMasterInstanceGroupEbsConfigOutput() ClusterMasterInstanceGroupEbsConfigOutput

func (ClusterMasterInstanceGroupEbsConfigOutput) ToClusterMasterInstanceGroupEbsConfigOutputWithContext

func (o ClusterMasterInstanceGroupEbsConfigOutput) ToClusterMasterInstanceGroupEbsConfigOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupEbsConfigOutput

func (ClusterMasterInstanceGroupEbsConfigOutput) Type

Volume type. Valid options are `gp3`, `gp2`, `io1`, `io2`, `standard`, `st1` and `sc1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).

func (ClusterMasterInstanceGroupEbsConfigOutput) VolumesPerInstance

Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).

type ClusterMasterInstanceGroupInput

type ClusterMasterInstanceGroupInput interface {
	pulumi.Input

	ToClusterMasterInstanceGroupOutput() ClusterMasterInstanceGroupOutput
	ToClusterMasterInstanceGroupOutputWithContext(context.Context) ClusterMasterInstanceGroupOutput
}

ClusterMasterInstanceGroupInput is an input type that accepts ClusterMasterInstanceGroupArgs and ClusterMasterInstanceGroupOutput values. You can construct a concrete instance of `ClusterMasterInstanceGroupInput` via:

ClusterMasterInstanceGroupArgs{...}

type ClusterMasterInstanceGroupOutput

type ClusterMasterInstanceGroupOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceGroupOutput) BidPrice

Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

func (ClusterMasterInstanceGroupOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterMasterInstanceGroupOutput) ElementType

func (ClusterMasterInstanceGroupOutput) Id

Master node type Instance Group ID, if using Instance Group for this node type.

func (ClusterMasterInstanceGroupOutput) InstanceCount

Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's `coreInstanceGroup` to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have the `terminationProtection = false` configuration applied before destroying this resource.

func (ClusterMasterInstanceGroupOutput) InstanceType

EC2 instance type for all instances in the instance group.

func (ClusterMasterInstanceGroupOutput) Name

Friendly name given to the instance group.

func (ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupOutput

func (o ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupOutput() ClusterMasterInstanceGroupOutput

func (ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupOutputWithContext

func (o ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupOutput

func (ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupPtrOutput

func (o ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupPtrOutput() ClusterMasterInstanceGroupPtrOutput

func (ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupPtrOutputWithContext

func (o ClusterMasterInstanceGroupOutput) ToClusterMasterInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupPtrOutput

type ClusterMasterInstanceGroupPtrInput

type ClusterMasterInstanceGroupPtrInput interface {
	pulumi.Input

	ToClusterMasterInstanceGroupPtrOutput() ClusterMasterInstanceGroupPtrOutput
	ToClusterMasterInstanceGroupPtrOutputWithContext(context.Context) ClusterMasterInstanceGroupPtrOutput
}

ClusterMasterInstanceGroupPtrInput is an input type that accepts ClusterMasterInstanceGroupArgs, ClusterMasterInstanceGroupPtr and ClusterMasterInstanceGroupPtrOutput values. You can construct a concrete instance of `ClusterMasterInstanceGroupPtrInput` via:

        ClusterMasterInstanceGroupArgs{...}

or:

        nil

type ClusterMasterInstanceGroupPtrOutput

type ClusterMasterInstanceGroupPtrOutput struct{ *pulumi.OutputState }

func (ClusterMasterInstanceGroupPtrOutput) BidPrice

Bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

func (ClusterMasterInstanceGroupPtrOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (ClusterMasterInstanceGroupPtrOutput) Elem

func (ClusterMasterInstanceGroupPtrOutput) ElementType

func (ClusterMasterInstanceGroupPtrOutput) Id

Master node type Instance Group ID, if using Instance Group for this node type.

func (ClusterMasterInstanceGroupPtrOutput) InstanceCount

Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's `coreInstanceGroup` to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have the `terminationProtection = false` configuration applied before destroying this resource.

func (ClusterMasterInstanceGroupPtrOutput) InstanceType

EC2 instance type for all instances in the instance group.

func (ClusterMasterInstanceGroupPtrOutput) Name

Friendly name given to the instance group.

func (ClusterMasterInstanceGroupPtrOutput) ToClusterMasterInstanceGroupPtrOutput

func (o ClusterMasterInstanceGroupPtrOutput) ToClusterMasterInstanceGroupPtrOutput() ClusterMasterInstanceGroupPtrOutput

func (ClusterMasterInstanceGroupPtrOutput) ToClusterMasterInstanceGroupPtrOutputWithContext

func (o ClusterMasterInstanceGroupPtrOutput) ToClusterMasterInstanceGroupPtrOutputWithContext(ctx context.Context) ClusterMasterInstanceGroupPtrOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) AdditionalInfo

func (o ClusterOutput) AdditionalInfo() pulumi.StringPtrOutput

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 the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.

func (ClusterOutput) Applications

func (o ClusterOutput) Applications() pulumi.StringArrayOutput

A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).

func (ClusterOutput) Arn

ARN of the cluster.

func (ClusterOutput) AutoTerminationPolicy

func (o ClusterOutput) AutoTerminationPolicy() ClusterAutoTerminationPolicyPtrOutput

An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.

func (ClusterOutput) AutoscalingRole

func (o ClusterOutput) AutoscalingRole() pulumi.StringPtrOutput

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.

func (ClusterOutput) BootstrapActions

func (o ClusterOutput) BootstrapActions() ClusterBootstrapActionArrayOutput

Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.

func (ClusterOutput) ClusterState

func (o ClusterOutput) ClusterState() pulumi.StringOutput

func (ClusterOutput) Configurations

func (o ClusterOutput) Configurations() pulumi.StringPtrOutput

List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See [AWS Documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) for more information.

func (ClusterOutput) ConfigurationsJson

func (o ClusterOutput) ConfigurationsJson() pulumi.StringPtrOutput

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

> **NOTE on `configurationsJson`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `"Configurations": []`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewCluster(ctx, "cluster", &emr.ClusterArgs{
			ConfigurationsJson: pulumi.String(`[

{ "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (ClusterOutput) CoreInstanceFleet

func (o ClusterOutput) CoreInstanceFleet() ClusterCoreInstanceFleetOutput

Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `coreInstanceGroup` configuration blocks are set. Detailed below.

func (ClusterOutput) CustomAmiId

func (o ClusterOutput) CustomAmiId() pulumi.StringPtrOutput

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

func (ClusterOutput) EbsRootVolumeSize

func (o ClusterOutput) EbsRootVolumeSize() pulumi.IntPtrOutput

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.

func (ClusterOutput) Ec2Attributes

func (o ClusterOutput) Ec2Attributes() ClusterEc2AttributesPtrOutput

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

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) KeepJobFlowAliveWhenNoSteps

func (o ClusterOutput) KeepJobFlowAliveWhenNoSteps() pulumi.BoolOutput

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

func (ClusterOutput) KerberosAttributes

func (o ClusterOutput) KerberosAttributes() ClusterKerberosAttributesPtrOutput

Kerberos configuration for the cluster. See below.

func (ClusterOutput) ListStepsStates

func (o ClusterOutput) ListStepsStates() pulumi.StringArrayOutput

List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps

func (ClusterOutput) LogEncryptionKmsKeyId

func (o ClusterOutput) LogEncryptionKmsKeyId() pulumi.StringPtrOutput

AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

func (ClusterOutput) LogUri

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

func (ClusterOutput) MasterInstanceFleet

func (o ClusterOutput) MasterInstanceFleet() ClusterMasterInstanceFleetOutput

Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `masterInstanceGroup` configuration blocks are set. Detailed below.

func (ClusterOutput) MasterPublicDns

func (o ClusterOutput) MasterPublicDns() pulumi.StringOutput

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.

func (ClusterOutput) Name

Name of the job flow.

func (ClusterOutput) PlacementGroupConfigs

func (o ClusterOutput) PlacementGroupConfigs() ClusterPlacementGroupConfigArrayOutput

The specified placement group configuration for an Amazon EMR cluster.

func (ClusterOutput) ReleaseLabel

func (o ClusterOutput) ReleaseLabel() pulumi.StringOutput

Release label for the Amazon EMR release.

func (ClusterOutput) ScaleDownBehavior

func (o ClusterOutput) ScaleDownBehavior() pulumi.StringOutput

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

func (ClusterOutput) SecurityConfiguration

func (o ClusterOutput) SecurityConfiguration() pulumi.StringPtrOutput

Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with `releaseLabel` 4.8.0 or greater.

func (ClusterOutput) ServiceRole

func (o ClusterOutput) ServiceRole() pulumi.StringOutput

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

The following arguments are optional:

func (ClusterOutput) StepConcurrencyLevel

func (o ClusterOutput) StepConcurrencyLevel() pulumi.IntPtrOutput

Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with `releaseLabel` 5.28.0 or greater (default is 1).

func (ClusterOutput) Steps

List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with `ignoreChanges` if other steps are being managed outside of this provider.

func (ClusterOutput) Tags

list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ClusterOutput) TagsAll deprecated

func (o ClusterOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

Deprecated: Please use `tags` instead.

func (ClusterOutput) TerminationProtection

func (o ClusterOutput) TerminationProtection() pulumi.BoolOutput

Switch on/off termination protection (default is `false`, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set to `false`.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) UnhealthyNodeReplacement added in v6.30.0

func (o ClusterOutput) UnhealthyNodeReplacement() pulumi.BoolPtrOutput

Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`.

func (ClusterOutput) VisibleToAllUsers

func (o ClusterOutput) VisibleToAllUsers() pulumi.BoolPtrOutput

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

type ClusterPlacementGroupConfig

type ClusterPlacementGroupConfig struct {
	// Role of the instance in the cluster. Valid Values: `MASTER`, `CORE`, `TASK`.
	InstanceRole string `pulumi:"instanceRole"`
	// EC2 Placement Group strategy associated with instance role. Valid Values: `SPREAD`, `PARTITION`, `CLUSTER`, `NONE`.
	PlacementStrategy *string `pulumi:"placementStrategy"`
}

type ClusterPlacementGroupConfigArgs

type ClusterPlacementGroupConfigArgs struct {
	// Role of the instance in the cluster. Valid Values: `MASTER`, `CORE`, `TASK`.
	InstanceRole pulumi.StringInput `pulumi:"instanceRole"`
	// EC2 Placement Group strategy associated with instance role. Valid Values: `SPREAD`, `PARTITION`, `CLUSTER`, `NONE`.
	PlacementStrategy pulumi.StringPtrInput `pulumi:"placementStrategy"`
}

func (ClusterPlacementGroupConfigArgs) ElementType

func (ClusterPlacementGroupConfigArgs) ToClusterPlacementGroupConfigOutput

func (i ClusterPlacementGroupConfigArgs) ToClusterPlacementGroupConfigOutput() ClusterPlacementGroupConfigOutput

func (ClusterPlacementGroupConfigArgs) ToClusterPlacementGroupConfigOutputWithContext

func (i ClusterPlacementGroupConfigArgs) ToClusterPlacementGroupConfigOutputWithContext(ctx context.Context) ClusterPlacementGroupConfigOutput

type ClusterPlacementGroupConfigArray

type ClusterPlacementGroupConfigArray []ClusterPlacementGroupConfigInput

func (ClusterPlacementGroupConfigArray) ElementType

func (ClusterPlacementGroupConfigArray) ToClusterPlacementGroupConfigArrayOutput

func (i ClusterPlacementGroupConfigArray) ToClusterPlacementGroupConfigArrayOutput() ClusterPlacementGroupConfigArrayOutput

func (ClusterPlacementGroupConfigArray) ToClusterPlacementGroupConfigArrayOutputWithContext

func (i ClusterPlacementGroupConfigArray) ToClusterPlacementGroupConfigArrayOutputWithContext(ctx context.Context) ClusterPlacementGroupConfigArrayOutput

type ClusterPlacementGroupConfigArrayInput

type ClusterPlacementGroupConfigArrayInput interface {
	pulumi.Input

	ToClusterPlacementGroupConfigArrayOutput() ClusterPlacementGroupConfigArrayOutput
	ToClusterPlacementGroupConfigArrayOutputWithContext(context.Context) ClusterPlacementGroupConfigArrayOutput
}

ClusterPlacementGroupConfigArrayInput is an input type that accepts ClusterPlacementGroupConfigArray and ClusterPlacementGroupConfigArrayOutput values. You can construct a concrete instance of `ClusterPlacementGroupConfigArrayInput` via:

ClusterPlacementGroupConfigArray{ ClusterPlacementGroupConfigArgs{...} }

type ClusterPlacementGroupConfigArrayOutput

type ClusterPlacementGroupConfigArrayOutput struct{ *pulumi.OutputState }

func (ClusterPlacementGroupConfigArrayOutput) ElementType

func (ClusterPlacementGroupConfigArrayOutput) Index

func (ClusterPlacementGroupConfigArrayOutput) ToClusterPlacementGroupConfigArrayOutput

func (o ClusterPlacementGroupConfigArrayOutput) ToClusterPlacementGroupConfigArrayOutput() ClusterPlacementGroupConfigArrayOutput

func (ClusterPlacementGroupConfigArrayOutput) ToClusterPlacementGroupConfigArrayOutputWithContext

func (o ClusterPlacementGroupConfigArrayOutput) ToClusterPlacementGroupConfigArrayOutputWithContext(ctx context.Context) ClusterPlacementGroupConfigArrayOutput

type ClusterPlacementGroupConfigInput

type ClusterPlacementGroupConfigInput interface {
	pulumi.Input

	ToClusterPlacementGroupConfigOutput() ClusterPlacementGroupConfigOutput
	ToClusterPlacementGroupConfigOutputWithContext(context.Context) ClusterPlacementGroupConfigOutput
}

ClusterPlacementGroupConfigInput is an input type that accepts ClusterPlacementGroupConfigArgs and ClusterPlacementGroupConfigOutput values. You can construct a concrete instance of `ClusterPlacementGroupConfigInput` via:

ClusterPlacementGroupConfigArgs{...}

type ClusterPlacementGroupConfigOutput

type ClusterPlacementGroupConfigOutput struct{ *pulumi.OutputState }

func (ClusterPlacementGroupConfigOutput) ElementType

func (ClusterPlacementGroupConfigOutput) InstanceRole

Role of the instance in the cluster. Valid Values: `MASTER`, `CORE`, `TASK`.

func (ClusterPlacementGroupConfigOutput) PlacementStrategy

EC2 Placement Group strategy associated with instance role. Valid Values: `SPREAD`, `PARTITION`, `CLUSTER`, `NONE`.

func (ClusterPlacementGroupConfigOutput) ToClusterPlacementGroupConfigOutput

func (o ClusterPlacementGroupConfigOutput) ToClusterPlacementGroupConfigOutput() ClusterPlacementGroupConfigOutput

func (ClusterPlacementGroupConfigOutput) ToClusterPlacementGroupConfigOutputWithContext

func (o ClusterPlacementGroupConfigOutput) ToClusterPlacementGroupConfigOutputWithContext(ctx context.Context) ClusterPlacementGroupConfigOutput

type ClusterState

type ClusterState struct {
	// 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 the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
	AdditionalInfo pulumi.StringPtrInput
	// A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
	Applications pulumi.StringArrayInput
	// ARN of the cluster.
	Arn pulumi.StringPtrInput
	// An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
	AutoTerminationPolicy ClusterAutoTerminationPolicyPtrInput
	// 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.
	AutoscalingRole pulumi.StringPtrInput
	// Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
	BootstrapActions ClusterBootstrapActionArrayInput
	ClusterState     pulumi.StringPtrInput
	// List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See [AWS Documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) for more information.
	Configurations pulumi.StringPtrInput
	// JSON string for supplying list of configurations for the EMR cluster.
	//
	// > **NOTE on `configurationsJson`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `"Configurations": []`.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewCluster(ctx, "cluster", &emr.ClusterArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrInput
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `coreInstanceGroup` configuration blocks are set. Detailed below.
	CoreInstanceFleet ClusterCoreInstanceFleetPtrInput
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [core node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-core).
	CoreInstanceGroup ClusterCoreInstanceGroupPtrInput
	// Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
	CustomAmiId pulumi.StringPtrInput
	// 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.
	EbsRootVolumeSize pulumi.IntPtrInput
	// Attributes for the EC2 instances running the job flow. See below.
	Ec2Attributes ClusterEc2AttributesPtrInput
	// Switch on/off run cluster with no steps or when all steps are complete (default is on)
	KeepJobFlowAliveWhenNoSteps pulumi.BoolPtrInput
	// Kerberos configuration for the cluster. See below.
	KerberosAttributes ClusterKerberosAttributesPtrInput
	// List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps
	ListStepsStates pulumi.StringArrayInput
	// AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
	LogEncryptionKmsKeyId pulumi.StringPtrInput
	// S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
	LogUri pulumi.StringPtrInput
	// Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `masterInstanceGroup` configuration blocks are set. Detailed below.
	MasterInstanceFleet ClusterMasterInstanceFleetPtrInput
	// Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [master node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-master).
	MasterInstanceGroup ClusterMasterInstanceGroupPtrInput
	// 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.
	MasterPublicDns pulumi.StringPtrInput
	// Name of the job flow.
	Name pulumi.StringPtrInput
	// The specified placement group configuration for an Amazon EMR cluster.
	PlacementGroupConfigs ClusterPlacementGroupConfigArrayInput
	// Release label for the Amazon EMR release.
	ReleaseLabel pulumi.StringPtrInput
	// Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an `instance group` is resized.
	ScaleDownBehavior pulumi.StringPtrInput
	// Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with `releaseLabel` 4.8.0 or greater.
	SecurityConfiguration pulumi.StringPtrInput
	// IAM role that will be assumed by the Amazon EMR service to access AWS resources.
	//
	// The following arguments are optional:
	ServiceRole pulumi.StringPtrInput
	// Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with `releaseLabel` 5.28.0 or greater (default is 1).
	StepConcurrencyLevel pulumi.IntPtrInput
	// List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with `ignoreChanges` if other steps are being managed outside of this provider.
	Steps ClusterStepArrayInput
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
	// Switch on/off termination protection (default is `false`, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set to `false`.
	TerminationProtection pulumi.BoolPtrInput
	// Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`.
	UnhealthyNodeReplacement pulumi.BoolPtrInput
	// Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`.
	VisibleToAllUsers pulumi.BoolPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type ClusterStep

type ClusterStep struct {
	// Action to take if the step fails. Valid values: `TERMINATE_JOB_FLOW`, `TERMINATE_CLUSTER`, `CANCEL_AND_WAIT`, and `CONTINUE`
	ActionOnFailure string `pulumi:"actionOnFailure"`
	// JAR file used for the step. See below.
	HadoopJarStep ClusterStepHadoopJarStep `pulumi:"hadoopJarStep"`
	// Name of the step.
	Name string `pulumi:"name"`
}

type ClusterStepArgs

type ClusterStepArgs struct {
	// Action to take if the step fails. Valid values: `TERMINATE_JOB_FLOW`, `TERMINATE_CLUSTER`, `CANCEL_AND_WAIT`, and `CONTINUE`
	ActionOnFailure pulumi.StringInput `pulumi:"actionOnFailure"`
	// JAR file used for the step. See below.
	HadoopJarStep ClusterStepHadoopJarStepInput `pulumi:"hadoopJarStep"`
	// Name of the step.
	Name pulumi.StringInput `pulumi:"name"`
}

func (ClusterStepArgs) ElementType

func (ClusterStepArgs) ElementType() reflect.Type

func (ClusterStepArgs) ToClusterStepOutput

func (i ClusterStepArgs) ToClusterStepOutput() ClusterStepOutput

func (ClusterStepArgs) ToClusterStepOutputWithContext

func (i ClusterStepArgs) ToClusterStepOutputWithContext(ctx context.Context) ClusterStepOutput

type ClusterStepArray

type ClusterStepArray []ClusterStepInput

func (ClusterStepArray) ElementType

func (ClusterStepArray) ElementType() reflect.Type

func (ClusterStepArray) ToClusterStepArrayOutput

func (i ClusterStepArray) ToClusterStepArrayOutput() ClusterStepArrayOutput

func (ClusterStepArray) ToClusterStepArrayOutputWithContext

func (i ClusterStepArray) ToClusterStepArrayOutputWithContext(ctx context.Context) ClusterStepArrayOutput

type ClusterStepArrayInput

type ClusterStepArrayInput interface {
	pulumi.Input

	ToClusterStepArrayOutput() ClusterStepArrayOutput
	ToClusterStepArrayOutputWithContext(context.Context) ClusterStepArrayOutput
}

ClusterStepArrayInput is an input type that accepts ClusterStepArray and ClusterStepArrayOutput values. You can construct a concrete instance of `ClusterStepArrayInput` via:

ClusterStepArray{ ClusterStepArgs{...} }

type ClusterStepArrayOutput

type ClusterStepArrayOutput struct{ *pulumi.OutputState }

func (ClusterStepArrayOutput) ElementType

func (ClusterStepArrayOutput) ElementType() reflect.Type

func (ClusterStepArrayOutput) Index

func (ClusterStepArrayOutput) ToClusterStepArrayOutput

func (o ClusterStepArrayOutput) ToClusterStepArrayOutput() ClusterStepArrayOutput

func (ClusterStepArrayOutput) ToClusterStepArrayOutputWithContext

func (o ClusterStepArrayOutput) ToClusterStepArrayOutputWithContext(ctx context.Context) ClusterStepArrayOutput

type ClusterStepHadoopJarStep

type ClusterStepHadoopJarStep struct {
	// List of command line arguments passed to the JAR file's main function when executed.
	Args []string `pulumi:"args"`
	// Path to a JAR file run during the step.
	Jar string `pulumi:"jar"`
	// Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
	MainClass *string `pulumi:"mainClass"`
	// Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
	Properties map[string]string `pulumi:"properties"`
}

type ClusterStepHadoopJarStepArgs

type ClusterStepHadoopJarStepArgs struct {
	// List of command line arguments passed to the JAR file's main function when executed.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// Path to a JAR file run during the step.
	Jar pulumi.StringInput `pulumi:"jar"`
	// Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
	MainClass pulumi.StringPtrInput `pulumi:"mainClass"`
	// Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
	Properties pulumi.StringMapInput `pulumi:"properties"`
}

func (ClusterStepHadoopJarStepArgs) ElementType

func (ClusterStepHadoopJarStepArgs) ToClusterStepHadoopJarStepOutput

func (i ClusterStepHadoopJarStepArgs) ToClusterStepHadoopJarStepOutput() ClusterStepHadoopJarStepOutput

func (ClusterStepHadoopJarStepArgs) ToClusterStepHadoopJarStepOutputWithContext

func (i ClusterStepHadoopJarStepArgs) ToClusterStepHadoopJarStepOutputWithContext(ctx context.Context) ClusterStepHadoopJarStepOutput

type ClusterStepHadoopJarStepInput

type ClusterStepHadoopJarStepInput interface {
	pulumi.Input

	ToClusterStepHadoopJarStepOutput() ClusterStepHadoopJarStepOutput
	ToClusterStepHadoopJarStepOutputWithContext(context.Context) ClusterStepHadoopJarStepOutput
}

ClusterStepHadoopJarStepInput is an input type that accepts ClusterStepHadoopJarStepArgs and ClusterStepHadoopJarStepOutput values. You can construct a concrete instance of `ClusterStepHadoopJarStepInput` via:

ClusterStepHadoopJarStepArgs{...}

type ClusterStepHadoopJarStepOutput

type ClusterStepHadoopJarStepOutput struct{ *pulumi.OutputState }

func (ClusterStepHadoopJarStepOutput) Args

List of command line arguments passed to the JAR file's main function when executed.

func (ClusterStepHadoopJarStepOutput) ElementType

func (ClusterStepHadoopJarStepOutput) Jar

Path to a JAR file run during the step.

func (ClusterStepHadoopJarStepOutput) MainClass

Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

func (ClusterStepHadoopJarStepOutput) Properties

Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

func (ClusterStepHadoopJarStepOutput) ToClusterStepHadoopJarStepOutput

func (o ClusterStepHadoopJarStepOutput) ToClusterStepHadoopJarStepOutput() ClusterStepHadoopJarStepOutput

func (ClusterStepHadoopJarStepOutput) ToClusterStepHadoopJarStepOutputWithContext

func (o ClusterStepHadoopJarStepOutput) ToClusterStepHadoopJarStepOutputWithContext(ctx context.Context) ClusterStepHadoopJarStepOutput

type ClusterStepInput

type ClusterStepInput interface {
	pulumi.Input

	ToClusterStepOutput() ClusterStepOutput
	ToClusterStepOutputWithContext(context.Context) ClusterStepOutput
}

ClusterStepInput is an input type that accepts ClusterStepArgs and ClusterStepOutput values. You can construct a concrete instance of `ClusterStepInput` via:

ClusterStepArgs{...}

type ClusterStepOutput

type ClusterStepOutput struct{ *pulumi.OutputState }

func (ClusterStepOutput) ActionOnFailure

func (o ClusterStepOutput) ActionOnFailure() pulumi.StringOutput

Action to take if the step fails. Valid values: `TERMINATE_JOB_FLOW`, `TERMINATE_CLUSTER`, `CANCEL_AND_WAIT`, and `CONTINUE`

func (ClusterStepOutput) ElementType

func (ClusterStepOutput) ElementType() reflect.Type

func (ClusterStepOutput) HadoopJarStep

JAR file used for the step. See below.

func (ClusterStepOutput) Name

Name of the step.

func (ClusterStepOutput) ToClusterStepOutput

func (o ClusterStepOutput) ToClusterStepOutput() ClusterStepOutput

func (ClusterStepOutput) ToClusterStepOutputWithContext

func (o ClusterStepOutput) ToClusterStepOutputWithContext(ctx context.Context) ClusterStepOutput

type GetReleaseLabelsArgs

type GetReleaseLabelsArgs struct {
	// Filters the results of the request. Prefix specifies the prefix of release labels to return. Application specifies the application (with/without version) of release labels to return. See Filters.
	Filters *GetReleaseLabelsFilters `pulumi:"filters"`
}

A collection of arguments for invoking getReleaseLabels.

type GetReleaseLabelsFilters

type GetReleaseLabelsFilters struct {
	// Optional release label application filter. For example, `Spark@2.1.0` or `Spark`.
	Application *string `pulumi:"application"`
	// Optional release label version prefix filter. For example, `emr-5`.
	Prefix *string `pulumi:"prefix"`
}

type GetReleaseLabelsFiltersArgs

type GetReleaseLabelsFiltersArgs struct {
	// Optional release label application filter. For example, `Spark@2.1.0` or `Spark`.
	Application pulumi.StringPtrInput `pulumi:"application"`
	// Optional release label version prefix filter. For example, `emr-5`.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
}

func (GetReleaseLabelsFiltersArgs) ElementType

func (GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersOutput

func (i GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersOutput() GetReleaseLabelsFiltersOutput

func (GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersOutputWithContext

func (i GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersOutputWithContext(ctx context.Context) GetReleaseLabelsFiltersOutput

func (GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersPtrOutput

func (i GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersPtrOutput() GetReleaseLabelsFiltersPtrOutput

func (GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersPtrOutputWithContext

func (i GetReleaseLabelsFiltersArgs) ToGetReleaseLabelsFiltersPtrOutputWithContext(ctx context.Context) GetReleaseLabelsFiltersPtrOutput

type GetReleaseLabelsFiltersInput

type GetReleaseLabelsFiltersInput interface {
	pulumi.Input

	ToGetReleaseLabelsFiltersOutput() GetReleaseLabelsFiltersOutput
	ToGetReleaseLabelsFiltersOutputWithContext(context.Context) GetReleaseLabelsFiltersOutput
}

GetReleaseLabelsFiltersInput is an input type that accepts GetReleaseLabelsFiltersArgs and GetReleaseLabelsFiltersOutput values. You can construct a concrete instance of `GetReleaseLabelsFiltersInput` via:

GetReleaseLabelsFiltersArgs{...}

type GetReleaseLabelsFiltersOutput

type GetReleaseLabelsFiltersOutput struct{ *pulumi.OutputState }

func (GetReleaseLabelsFiltersOutput) Application

Optional release label application filter. For example, `Spark@2.1.0` or `Spark`.

func (GetReleaseLabelsFiltersOutput) ElementType

func (GetReleaseLabelsFiltersOutput) Prefix

Optional release label version prefix filter. For example, `emr-5`.

func (GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersOutput

func (o GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersOutput() GetReleaseLabelsFiltersOutput

func (GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersOutputWithContext

func (o GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersOutputWithContext(ctx context.Context) GetReleaseLabelsFiltersOutput

func (GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersPtrOutput

func (o GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersPtrOutput() GetReleaseLabelsFiltersPtrOutput

func (GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersPtrOutputWithContext

func (o GetReleaseLabelsFiltersOutput) ToGetReleaseLabelsFiltersPtrOutputWithContext(ctx context.Context) GetReleaseLabelsFiltersPtrOutput

type GetReleaseLabelsFiltersPtrInput

type GetReleaseLabelsFiltersPtrInput interface {
	pulumi.Input

	ToGetReleaseLabelsFiltersPtrOutput() GetReleaseLabelsFiltersPtrOutput
	ToGetReleaseLabelsFiltersPtrOutputWithContext(context.Context) GetReleaseLabelsFiltersPtrOutput
}

GetReleaseLabelsFiltersPtrInput is an input type that accepts GetReleaseLabelsFiltersArgs, GetReleaseLabelsFiltersPtr and GetReleaseLabelsFiltersPtrOutput values. You can construct a concrete instance of `GetReleaseLabelsFiltersPtrInput` via:

        GetReleaseLabelsFiltersArgs{...}

or:

        nil

type GetReleaseLabelsFiltersPtrOutput

type GetReleaseLabelsFiltersPtrOutput struct{ *pulumi.OutputState }

func (GetReleaseLabelsFiltersPtrOutput) Application

Optional release label application filter. For example, `Spark@2.1.0` or `Spark`.

func (GetReleaseLabelsFiltersPtrOutput) Elem

func (GetReleaseLabelsFiltersPtrOutput) ElementType

func (GetReleaseLabelsFiltersPtrOutput) Prefix

Optional release label version prefix filter. For example, `emr-5`.

func (GetReleaseLabelsFiltersPtrOutput) ToGetReleaseLabelsFiltersPtrOutput

func (o GetReleaseLabelsFiltersPtrOutput) ToGetReleaseLabelsFiltersPtrOutput() GetReleaseLabelsFiltersPtrOutput

func (GetReleaseLabelsFiltersPtrOutput) ToGetReleaseLabelsFiltersPtrOutputWithContext

func (o GetReleaseLabelsFiltersPtrOutput) ToGetReleaseLabelsFiltersPtrOutputWithContext(ctx context.Context) GetReleaseLabelsFiltersPtrOutput

type GetReleaseLabelsOutputArgs

type GetReleaseLabelsOutputArgs struct {
	// Filters the results of the request. Prefix specifies the prefix of release labels to return. Application specifies the application (with/without version) of release labels to return. See Filters.
	Filters GetReleaseLabelsFiltersPtrInput `pulumi:"filters"`
}

A collection of arguments for invoking getReleaseLabels.

func (GetReleaseLabelsOutputArgs) ElementType

func (GetReleaseLabelsOutputArgs) ElementType() reflect.Type

type GetReleaseLabelsResult

type GetReleaseLabelsResult struct {
	Filters *GetReleaseLabelsFilters `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Returned release labels.
	ReleaseLabels []string `pulumi:"releaseLabels"`
}

A collection of values returned by getReleaseLabels.

func GetReleaseLabels

func GetReleaseLabels(ctx *pulumi.Context, args *GetReleaseLabelsArgs, opts ...pulumi.InvokeOption) (*GetReleaseLabelsResult, error)

Retrieve information about EMR Release Labels.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.GetReleaseLabels(ctx, &emr.GetReleaseLabelsArgs{
			Filters: emr.GetReleaseLabelsFilters{
				Application: pulumi.StringRef("spark@2.1.0"),
				Prefix:      pulumi.StringRef("emr-5"),
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetReleaseLabelsResultOutput

type GetReleaseLabelsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReleaseLabels.

func (GetReleaseLabelsResultOutput) ElementType

func (GetReleaseLabelsResultOutput) Filters

func (GetReleaseLabelsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetReleaseLabelsResultOutput) ReleaseLabels

Returned release labels.

func (GetReleaseLabelsResultOutput) ToGetReleaseLabelsResultOutput

func (o GetReleaseLabelsResultOutput) ToGetReleaseLabelsResultOutput() GetReleaseLabelsResultOutput

func (GetReleaseLabelsResultOutput) ToGetReleaseLabelsResultOutputWithContext

func (o GetReleaseLabelsResultOutput) ToGetReleaseLabelsResultOutputWithContext(ctx context.Context) GetReleaseLabelsResultOutput

type GetSupportedInstanceTypesArgs added in v6.11.0

type GetSupportedInstanceTypesArgs struct {
	// Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
	ReleaseLabel string `pulumi:"releaseLabel"`
	// List of supported instance types. See `supportedInstanceTypes` below.
	SupportedInstanceTypes []GetSupportedInstanceTypesSupportedInstanceType `pulumi:"supportedInstanceTypes"`
}

A collection of arguments for invoking getSupportedInstanceTypes.

type GetSupportedInstanceTypesOutputArgs added in v6.11.0

type GetSupportedInstanceTypesOutputArgs struct {
	// Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
	ReleaseLabel pulumi.StringInput `pulumi:"releaseLabel"`
	// List of supported instance types. See `supportedInstanceTypes` below.
	SupportedInstanceTypes GetSupportedInstanceTypesSupportedInstanceTypeArrayInput `pulumi:"supportedInstanceTypes"`
}

A collection of arguments for invoking getSupportedInstanceTypes.

func (GetSupportedInstanceTypesOutputArgs) ElementType added in v6.11.0

type GetSupportedInstanceTypesResult added in v6.11.0

type GetSupportedInstanceTypesResult struct {
	Id           string `pulumi:"id"`
	ReleaseLabel string `pulumi:"releaseLabel"`
	// List of supported instance types. See `supportedInstanceTypes` below.
	SupportedInstanceTypes []GetSupportedInstanceTypesSupportedInstanceType `pulumi:"supportedInstanceTypes"`
}

A collection of values returned by getSupportedInstanceTypes.

func GetSupportedInstanceTypes added in v6.11.0

func GetSupportedInstanceTypes(ctx *pulumi.Context, args *GetSupportedInstanceTypesArgs, opts ...pulumi.InvokeOption) (*GetSupportedInstanceTypesResult, error)

Data source for managing AWS EMR Supported Instance Types.

## Example Usage

### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.GetSupportedInstanceTypes(ctx, &emr.GetSupportedInstanceTypesArgs{
			ReleaseLabel: "ebs-6.15.0",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With a Lifecycle Pre-Condition

This data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instanceType := "r7g.large"
		releaseLabel := "emr-6.15.0"
		_, err := emr.GetSupportedInstanceTypes(ctx, &emr.GetSupportedInstanceTypesArgs{
			ReleaseLabel: releaseLabel,
		}, nil)
		if err != nil {
			return err
		}
		_, err = emr.NewCluster(ctx, "test", &emr.ClusterArgs{
			ReleaseLabel: pulumi.String(releaseLabel),
			MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
				InstanceType: pulumi.String(instanceType),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSupportedInstanceTypesResultOutput added in v6.11.0

type GetSupportedInstanceTypesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSupportedInstanceTypes.

func (GetSupportedInstanceTypesResultOutput) ElementType added in v6.11.0

func (GetSupportedInstanceTypesResultOutput) Id added in v6.11.0

func (GetSupportedInstanceTypesResultOutput) ReleaseLabel added in v6.11.0

func (GetSupportedInstanceTypesResultOutput) SupportedInstanceTypes added in v6.11.0

List of supported instance types. See `supportedInstanceTypes` below.

func (GetSupportedInstanceTypesResultOutput) ToGetSupportedInstanceTypesResultOutput added in v6.11.0

func (o GetSupportedInstanceTypesResultOutput) ToGetSupportedInstanceTypesResultOutput() GetSupportedInstanceTypesResultOutput

func (GetSupportedInstanceTypesResultOutput) ToGetSupportedInstanceTypesResultOutputWithContext added in v6.11.0

func (o GetSupportedInstanceTypesResultOutput) ToGetSupportedInstanceTypesResultOutputWithContext(ctx context.Context) GetSupportedInstanceTypesResultOutput

type GetSupportedInstanceTypesSupportedInstanceType added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceType struct {
	// CPU architecture.
	Architecture string `pulumi:"architecture"`
	// Indicates whether the instance type supports Amazon EBS optimization.
	EbsOptimizedAvailable bool `pulumi:"ebsOptimizedAvailable"`
	// Indicates whether the instance type uses Amazon EBS optimization by default.
	EbsOptimizedByDefault bool `pulumi:"ebsOptimizedByDefault"`
	// Indicates whether the instance type only supports Amazon EBS.
	EbsStorageOnly bool `pulumi:"ebsStorageOnly"`
	// The Amazon EC2 family and generation for the instance type.
	InstanceFamilyId string `pulumi:"instanceFamilyId"`
	// Indicates whether the instance type only supports 64-bit architecture.
	Is64BitsOnly bool `pulumi:"is64BitsOnly"`
	// Memory that is available to Amazon EMR from the instance type.
	MemoryGb float64 `pulumi:"memoryGb"`
	// Number of disks for the instance type.
	NumberOfDisks int `pulumi:"numberOfDisks"`
	// Storage capacity of the instance type.
	StorageGb int `pulumi:"storageGb"`
	// Amazon EC2 instance type. For example, `m5.xlarge`.
	Type string `pulumi:"type"`
	// The number of vCPUs available for the instance type.
	Vcpu int `pulumi:"vcpu"`
}

type GetSupportedInstanceTypesSupportedInstanceTypeArgs added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeArgs struct {
	// CPU architecture.
	Architecture pulumi.StringInput `pulumi:"architecture"`
	// Indicates whether the instance type supports Amazon EBS optimization.
	EbsOptimizedAvailable pulumi.BoolInput `pulumi:"ebsOptimizedAvailable"`
	// Indicates whether the instance type uses Amazon EBS optimization by default.
	EbsOptimizedByDefault pulumi.BoolInput `pulumi:"ebsOptimizedByDefault"`
	// Indicates whether the instance type only supports Amazon EBS.
	EbsStorageOnly pulumi.BoolInput `pulumi:"ebsStorageOnly"`
	// The Amazon EC2 family and generation for the instance type.
	InstanceFamilyId pulumi.StringInput `pulumi:"instanceFamilyId"`
	// Indicates whether the instance type only supports 64-bit architecture.
	Is64BitsOnly pulumi.BoolInput `pulumi:"is64BitsOnly"`
	// Memory that is available to Amazon EMR from the instance type.
	MemoryGb pulumi.Float64Input `pulumi:"memoryGb"`
	// Number of disks for the instance type.
	NumberOfDisks pulumi.IntInput `pulumi:"numberOfDisks"`
	// Storage capacity of the instance type.
	StorageGb pulumi.IntInput `pulumi:"storageGb"`
	// Amazon EC2 instance type. For example, `m5.xlarge`.
	Type pulumi.StringInput `pulumi:"type"`
	// The number of vCPUs available for the instance type.
	Vcpu pulumi.IntInput `pulumi:"vcpu"`
}

func (GetSupportedInstanceTypesSupportedInstanceTypeArgs) ElementType added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeArgs) ToGetSupportedInstanceTypesSupportedInstanceTypeOutput added in v6.11.0

func (i GetSupportedInstanceTypesSupportedInstanceTypeArgs) ToGetSupportedInstanceTypesSupportedInstanceTypeOutput() GetSupportedInstanceTypesSupportedInstanceTypeOutput

func (GetSupportedInstanceTypesSupportedInstanceTypeArgs) ToGetSupportedInstanceTypesSupportedInstanceTypeOutputWithContext added in v6.11.0

func (i GetSupportedInstanceTypesSupportedInstanceTypeArgs) ToGetSupportedInstanceTypesSupportedInstanceTypeOutputWithContext(ctx context.Context) GetSupportedInstanceTypesSupportedInstanceTypeOutput

type GetSupportedInstanceTypesSupportedInstanceTypeArray added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeArray []GetSupportedInstanceTypesSupportedInstanceTypeInput

func (GetSupportedInstanceTypesSupportedInstanceTypeArray) ElementType added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeArray) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutput added in v6.11.0

func (i GetSupportedInstanceTypesSupportedInstanceTypeArray) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutput() GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput

func (GetSupportedInstanceTypesSupportedInstanceTypeArray) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutputWithContext added in v6.11.0

func (i GetSupportedInstanceTypesSupportedInstanceTypeArray) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutputWithContext(ctx context.Context) GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput

type GetSupportedInstanceTypesSupportedInstanceTypeArrayInput added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeArrayInput interface {
	pulumi.Input

	ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutput() GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput
	ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutputWithContext(context.Context) GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput
}

GetSupportedInstanceTypesSupportedInstanceTypeArrayInput is an input type that accepts GetSupportedInstanceTypesSupportedInstanceTypeArray and GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput values. You can construct a concrete instance of `GetSupportedInstanceTypesSupportedInstanceTypeArrayInput` via:

GetSupportedInstanceTypesSupportedInstanceTypeArray{ GetSupportedInstanceTypesSupportedInstanceTypeArgs{...} }

type GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput struct{ *pulumi.OutputState }

func (GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput) ElementType added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput) Index added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutput added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutputWithContext added in v6.11.0

func (o GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeArrayOutputWithContext(ctx context.Context) GetSupportedInstanceTypesSupportedInstanceTypeArrayOutput

type GetSupportedInstanceTypesSupportedInstanceTypeInput added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeInput interface {
	pulumi.Input

	ToGetSupportedInstanceTypesSupportedInstanceTypeOutput() GetSupportedInstanceTypesSupportedInstanceTypeOutput
	ToGetSupportedInstanceTypesSupportedInstanceTypeOutputWithContext(context.Context) GetSupportedInstanceTypesSupportedInstanceTypeOutput
}

GetSupportedInstanceTypesSupportedInstanceTypeInput is an input type that accepts GetSupportedInstanceTypesSupportedInstanceTypeArgs and GetSupportedInstanceTypesSupportedInstanceTypeOutput values. You can construct a concrete instance of `GetSupportedInstanceTypesSupportedInstanceTypeInput` via:

GetSupportedInstanceTypesSupportedInstanceTypeArgs{...}

type GetSupportedInstanceTypesSupportedInstanceTypeOutput added in v6.11.0

type GetSupportedInstanceTypesSupportedInstanceTypeOutput struct{ *pulumi.OutputState }

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) Architecture added in v6.11.0

CPU architecture.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) EbsOptimizedAvailable added in v6.11.0

Indicates whether the instance type supports Amazon EBS optimization.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) EbsOptimizedByDefault added in v6.11.0

Indicates whether the instance type uses Amazon EBS optimization by default.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) EbsStorageOnly added in v6.11.0

Indicates whether the instance type only supports Amazon EBS.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) ElementType added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) InstanceFamilyId added in v6.11.0

The Amazon EC2 family and generation for the instance type.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) Is64BitsOnly added in v6.11.0

Indicates whether the instance type only supports 64-bit architecture.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) MemoryGb added in v6.11.0

Memory that is available to Amazon EMR from the instance type.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) NumberOfDisks added in v6.11.0

Number of disks for the instance type.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) StorageGb added in v6.11.0

Storage capacity of the instance type.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeOutput added in v6.11.0

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeOutputWithContext added in v6.11.0

func (o GetSupportedInstanceTypesSupportedInstanceTypeOutput) ToGetSupportedInstanceTypesSupportedInstanceTypeOutputWithContext(ctx context.Context) GetSupportedInstanceTypesSupportedInstanceTypeOutput

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) Type added in v6.11.0

Amazon EC2 instance type. For example, `m5.xlarge`.

func (GetSupportedInstanceTypesSupportedInstanceTypeOutput) Vcpu added in v6.11.0

The number of vCPUs available for the instance type.

type InstanceFleet

type InstanceFleet struct {
	pulumi.CustomResourceState

	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// Configuration block for instance fleet
	InstanceTypeConfigs InstanceFleetInstanceTypeConfigArrayOutput `pulumi:"instanceTypeConfigs"`
	// Configuration block for launch specification
	LaunchSpecifications InstanceFleetLaunchSpecificationsPtrOutput `pulumi:"launchSpecifications"`
	// Friendly name given to the instance fleet.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of On-Demand units that have been provisioned for the instance
	// fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.
	ProvisionedOnDemandCapacity pulumi.IntOutput `pulumi:"provisionedOnDemandCapacity"`
	// The number of Spot units that have been provisioned for this instance fleet
	// to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.
	ProvisionedSpotCapacity pulumi.IntOutput `pulumi:"provisionedSpotCapacity"`
	// The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity pulumi.IntPtrOutput `pulumi:"targetOnDemandCapacity"`
	// The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity pulumi.IntPtrOutput `pulumi:"targetSpotCapacity"`
}

Provides an Elastic MapReduce Cluster Instance Fleet configuration. See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information.

> **NOTE:** At this time, Instance Fleets cannot be destroyed through the API nor web interface. Instance Fleets are destroyed when the EMR Cluster is destroyed. the provider will resize any Instance Fleet to zero when destroying the resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewInstanceFleet(ctx, "task", &emr.InstanceFleetArgs{
			ClusterId: pulumi.Any(cluster.Id),
			InstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{
				&emr.InstanceFleetInstanceTypeConfigArgs{
					BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
					EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
						&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
							Size:               pulumi.Int(100),
							Type:               pulumi.String("gp2"),
							VolumesPerInstance: pulumi.Int(1),
						},
					},
					InstanceType:     pulumi.String("m4.xlarge"),
					WeightedCapacity: pulumi.Int(1),
				},
				&emr.InstanceFleetInstanceTypeConfigArgs{
					BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
					EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
						&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
							Size:               pulumi.Int(100),
							Type:               pulumi.String("gp2"),
							VolumesPerInstance: pulumi.Int(1),
						},
					},
					InstanceType:     pulumi.String("m4.2xlarge"),
					WeightedCapacity: pulumi.Int(2),
				},
			},
			LaunchSpecifications: &emr.InstanceFleetLaunchSpecificationsArgs{
				SpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{
					&emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{
						AllocationStrategy:     pulumi.String("capacity-optimized"),
						BlockDurationMinutes:   pulumi.Int(0),
						TimeoutAction:          pulumi.String("TERMINATE_CLUSTER"),
						TimeoutDurationMinutes: pulumi.Int(10),
					},
				},
			},
			Name:                   pulumi.String("task fleet"),
			TargetOnDemandCapacity: pulumi.Int(1),
			TargetSpotCapacity:     pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR Instance Fleet using the EMR Cluster identifier and Instance Fleet identifier separated by a forward slash (`/`). For example:

```sh $ pulumi import aws:emr/instanceFleet:InstanceFleet example j-123456ABCDEF/if-15EK4O09RZLNR ```

func GetInstanceFleet

func GetInstanceFleet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceFleetState, opts ...pulumi.ResourceOption) (*InstanceFleet, error)

GetInstanceFleet gets an existing InstanceFleet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceFleet

func NewInstanceFleet(ctx *pulumi.Context,
	name string, args *InstanceFleetArgs, opts ...pulumi.ResourceOption) (*InstanceFleet, error)

NewInstanceFleet registers a new resource with the given unique name, arguments, and options.

func (*InstanceFleet) ElementType

func (*InstanceFleet) ElementType() reflect.Type

func (*InstanceFleet) ToInstanceFleetOutput

func (i *InstanceFleet) ToInstanceFleetOutput() InstanceFleetOutput

func (*InstanceFleet) ToInstanceFleetOutputWithContext

func (i *InstanceFleet) ToInstanceFleetOutputWithContext(ctx context.Context) InstanceFleetOutput

type InstanceFleetArgs

type InstanceFleetArgs struct {
	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringInput
	// Configuration block for instance fleet
	InstanceTypeConfigs InstanceFleetInstanceTypeConfigArrayInput
	// Configuration block for launch specification
	LaunchSpecifications InstanceFleetLaunchSpecificationsPtrInput
	// Friendly name given to the instance fleet.
	Name pulumi.StringPtrInput
	// The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity pulumi.IntPtrInput
	// The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity pulumi.IntPtrInput
}

The set of arguments for constructing a InstanceFleet resource.

func (InstanceFleetArgs) ElementType

func (InstanceFleetArgs) ElementType() reflect.Type

type InstanceFleetArray

type InstanceFleetArray []InstanceFleetInput

func (InstanceFleetArray) ElementType

func (InstanceFleetArray) ElementType() reflect.Type

func (InstanceFleetArray) ToInstanceFleetArrayOutput

func (i InstanceFleetArray) ToInstanceFleetArrayOutput() InstanceFleetArrayOutput

func (InstanceFleetArray) ToInstanceFleetArrayOutputWithContext

func (i InstanceFleetArray) ToInstanceFleetArrayOutputWithContext(ctx context.Context) InstanceFleetArrayOutput

type InstanceFleetArrayInput

type InstanceFleetArrayInput interface {
	pulumi.Input

	ToInstanceFleetArrayOutput() InstanceFleetArrayOutput
	ToInstanceFleetArrayOutputWithContext(context.Context) InstanceFleetArrayOutput
}

InstanceFleetArrayInput is an input type that accepts InstanceFleetArray and InstanceFleetArrayOutput values. You can construct a concrete instance of `InstanceFleetArrayInput` via:

InstanceFleetArray{ InstanceFleetArgs{...} }

type InstanceFleetArrayOutput

type InstanceFleetArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetArrayOutput) ElementType

func (InstanceFleetArrayOutput) ElementType() reflect.Type

func (InstanceFleetArrayOutput) Index

func (InstanceFleetArrayOutput) ToInstanceFleetArrayOutput

func (o InstanceFleetArrayOutput) ToInstanceFleetArrayOutput() InstanceFleetArrayOutput

func (InstanceFleetArrayOutput) ToInstanceFleetArrayOutputWithContext

func (o InstanceFleetArrayOutput) ToInstanceFleetArrayOutputWithContext(ctx context.Context) InstanceFleetArrayOutput

type InstanceFleetInput

type InstanceFleetInput interface {
	pulumi.Input

	ToInstanceFleetOutput() InstanceFleetOutput
	ToInstanceFleetOutputWithContext(ctx context.Context) InstanceFleetOutput
}

type InstanceFleetInstanceTypeConfig

type InstanceFleetInstanceTypeConfig struct {
	// The bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice *string `pulumi:"bidPrice"`
	// The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice *float64 `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations []InstanceFleetInstanceTypeConfigConfiguration `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs []InstanceFleetInstanceTypeConfigEbsConfig `pulumi:"ebsConfigs"`
	// An EC2 instance type, such as m4.xlarge.
	InstanceType string `pulumi:"instanceType"`
	// The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity *int `pulumi:"weightedCapacity"`
}

type InstanceFleetInstanceTypeConfigArgs

type InstanceFleetInstanceTypeConfigArgs struct {
	// The bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPrice pulumi.StringPtrInput `pulumi:"bidPrice"`
	// The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
	BidPriceAsPercentageOfOnDemandPrice pulumi.Float64PtrInput `pulumi:"bidPriceAsPercentageOfOnDemandPrice"`
	// A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.
	Configurations InstanceFleetInstanceTypeConfigConfigurationArrayInput `pulumi:"configurations"`
	// Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
	EbsConfigs InstanceFleetInstanceTypeConfigEbsConfigArrayInput `pulumi:"ebsConfigs"`
	// An EC2 instance type, such as m4.xlarge.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.
	WeightedCapacity pulumi.IntPtrInput `pulumi:"weightedCapacity"`
}

func (InstanceFleetInstanceTypeConfigArgs) ElementType

func (InstanceFleetInstanceTypeConfigArgs) ToInstanceFleetInstanceTypeConfigOutput

func (i InstanceFleetInstanceTypeConfigArgs) ToInstanceFleetInstanceTypeConfigOutput() InstanceFleetInstanceTypeConfigOutput

func (InstanceFleetInstanceTypeConfigArgs) ToInstanceFleetInstanceTypeConfigOutputWithContext

func (i InstanceFleetInstanceTypeConfigArgs) ToInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigOutput

type InstanceFleetInstanceTypeConfigArray

type InstanceFleetInstanceTypeConfigArray []InstanceFleetInstanceTypeConfigInput

func (InstanceFleetInstanceTypeConfigArray) ElementType

func (InstanceFleetInstanceTypeConfigArray) ToInstanceFleetInstanceTypeConfigArrayOutput

func (i InstanceFleetInstanceTypeConfigArray) ToInstanceFleetInstanceTypeConfigArrayOutput() InstanceFleetInstanceTypeConfigArrayOutput

func (InstanceFleetInstanceTypeConfigArray) ToInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (i InstanceFleetInstanceTypeConfigArray) ToInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigArrayOutput

type InstanceFleetInstanceTypeConfigArrayInput

type InstanceFleetInstanceTypeConfigArrayInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigArrayOutput() InstanceFleetInstanceTypeConfigArrayOutput
	ToInstanceFleetInstanceTypeConfigArrayOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigArrayOutput
}

InstanceFleetInstanceTypeConfigArrayInput is an input type that accepts InstanceFleetInstanceTypeConfigArray and InstanceFleetInstanceTypeConfigArrayOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigArrayInput` via:

InstanceFleetInstanceTypeConfigArray{ InstanceFleetInstanceTypeConfigArgs{...} }

type InstanceFleetInstanceTypeConfigArrayOutput

type InstanceFleetInstanceTypeConfigArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigArrayOutput) ElementType

func (InstanceFleetInstanceTypeConfigArrayOutput) Index

func (InstanceFleetInstanceTypeConfigArrayOutput) ToInstanceFleetInstanceTypeConfigArrayOutput

func (o InstanceFleetInstanceTypeConfigArrayOutput) ToInstanceFleetInstanceTypeConfigArrayOutput() InstanceFleetInstanceTypeConfigArrayOutput

func (InstanceFleetInstanceTypeConfigArrayOutput) ToInstanceFleetInstanceTypeConfigArrayOutputWithContext

func (o InstanceFleetInstanceTypeConfigArrayOutput) ToInstanceFleetInstanceTypeConfigArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigArrayOutput

type InstanceFleetInstanceTypeConfigConfiguration

type InstanceFleetInstanceTypeConfigConfiguration struct {
	// The classification within a configuration.
	Classification *string `pulumi:"classification"`
	// A map of properties specified within a configuration classification
	Properties map[string]string `pulumi:"properties"`
}

type InstanceFleetInstanceTypeConfigConfigurationArgs

type InstanceFleetInstanceTypeConfigConfigurationArgs struct {
	// The classification within a configuration.
	Classification pulumi.StringPtrInput `pulumi:"classification"`
	// A map of properties specified within a configuration classification
	Properties pulumi.StringMapInput `pulumi:"properties"`
}

func (InstanceFleetInstanceTypeConfigConfigurationArgs) ElementType

func (InstanceFleetInstanceTypeConfigConfigurationArgs) ToInstanceFleetInstanceTypeConfigConfigurationOutput

func (i InstanceFleetInstanceTypeConfigConfigurationArgs) ToInstanceFleetInstanceTypeConfigConfigurationOutput() InstanceFleetInstanceTypeConfigConfigurationOutput

func (InstanceFleetInstanceTypeConfigConfigurationArgs) ToInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (i InstanceFleetInstanceTypeConfigConfigurationArgs) ToInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigConfigurationOutput

type InstanceFleetInstanceTypeConfigConfigurationArray

type InstanceFleetInstanceTypeConfigConfigurationArray []InstanceFleetInstanceTypeConfigConfigurationInput

func (InstanceFleetInstanceTypeConfigConfigurationArray) ElementType

func (InstanceFleetInstanceTypeConfigConfigurationArray) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (i InstanceFleetInstanceTypeConfigConfigurationArray) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutput() InstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (InstanceFleetInstanceTypeConfigConfigurationArray) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (i InstanceFleetInstanceTypeConfigConfigurationArray) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigConfigurationArrayOutput

type InstanceFleetInstanceTypeConfigConfigurationArrayInput

type InstanceFleetInstanceTypeConfigConfigurationArrayInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigConfigurationArrayOutput() InstanceFleetInstanceTypeConfigConfigurationArrayOutput
	ToInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigConfigurationArrayOutput
}

InstanceFleetInstanceTypeConfigConfigurationArrayInput is an input type that accepts InstanceFleetInstanceTypeConfigConfigurationArray and InstanceFleetInstanceTypeConfigConfigurationArrayOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigConfigurationArrayInput` via:

InstanceFleetInstanceTypeConfigConfigurationArray{ InstanceFleetInstanceTypeConfigConfigurationArgs{...} }

type InstanceFleetInstanceTypeConfigConfigurationArrayOutput

type InstanceFleetInstanceTypeConfigConfigurationArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigConfigurationArrayOutput) ElementType

func (InstanceFleetInstanceTypeConfigConfigurationArrayOutput) Index

func (InstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutput

func (InstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext

func (o InstanceFleetInstanceTypeConfigConfigurationArrayOutput) ToInstanceFleetInstanceTypeConfigConfigurationArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigConfigurationArrayOutput

type InstanceFleetInstanceTypeConfigConfigurationInput

type InstanceFleetInstanceTypeConfigConfigurationInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigConfigurationOutput() InstanceFleetInstanceTypeConfigConfigurationOutput
	ToInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigConfigurationOutput
}

InstanceFleetInstanceTypeConfigConfigurationInput is an input type that accepts InstanceFleetInstanceTypeConfigConfigurationArgs and InstanceFleetInstanceTypeConfigConfigurationOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigConfigurationInput` via:

InstanceFleetInstanceTypeConfigConfigurationArgs{...}

type InstanceFleetInstanceTypeConfigConfigurationOutput

type InstanceFleetInstanceTypeConfigConfigurationOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigConfigurationOutput) Classification

The classification within a configuration.

func (InstanceFleetInstanceTypeConfigConfigurationOutput) ElementType

func (InstanceFleetInstanceTypeConfigConfigurationOutput) Properties

A map of properties specified within a configuration classification

func (InstanceFleetInstanceTypeConfigConfigurationOutput) ToInstanceFleetInstanceTypeConfigConfigurationOutput

func (o InstanceFleetInstanceTypeConfigConfigurationOutput) ToInstanceFleetInstanceTypeConfigConfigurationOutput() InstanceFleetInstanceTypeConfigConfigurationOutput

func (InstanceFleetInstanceTypeConfigConfigurationOutput) ToInstanceFleetInstanceTypeConfigConfigurationOutputWithContext

func (o InstanceFleetInstanceTypeConfigConfigurationOutput) ToInstanceFleetInstanceTypeConfigConfigurationOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigConfigurationOutput

type InstanceFleetInstanceTypeConfigEbsConfig

type InstanceFleetInstanceTypeConfigEbsConfig struct {
	// The number of I/O operations per second (IOPS) that the volume supports
	Iops *int `pulumi:"iops"`
	// The volume size, in gibibytes (GiB).
	Size int `pulumi:"size"`
	// The volume type. Valid options are `gp2`, `io1`, `standard` and `st1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type string `pulumi:"type"`
	// The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type InstanceFleetInstanceTypeConfigEbsConfigArgs

type InstanceFleetInstanceTypeConfigEbsConfigArgs struct {
	// The number of I/O operations per second (IOPS) that the volume supports
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The volume size, in gibibytes (GiB).
	Size pulumi.IntInput `pulumi:"size"`
	// The volume type. Valid options are `gp2`, `io1`, `standard` and `st1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
	Type pulumi.StringInput `pulumi:"type"`
	// The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (InstanceFleetInstanceTypeConfigEbsConfigArgs) ElementType

func (InstanceFleetInstanceTypeConfigEbsConfigArgs) ToInstanceFleetInstanceTypeConfigEbsConfigOutput

func (i InstanceFleetInstanceTypeConfigEbsConfigArgs) ToInstanceFleetInstanceTypeConfigEbsConfigOutput() InstanceFleetInstanceTypeConfigEbsConfigOutput

func (InstanceFleetInstanceTypeConfigEbsConfigArgs) ToInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (i InstanceFleetInstanceTypeConfigEbsConfigArgs) ToInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigEbsConfigOutput

type InstanceFleetInstanceTypeConfigEbsConfigArray

type InstanceFleetInstanceTypeConfigEbsConfigArray []InstanceFleetInstanceTypeConfigEbsConfigInput

func (InstanceFleetInstanceTypeConfigEbsConfigArray) ElementType

func (InstanceFleetInstanceTypeConfigEbsConfigArray) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (i InstanceFleetInstanceTypeConfigEbsConfigArray) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() InstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (InstanceFleetInstanceTypeConfigEbsConfigArray) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (i InstanceFleetInstanceTypeConfigEbsConfigArray) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type InstanceFleetInstanceTypeConfigEbsConfigArrayInput

type InstanceFleetInstanceTypeConfigEbsConfigArrayInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() InstanceFleetInstanceTypeConfigEbsConfigArrayOutput
	ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigEbsConfigArrayOutput
}

InstanceFleetInstanceTypeConfigEbsConfigArrayInput is an input type that accepts InstanceFleetInstanceTypeConfigEbsConfigArray and InstanceFleetInstanceTypeConfigEbsConfigArrayOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigEbsConfigArrayInput` via:

InstanceFleetInstanceTypeConfigEbsConfigArray{ InstanceFleetInstanceTypeConfigEbsConfigArgs{...} }

type InstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type InstanceFleetInstanceTypeConfigEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ElementType

func (InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) Index

func (InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (o InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutput() InstanceFleetInstanceTypeConfigEbsConfigArrayOutput

func (InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext

func (o InstanceFleetInstanceTypeConfigEbsConfigArrayOutput) ToInstanceFleetInstanceTypeConfigEbsConfigArrayOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigEbsConfigArrayOutput

type InstanceFleetInstanceTypeConfigEbsConfigInput

type InstanceFleetInstanceTypeConfigEbsConfigInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigEbsConfigOutput() InstanceFleetInstanceTypeConfigEbsConfigOutput
	ToInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigEbsConfigOutput
}

InstanceFleetInstanceTypeConfigEbsConfigInput is an input type that accepts InstanceFleetInstanceTypeConfigEbsConfigArgs and InstanceFleetInstanceTypeConfigEbsConfigOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigEbsConfigInput` via:

InstanceFleetInstanceTypeConfigEbsConfigArgs{...}

type InstanceFleetInstanceTypeConfigEbsConfigOutput

type InstanceFleetInstanceTypeConfigEbsConfigOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) ElementType

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) Iops

The number of I/O operations per second (IOPS) that the volume supports

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) Size

The volume size, in gibibytes (GiB).

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) ToInstanceFleetInstanceTypeConfigEbsConfigOutput

func (o InstanceFleetInstanceTypeConfigEbsConfigOutput) ToInstanceFleetInstanceTypeConfigEbsConfigOutput() InstanceFleetInstanceTypeConfigEbsConfigOutput

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) ToInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext

func (o InstanceFleetInstanceTypeConfigEbsConfigOutput) ToInstanceFleetInstanceTypeConfigEbsConfigOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigEbsConfigOutput

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) Type

The volume type. Valid options are `gp2`, `io1`, `standard` and `st1`. See [EBS Volume Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).

func (InstanceFleetInstanceTypeConfigEbsConfigOutput) VolumesPerInstance

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

type InstanceFleetInstanceTypeConfigInput

type InstanceFleetInstanceTypeConfigInput interface {
	pulumi.Input

	ToInstanceFleetInstanceTypeConfigOutput() InstanceFleetInstanceTypeConfigOutput
	ToInstanceFleetInstanceTypeConfigOutputWithContext(context.Context) InstanceFleetInstanceTypeConfigOutput
}

InstanceFleetInstanceTypeConfigInput is an input type that accepts InstanceFleetInstanceTypeConfigArgs and InstanceFleetInstanceTypeConfigOutput values. You can construct a concrete instance of `InstanceFleetInstanceTypeConfigInput` via:

InstanceFleetInstanceTypeConfigArgs{...}

type InstanceFleetInstanceTypeConfigOutput

type InstanceFleetInstanceTypeConfigOutput struct{ *pulumi.OutputState }

func (InstanceFleetInstanceTypeConfigOutput) BidPrice

The bid price for each EC2 Spot instance type as defined by `instanceType`. Expressed in USD. If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (InstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice

func (o InstanceFleetInstanceTypeConfigOutput) BidPriceAsPercentageOfOnDemandPrice() pulumi.Float64PtrOutput

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by `instanceType`. Expressed as a number (for example, 20 specifies 20%). If neither `bidPrice` nor `bidPriceAsPercentageOfOnDemandPrice` is provided, `bidPriceAsPercentageOfOnDemandPrice` defaults to 100%.

func (InstanceFleetInstanceTypeConfigOutput) Configurations

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of `configuration` blocks.

func (InstanceFleetInstanceTypeConfigOutput) EbsConfigs

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

func (InstanceFleetInstanceTypeConfigOutput) ElementType

func (InstanceFleetInstanceTypeConfigOutput) InstanceType

An EC2 instance type, such as m4.xlarge.

func (InstanceFleetInstanceTypeConfigOutput) ToInstanceFleetInstanceTypeConfigOutput

func (o InstanceFleetInstanceTypeConfigOutput) ToInstanceFleetInstanceTypeConfigOutput() InstanceFleetInstanceTypeConfigOutput

func (InstanceFleetInstanceTypeConfigOutput) ToInstanceFleetInstanceTypeConfigOutputWithContext

func (o InstanceFleetInstanceTypeConfigOutput) ToInstanceFleetInstanceTypeConfigOutputWithContext(ctx context.Context) InstanceFleetInstanceTypeConfigOutput

func (InstanceFleetInstanceTypeConfigOutput) WeightedCapacity

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in `emr.InstanceFleet`.

type InstanceFleetLaunchSpecifications

type InstanceFleetLaunchSpecifications struct {
	// Configuration block for on demand instances launch specifications
	OnDemandSpecifications []InstanceFleetLaunchSpecificationsOnDemandSpecification `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications
	SpotSpecifications []InstanceFleetLaunchSpecificationsSpotSpecification `pulumi:"spotSpecifications"`
}

type InstanceFleetLaunchSpecificationsArgs

type InstanceFleetLaunchSpecificationsArgs struct {
	// Configuration block for on demand instances launch specifications
	OnDemandSpecifications InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput `pulumi:"onDemandSpecifications"`
	// Configuration block for spot instances launch specifications
	SpotSpecifications InstanceFleetLaunchSpecificationsSpotSpecificationArrayInput `pulumi:"spotSpecifications"`
}

func (InstanceFleetLaunchSpecificationsArgs) ElementType

func (InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsOutput

func (i InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsOutput() InstanceFleetLaunchSpecificationsOutput

func (InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsOutputWithContext

func (i InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOutput

func (InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsPtrOutput

func (i InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsPtrOutput() InstanceFleetLaunchSpecificationsPtrOutput

func (InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (i InstanceFleetLaunchSpecificationsArgs) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsPtrOutput

type InstanceFleetLaunchSpecificationsInput

type InstanceFleetLaunchSpecificationsInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsOutput() InstanceFleetLaunchSpecificationsOutput
	ToInstanceFleetLaunchSpecificationsOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsOutput
}

InstanceFleetLaunchSpecificationsInput is an input type that accepts InstanceFleetLaunchSpecificationsArgs and InstanceFleetLaunchSpecificationsOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsInput` via:

InstanceFleetLaunchSpecificationsArgs{...}

type InstanceFleetLaunchSpecificationsOnDemandSpecification

type InstanceFleetLaunchSpecificationsOnDemandSpecification struct {
	// Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).
	AllocationStrategy string `pulumi:"allocationStrategy"`
}

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs struct {
	// Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
}

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ElementType

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

func (i InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArray

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArray []InstanceFleetLaunchSpecificationsOnDemandSpecificationInput

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ElementType

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

func (i InstanceFleetLaunchSpecificationsOnDemandSpecificationArray) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput() InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
	ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput
}

InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput is an input type that accepts InstanceFleetLaunchSpecificationsOnDemandSpecificationArray and InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayInput` via:

InstanceFleetLaunchSpecificationsOnDemandSpecificationArray{ InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...} }

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ElementType

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) Index

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext

func (o InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationInput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput() InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
	ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput
}

InstanceFleetLaunchSpecificationsOnDemandSpecificationInput is an input type that accepts InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs and InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsOnDemandSpecificationInput` via:

InstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{...}

type InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) AllocationStrategy

Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ElementType

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

func (InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext

func (o InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput) ToInstanceFleetLaunchSpecificationsOnDemandSpecificationOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOnDemandSpecificationOutput

type InstanceFleetLaunchSpecificationsOutput

type InstanceFleetLaunchSpecificationsOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsOutput) ElementType

func (InstanceFleetLaunchSpecificationsOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications

func (InstanceFleetLaunchSpecificationsOutput) SpotSpecifications

Configuration block for spot instances launch specifications

func (InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsOutput

func (o InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsOutput() InstanceFleetLaunchSpecificationsOutput

func (InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsOutputWithContext

func (o InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsOutput

func (InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsPtrOutput

func (o InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsPtrOutput() InstanceFleetLaunchSpecificationsPtrOutput

func (InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o InstanceFleetLaunchSpecificationsOutput) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsPtrOutput

type InstanceFleetLaunchSpecificationsPtrInput

type InstanceFleetLaunchSpecificationsPtrInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsPtrOutput() InstanceFleetLaunchSpecificationsPtrOutput
	ToInstanceFleetLaunchSpecificationsPtrOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsPtrOutput
}

InstanceFleetLaunchSpecificationsPtrInput is an input type that accepts InstanceFleetLaunchSpecificationsArgs, InstanceFleetLaunchSpecificationsPtr and InstanceFleetLaunchSpecificationsPtrOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsPtrInput` via:

        InstanceFleetLaunchSpecificationsArgs{...}

or:

        nil

type InstanceFleetLaunchSpecificationsPtrOutput

type InstanceFleetLaunchSpecificationsPtrOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsPtrOutput) Elem

func (InstanceFleetLaunchSpecificationsPtrOutput) ElementType

func (InstanceFleetLaunchSpecificationsPtrOutput) OnDemandSpecifications

Configuration block for on demand instances launch specifications

func (InstanceFleetLaunchSpecificationsPtrOutput) SpotSpecifications

Configuration block for spot instances launch specifications

func (InstanceFleetLaunchSpecificationsPtrOutput) ToInstanceFleetLaunchSpecificationsPtrOutput

func (o InstanceFleetLaunchSpecificationsPtrOutput) ToInstanceFleetLaunchSpecificationsPtrOutput() InstanceFleetLaunchSpecificationsPtrOutput

func (InstanceFleetLaunchSpecificationsPtrOutput) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext

func (o InstanceFleetLaunchSpecificationsPtrOutput) ToInstanceFleetLaunchSpecificationsPtrOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsPtrOutput

type InstanceFleetLaunchSpecificationsSpotSpecification

type InstanceFleetLaunchSpecificationsSpotSpecification struct {
	// Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).
	AllocationStrategy string `pulumi:"allocationStrategy"`
	// The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes *int `pulumi:"blockDurationMinutes"`
	// The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction string `pulumi:"timeoutAction"`
	// The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes int `pulumi:"timeoutDurationMinutes"`
}

type InstanceFleetLaunchSpecificationsSpotSpecificationArgs

type InstanceFleetLaunchSpecificationsSpotSpecificationArgs struct {
	// Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).
	AllocationStrategy pulumi.StringInput `pulumi:"allocationStrategy"`
	// The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	BlockDurationMinutes pulumi.IntPtrInput `pulumi:"blockDurationMinutes"`
	// The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
	TimeoutAction pulumi.StringInput `pulumi:"timeoutAction"`
	// The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
	TimeoutDurationMinutes pulumi.IntInput `pulumi:"timeoutDurationMinutes"`
}

func (InstanceFleetLaunchSpecificationsSpotSpecificationArgs) ElementType

func (InstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (InstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (i InstanceFleetLaunchSpecificationsSpotSpecificationArgs) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationOutput

type InstanceFleetLaunchSpecificationsSpotSpecificationArray

type InstanceFleetLaunchSpecificationsSpotSpecificationArray []InstanceFleetLaunchSpecificationsSpotSpecificationInput

func (InstanceFleetLaunchSpecificationsSpotSpecificationArray) ElementType

func (InstanceFleetLaunchSpecificationsSpotSpecificationArray) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (i InstanceFleetLaunchSpecificationsSpotSpecificationArray) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput() InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (InstanceFleetLaunchSpecificationsSpotSpecificationArray) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

func (i InstanceFleetLaunchSpecificationsSpotSpecificationArray) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsSpotSpecificationArrayInput

type InstanceFleetLaunchSpecificationsSpotSpecificationArrayInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput() InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
	ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput
}

InstanceFleetLaunchSpecificationsSpotSpecificationArrayInput is an input type that accepts InstanceFleetLaunchSpecificationsSpotSpecificationArray and InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsSpotSpecificationArrayInput` via:

InstanceFleetLaunchSpecificationsSpotSpecificationArray{ InstanceFleetLaunchSpecificationsSpotSpecificationArgs{...} }

type InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ElementType

func (InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) Index

func (InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

func (InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext

func (o InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationArrayOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationArrayOutput

type InstanceFleetLaunchSpecificationsSpotSpecificationInput

type InstanceFleetLaunchSpecificationsSpotSpecificationInput interface {
	pulumi.Input

	ToInstanceFleetLaunchSpecificationsSpotSpecificationOutput() InstanceFleetLaunchSpecificationsSpotSpecificationOutput
	ToInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationOutput
}

InstanceFleetLaunchSpecificationsSpotSpecificationInput is an input type that accepts InstanceFleetLaunchSpecificationsSpotSpecificationArgs and InstanceFleetLaunchSpecificationsSpotSpecificationOutput values. You can construct a concrete instance of `InstanceFleetLaunchSpecificationsSpotSpecificationInput` via:

InstanceFleetLaunchSpecificationsSpotSpecificationArgs{...}

type InstanceFleetLaunchSpecificationsSpotSpecificationOutput

type InstanceFleetLaunchSpecificationsSpotSpecificationOutput struct{ *pulumi.OutputState }

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) AllocationStrategy

Specifies one of the following strategies to launch Spot Instance fleets: `price-capacity-optimized`, `capacity-optimized`, `lowest-price`, or `diversified`. For more information on the provisioning strategies, see [Allocation strategies for Spot Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html).

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) BlockDurationMinutes

The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) ElementType

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutAction

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are `TERMINATE_CLUSTER` and `SWITCH_TO_ON_DEMAND`. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) TimeoutDurationMinutes

The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutput

func (InstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext

func (o InstanceFleetLaunchSpecificationsSpotSpecificationOutput) ToInstanceFleetLaunchSpecificationsSpotSpecificationOutputWithContext(ctx context.Context) InstanceFleetLaunchSpecificationsSpotSpecificationOutput

type InstanceFleetMap

type InstanceFleetMap map[string]InstanceFleetInput

func (InstanceFleetMap) ElementType

func (InstanceFleetMap) ElementType() reflect.Type

func (InstanceFleetMap) ToInstanceFleetMapOutput

func (i InstanceFleetMap) ToInstanceFleetMapOutput() InstanceFleetMapOutput

func (InstanceFleetMap) ToInstanceFleetMapOutputWithContext

func (i InstanceFleetMap) ToInstanceFleetMapOutputWithContext(ctx context.Context) InstanceFleetMapOutput

type InstanceFleetMapInput

type InstanceFleetMapInput interface {
	pulumi.Input

	ToInstanceFleetMapOutput() InstanceFleetMapOutput
	ToInstanceFleetMapOutputWithContext(context.Context) InstanceFleetMapOutput
}

InstanceFleetMapInput is an input type that accepts InstanceFleetMap and InstanceFleetMapOutput values. You can construct a concrete instance of `InstanceFleetMapInput` via:

InstanceFleetMap{ "key": InstanceFleetArgs{...} }

type InstanceFleetMapOutput

type InstanceFleetMapOutput struct{ *pulumi.OutputState }

func (InstanceFleetMapOutput) ElementType

func (InstanceFleetMapOutput) ElementType() reflect.Type

func (InstanceFleetMapOutput) MapIndex

func (InstanceFleetMapOutput) ToInstanceFleetMapOutput

func (o InstanceFleetMapOutput) ToInstanceFleetMapOutput() InstanceFleetMapOutput

func (InstanceFleetMapOutput) ToInstanceFleetMapOutputWithContext

func (o InstanceFleetMapOutput) ToInstanceFleetMapOutputWithContext(ctx context.Context) InstanceFleetMapOutput

type InstanceFleetOutput

type InstanceFleetOutput struct{ *pulumi.OutputState }

func (InstanceFleetOutput) ClusterId

func (o InstanceFleetOutput) ClusterId() pulumi.StringOutput

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

func (InstanceFleetOutput) ElementType

func (InstanceFleetOutput) ElementType() reflect.Type

func (InstanceFleetOutput) InstanceTypeConfigs

Configuration block for instance fleet

func (InstanceFleetOutput) LaunchSpecifications

Configuration block for launch specification

func (InstanceFleetOutput) Name

Friendly name given to the instance fleet.

func (InstanceFleetOutput) ProvisionedOnDemandCapacity

func (o InstanceFleetOutput) ProvisionedOnDemandCapacity() pulumi.IntOutput

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

func (InstanceFleetOutput) ProvisionedSpotCapacity

func (o InstanceFleetOutput) ProvisionedSpotCapacity() pulumi.IntOutput

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

func (InstanceFleetOutput) TargetOnDemandCapacity

func (o InstanceFleetOutput) TargetOnDemandCapacity() pulumi.IntPtrOutput

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

func (InstanceFleetOutput) TargetSpotCapacity

func (o InstanceFleetOutput) TargetSpotCapacity() pulumi.IntPtrOutput

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

func (InstanceFleetOutput) ToInstanceFleetOutput

func (o InstanceFleetOutput) ToInstanceFleetOutput() InstanceFleetOutput

func (InstanceFleetOutput) ToInstanceFleetOutputWithContext

func (o InstanceFleetOutput) ToInstanceFleetOutputWithContext(ctx context.Context) InstanceFleetOutput

type InstanceFleetState

type InstanceFleetState struct {
	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringPtrInput
	// Configuration block for instance fleet
	InstanceTypeConfigs InstanceFleetInstanceTypeConfigArrayInput
	// Configuration block for launch specification
	LaunchSpecifications InstanceFleetLaunchSpecificationsPtrInput
	// Friendly name given to the instance fleet.
	Name pulumi.StringPtrInput
	// The number of On-Demand units that have been provisioned for the instance
	// fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.
	ProvisionedOnDemandCapacity pulumi.IntPtrInput
	// The number of Spot units that have been provisioned for this instance fleet
	// to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.
	ProvisionedSpotCapacity pulumi.IntPtrInput
	// The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
	TargetOnDemandCapacity pulumi.IntPtrInput
	// The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
	TargetSpotCapacity pulumi.IntPtrInput
}

func (InstanceFleetState) ElementType

func (InstanceFleetState) ElementType() reflect.Type

type InstanceGroup

type InstanceGroup struct {
	pulumi.CustomResourceState

	// The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)
	AutoscalingPolicy pulumi.StringPtrOutput `pulumi:"autoscalingPolicy"`
	// If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice pulumi.StringPtrOutput `pulumi:"bidPrice"`
	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrOutput `pulumi:"configurationsJson"`
	// One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created.
	EbsConfigs InstanceGroupEbsConfigArrayOutput `pulumi:"ebsConfigs"`
	// Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
	EbsOptimized pulumi.BoolPtrOutput `pulumi:"ebsOptimized"`
	// target number of instances for the instance group. defaults to 0.
	InstanceCount pulumi.IntOutput `pulumi:"instanceCount"`
	// The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// Human friendly name given to the instance group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of instances currently running in this instance group.
	RunningInstanceCount pulumi.IntOutput `pulumi:"runningInstanceCount"`
	// The current status of the instance group.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides an Elastic MapReduce Cluster Instance Group configuration. See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) 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. this provider will resize any Instance Group to zero when destroying the resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
			ClusterId:     pulumi.Any(tf_test_cluster.Id),
			InstanceCount: pulumi.Int(1),
			InstanceType:  pulumi.String("m5.xlarge"),
			Name:          pulumi.String("my little instance group"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR task instance group using their EMR Cluster id and Instance Group id separated by a forward-slash `/`. For example:

```sh $ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR ```

func GetInstanceGroup

func GetInstanceGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceGroupState, opts ...pulumi.ResourceOption) (*InstanceGroup, error)

GetInstanceGroup gets an existing InstanceGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewInstanceGroup

func NewInstanceGroup(ctx *pulumi.Context,
	name string, args *InstanceGroupArgs, opts ...pulumi.ResourceOption) (*InstanceGroup, error)

NewInstanceGroup registers a new resource with the given unique name, arguments, and options.

func (*InstanceGroup) ElementType

func (*InstanceGroup) ElementType() reflect.Type

func (*InstanceGroup) ToInstanceGroupOutput

func (i *InstanceGroup) ToInstanceGroupOutput() InstanceGroupOutput

func (*InstanceGroup) ToInstanceGroupOutputWithContext

func (i *InstanceGroup) ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput

type InstanceGroupArgs

type InstanceGroupArgs struct {
	// The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)
	AutoscalingPolicy pulumi.StringPtrInput
	// If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice pulumi.StringPtrInput
	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringInput
	// A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrInput
	// One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created.
	EbsConfigs InstanceGroupEbsConfigArrayInput
	// Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
	EbsOptimized pulumi.BoolPtrInput
	// target number of instances for the instance group. defaults to 0.
	InstanceCount pulumi.IntPtrInput
	// The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
	InstanceType pulumi.StringInput
	// Human friendly name given to the instance group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a InstanceGroup resource.

func (InstanceGroupArgs) ElementType

func (InstanceGroupArgs) ElementType() reflect.Type

type InstanceGroupArray

type InstanceGroupArray []InstanceGroupInput

func (InstanceGroupArray) ElementType

func (InstanceGroupArray) ElementType() reflect.Type

func (InstanceGroupArray) ToInstanceGroupArrayOutput

func (i InstanceGroupArray) ToInstanceGroupArrayOutput() InstanceGroupArrayOutput

func (InstanceGroupArray) ToInstanceGroupArrayOutputWithContext

func (i InstanceGroupArray) ToInstanceGroupArrayOutputWithContext(ctx context.Context) InstanceGroupArrayOutput

type InstanceGroupArrayInput

type InstanceGroupArrayInput interface {
	pulumi.Input

	ToInstanceGroupArrayOutput() InstanceGroupArrayOutput
	ToInstanceGroupArrayOutputWithContext(context.Context) InstanceGroupArrayOutput
}

InstanceGroupArrayInput is an input type that accepts InstanceGroupArray and InstanceGroupArrayOutput values. You can construct a concrete instance of `InstanceGroupArrayInput` via:

InstanceGroupArray{ InstanceGroupArgs{...} }

type InstanceGroupArrayOutput

type InstanceGroupArrayOutput struct{ *pulumi.OutputState }

func (InstanceGroupArrayOutput) ElementType

func (InstanceGroupArrayOutput) ElementType() reflect.Type

func (InstanceGroupArrayOutput) Index

func (InstanceGroupArrayOutput) ToInstanceGroupArrayOutput

func (o InstanceGroupArrayOutput) ToInstanceGroupArrayOutput() InstanceGroupArrayOutput

func (InstanceGroupArrayOutput) ToInstanceGroupArrayOutputWithContext

func (o InstanceGroupArrayOutput) ToInstanceGroupArrayOutputWithContext(ctx context.Context) InstanceGroupArrayOutput

type InstanceGroupEbsConfig

type InstanceGroupEbsConfig struct {
	// The number of I/O operations per second (IOPS) that the volume supports.
	Iops *int `pulumi:"iops"`
	// The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.
	Size int `pulumi:"size"`
	// The volume type. Valid options are 'gp2', 'io1' and 'standard'.
	Type string `pulumi:"type"`
	// The number of EBS Volumes to attach per instance.
	VolumesPerInstance *int `pulumi:"volumesPerInstance"`
}

type InstanceGroupEbsConfigArgs

type InstanceGroupEbsConfigArgs struct {
	// The number of I/O operations per second (IOPS) that the volume supports.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.
	Size pulumi.IntInput `pulumi:"size"`
	// The volume type. Valid options are 'gp2', 'io1' and 'standard'.
	Type pulumi.StringInput `pulumi:"type"`
	// The number of EBS Volumes to attach per instance.
	VolumesPerInstance pulumi.IntPtrInput `pulumi:"volumesPerInstance"`
}

func (InstanceGroupEbsConfigArgs) ElementType

func (InstanceGroupEbsConfigArgs) ElementType() reflect.Type

func (InstanceGroupEbsConfigArgs) ToInstanceGroupEbsConfigOutput

func (i InstanceGroupEbsConfigArgs) ToInstanceGroupEbsConfigOutput() InstanceGroupEbsConfigOutput

func (InstanceGroupEbsConfigArgs) ToInstanceGroupEbsConfigOutputWithContext

func (i InstanceGroupEbsConfigArgs) ToInstanceGroupEbsConfigOutputWithContext(ctx context.Context) InstanceGroupEbsConfigOutput

type InstanceGroupEbsConfigArray

type InstanceGroupEbsConfigArray []InstanceGroupEbsConfigInput

func (InstanceGroupEbsConfigArray) ElementType

func (InstanceGroupEbsConfigArray) ToInstanceGroupEbsConfigArrayOutput

func (i InstanceGroupEbsConfigArray) ToInstanceGroupEbsConfigArrayOutput() InstanceGroupEbsConfigArrayOutput

func (InstanceGroupEbsConfigArray) ToInstanceGroupEbsConfigArrayOutputWithContext

func (i InstanceGroupEbsConfigArray) ToInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) InstanceGroupEbsConfigArrayOutput

type InstanceGroupEbsConfigArrayInput

type InstanceGroupEbsConfigArrayInput interface {
	pulumi.Input

	ToInstanceGroupEbsConfigArrayOutput() InstanceGroupEbsConfigArrayOutput
	ToInstanceGroupEbsConfigArrayOutputWithContext(context.Context) InstanceGroupEbsConfigArrayOutput
}

InstanceGroupEbsConfigArrayInput is an input type that accepts InstanceGroupEbsConfigArray and InstanceGroupEbsConfigArrayOutput values. You can construct a concrete instance of `InstanceGroupEbsConfigArrayInput` via:

InstanceGroupEbsConfigArray{ InstanceGroupEbsConfigArgs{...} }

type InstanceGroupEbsConfigArrayOutput

type InstanceGroupEbsConfigArrayOutput struct{ *pulumi.OutputState }

func (InstanceGroupEbsConfigArrayOutput) ElementType

func (InstanceGroupEbsConfigArrayOutput) Index

func (InstanceGroupEbsConfigArrayOutput) ToInstanceGroupEbsConfigArrayOutput

func (o InstanceGroupEbsConfigArrayOutput) ToInstanceGroupEbsConfigArrayOutput() InstanceGroupEbsConfigArrayOutput

func (InstanceGroupEbsConfigArrayOutput) ToInstanceGroupEbsConfigArrayOutputWithContext

func (o InstanceGroupEbsConfigArrayOutput) ToInstanceGroupEbsConfigArrayOutputWithContext(ctx context.Context) InstanceGroupEbsConfigArrayOutput

type InstanceGroupEbsConfigInput

type InstanceGroupEbsConfigInput interface {
	pulumi.Input

	ToInstanceGroupEbsConfigOutput() InstanceGroupEbsConfigOutput
	ToInstanceGroupEbsConfigOutputWithContext(context.Context) InstanceGroupEbsConfigOutput
}

InstanceGroupEbsConfigInput is an input type that accepts InstanceGroupEbsConfigArgs and InstanceGroupEbsConfigOutput values. You can construct a concrete instance of `InstanceGroupEbsConfigInput` via:

InstanceGroupEbsConfigArgs{...}

type InstanceGroupEbsConfigOutput

type InstanceGroupEbsConfigOutput struct{ *pulumi.OutputState }

func (InstanceGroupEbsConfigOutput) ElementType

func (InstanceGroupEbsConfigOutput) Iops

The number of I/O operations per second (IOPS) that the volume supports.

func (InstanceGroupEbsConfigOutput) Size

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

func (InstanceGroupEbsConfigOutput) ToInstanceGroupEbsConfigOutput

func (o InstanceGroupEbsConfigOutput) ToInstanceGroupEbsConfigOutput() InstanceGroupEbsConfigOutput

func (InstanceGroupEbsConfigOutput) ToInstanceGroupEbsConfigOutputWithContext

func (o InstanceGroupEbsConfigOutput) ToInstanceGroupEbsConfigOutputWithContext(ctx context.Context) InstanceGroupEbsConfigOutput

func (InstanceGroupEbsConfigOutput) Type

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

func (InstanceGroupEbsConfigOutput) VolumesPerInstance

func (o InstanceGroupEbsConfigOutput) VolumesPerInstance() pulumi.IntPtrOutput

The number of EBS Volumes to attach per instance.

type InstanceGroupInput

type InstanceGroupInput interface {
	pulumi.Input

	ToInstanceGroupOutput() InstanceGroupOutput
	ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput
}

type InstanceGroupMap

type InstanceGroupMap map[string]InstanceGroupInput

func (InstanceGroupMap) ElementType

func (InstanceGroupMap) ElementType() reflect.Type

func (InstanceGroupMap) ToInstanceGroupMapOutput

func (i InstanceGroupMap) ToInstanceGroupMapOutput() InstanceGroupMapOutput

func (InstanceGroupMap) ToInstanceGroupMapOutputWithContext

func (i InstanceGroupMap) ToInstanceGroupMapOutputWithContext(ctx context.Context) InstanceGroupMapOutput

type InstanceGroupMapInput

type InstanceGroupMapInput interface {
	pulumi.Input

	ToInstanceGroupMapOutput() InstanceGroupMapOutput
	ToInstanceGroupMapOutputWithContext(context.Context) InstanceGroupMapOutput
}

InstanceGroupMapInput is an input type that accepts InstanceGroupMap and InstanceGroupMapOutput values. You can construct a concrete instance of `InstanceGroupMapInput` via:

InstanceGroupMap{ "key": InstanceGroupArgs{...} }

type InstanceGroupMapOutput

type InstanceGroupMapOutput struct{ *pulumi.OutputState }

func (InstanceGroupMapOutput) ElementType

func (InstanceGroupMapOutput) ElementType() reflect.Type

func (InstanceGroupMapOutput) MapIndex

func (InstanceGroupMapOutput) ToInstanceGroupMapOutput

func (o InstanceGroupMapOutput) ToInstanceGroupMapOutput() InstanceGroupMapOutput

func (InstanceGroupMapOutput) ToInstanceGroupMapOutputWithContext

func (o InstanceGroupMapOutput) ToInstanceGroupMapOutputWithContext(ctx context.Context) InstanceGroupMapOutput

type InstanceGroupOutput

type InstanceGroupOutput struct{ *pulumi.OutputState }

func (InstanceGroupOutput) AutoscalingPolicy

func (o InstanceGroupOutput) AutoscalingPolicy() pulumi.StringPtrOutput

The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)

func (InstanceGroupOutput) BidPrice

If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

func (InstanceGroupOutput) ClusterId

func (o InstanceGroupOutput) ClusterId() pulumi.StringOutput

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

func (InstanceGroupOutput) ConfigurationsJson

func (o InstanceGroupOutput) ConfigurationsJson() pulumi.StringPtrOutput

A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
			ConfigurationsJson: pulumi.String(`[

{ "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (InstanceGroupOutput) EbsConfigs

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

func (InstanceGroupOutput) EbsOptimized

func (o InstanceGroupOutput) EbsOptimized() pulumi.BoolPtrOutput

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

func (InstanceGroupOutput) ElementType

func (InstanceGroupOutput) ElementType() reflect.Type

func (InstanceGroupOutput) InstanceCount

func (o InstanceGroupOutput) InstanceCount() pulumi.IntOutput

target number of instances for the instance group. defaults to 0.

func (InstanceGroupOutput) InstanceType

func (o InstanceGroupOutput) InstanceType() pulumi.StringOutput

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

func (InstanceGroupOutput) Name

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

func (InstanceGroupOutput) RunningInstanceCount

func (o InstanceGroupOutput) RunningInstanceCount() pulumi.IntOutput

The number of instances currently running in this instance group.

func (InstanceGroupOutput) Status

The current status of the instance group.

func (InstanceGroupOutput) ToInstanceGroupOutput

func (o InstanceGroupOutput) ToInstanceGroupOutput() InstanceGroupOutput

func (InstanceGroupOutput) ToInstanceGroupOutputWithContext

func (o InstanceGroupOutput) ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput

type InstanceGroupState

type InstanceGroupState struct {
	// The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)
	AutoscalingPolicy pulumi.StringPtrInput
	// If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.
	BidPrice pulumi.StringPtrInput
	// ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
	ClusterId pulumi.StringPtrInput
	// A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
	// 			ConfigurationsJson: pulumi.String(`[
	// {
	// "Classification": "hadoop-env",
	// "Configurations": [
	// {
	// "Classification": "export",
	// "Properties": {
	// "JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
	// }
	// }
	// ],
	// "Properties": {}
	// }
	// ]
	// `),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	ConfigurationsJson pulumi.StringPtrInput
	// One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created.
	EbsConfigs InstanceGroupEbsConfigArrayInput
	// Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
	EbsOptimized pulumi.BoolPtrInput
	// target number of instances for the instance group. defaults to 0.
	InstanceCount pulumi.IntPtrInput
	// The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
	InstanceType pulumi.StringPtrInput
	// Human friendly name given to the instance group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The number of instances currently running in this instance group.
	RunningInstanceCount pulumi.IntPtrInput
	// The current status of the instance group.
	Status pulumi.StringPtrInput
}

func (InstanceGroupState) ElementType

func (InstanceGroupState) ElementType() reflect.Type

type ManagedScalingPolicy

type ManagedScalingPolicy struct {
	pulumi.CustomResourceState

	// ID of the EMR cluster
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// Configuration block with compute limit settings. Described below.
	ComputeLimits ManagedScalingPolicyComputeLimitArrayOutput `pulumi:"computeLimits"`
}

Provides a Managed Scaling policy for EMR Cluster. With Amazon EMR versions 5.30.0 and later (except for Amazon EMR 6.0.0), you can enable EMR managed scaling to automatically increase or decrease the number of instances or units in your cluster based on workload. See [Using EMR Managed Scaling in Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html) for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sample, err := emr.NewCluster(ctx, "sample", &emr.ClusterArgs{
			Name:         pulumi.String("emr-sample-cluster"),
			ReleaseLabel: pulumi.String("emr-5.30.0"),
			MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
				InstanceType: pulumi.String("m4.large"),
			},
			CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{
				InstanceType: pulumi.String("c4.large"),
			},
		})
		if err != nil {
			return err
		}
		_, err = emr.NewManagedScalingPolicy(ctx, "samplepolicy", &emr.ManagedScalingPolicyArgs{
			ClusterId: sample.ID(),
			ComputeLimits: emr.ManagedScalingPolicyComputeLimitArray{
				&emr.ManagedScalingPolicyComputeLimitArgs{
					UnitType:                     pulumi.String("Instances"),
					MinimumCapacityUnits:         pulumi.Int(2),
					MaximumCapacityUnits:         pulumi.Int(10),
					MaximumOndemandCapacityUnits: pulumi.Int(2),
					MaximumCoreCapacityUnits:     pulumi.Int(10),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR Managed Scaling Policies using the EMR Cluster identifier. For example:

```sh $ pulumi import aws:emr/managedScalingPolicy:ManagedScalingPolicy example j-123456ABCDEF ```

func GetManagedScalingPolicy

func GetManagedScalingPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedScalingPolicyState, opts ...pulumi.ResourceOption) (*ManagedScalingPolicy, error)

GetManagedScalingPolicy gets an existing ManagedScalingPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewManagedScalingPolicy

func NewManagedScalingPolicy(ctx *pulumi.Context,
	name string, args *ManagedScalingPolicyArgs, opts ...pulumi.ResourceOption) (*ManagedScalingPolicy, error)

NewManagedScalingPolicy registers a new resource with the given unique name, arguments, and options.

func (*ManagedScalingPolicy) ElementType

func (*ManagedScalingPolicy) ElementType() reflect.Type

func (*ManagedScalingPolicy) ToManagedScalingPolicyOutput

func (i *ManagedScalingPolicy) ToManagedScalingPolicyOutput() ManagedScalingPolicyOutput

func (*ManagedScalingPolicy) ToManagedScalingPolicyOutputWithContext

func (i *ManagedScalingPolicy) ToManagedScalingPolicyOutputWithContext(ctx context.Context) ManagedScalingPolicyOutput

type ManagedScalingPolicyArgs

type ManagedScalingPolicyArgs struct {
	// ID of the EMR cluster
	ClusterId pulumi.StringInput
	// Configuration block with compute limit settings. Described below.
	ComputeLimits ManagedScalingPolicyComputeLimitArrayInput
}

The set of arguments for constructing a ManagedScalingPolicy resource.

func (ManagedScalingPolicyArgs) ElementType

func (ManagedScalingPolicyArgs) ElementType() reflect.Type

type ManagedScalingPolicyArray

type ManagedScalingPolicyArray []ManagedScalingPolicyInput

func (ManagedScalingPolicyArray) ElementType

func (ManagedScalingPolicyArray) ElementType() reflect.Type

func (ManagedScalingPolicyArray) ToManagedScalingPolicyArrayOutput

func (i ManagedScalingPolicyArray) ToManagedScalingPolicyArrayOutput() ManagedScalingPolicyArrayOutput

func (ManagedScalingPolicyArray) ToManagedScalingPolicyArrayOutputWithContext

func (i ManagedScalingPolicyArray) ToManagedScalingPolicyArrayOutputWithContext(ctx context.Context) ManagedScalingPolicyArrayOutput

type ManagedScalingPolicyArrayInput

type ManagedScalingPolicyArrayInput interface {
	pulumi.Input

	ToManagedScalingPolicyArrayOutput() ManagedScalingPolicyArrayOutput
	ToManagedScalingPolicyArrayOutputWithContext(context.Context) ManagedScalingPolicyArrayOutput
}

ManagedScalingPolicyArrayInput is an input type that accepts ManagedScalingPolicyArray and ManagedScalingPolicyArrayOutput values. You can construct a concrete instance of `ManagedScalingPolicyArrayInput` via:

ManagedScalingPolicyArray{ ManagedScalingPolicyArgs{...} }

type ManagedScalingPolicyArrayOutput

type ManagedScalingPolicyArrayOutput struct{ *pulumi.OutputState }

func (ManagedScalingPolicyArrayOutput) ElementType

func (ManagedScalingPolicyArrayOutput) Index

func (ManagedScalingPolicyArrayOutput) ToManagedScalingPolicyArrayOutput

func (o ManagedScalingPolicyArrayOutput) ToManagedScalingPolicyArrayOutput() ManagedScalingPolicyArrayOutput

func (ManagedScalingPolicyArrayOutput) ToManagedScalingPolicyArrayOutputWithContext

func (o ManagedScalingPolicyArrayOutput) ToManagedScalingPolicyArrayOutputWithContext(ctx context.Context) ManagedScalingPolicyArrayOutput

type ManagedScalingPolicyComputeLimit

type ManagedScalingPolicyComputeLimit struct {
	// The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.
	MaximumCapacityUnits int `pulumi:"maximumCapacityUnits"`
	// The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.
	MaximumCoreCapacityUnits *int `pulumi:"maximumCoreCapacityUnits"`
	// The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances.
	MaximumOndemandCapacityUnits *int `pulumi:"maximumOndemandCapacityUnits"`
	// The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.
	MinimumCapacityUnits int `pulumi:"minimumCapacityUnits"`
	// The unit type used for specifying a managed scaling policy. Valid Values: `InstanceFleetUnits` | `Instances` | `VCPU`
	UnitType string `pulumi:"unitType"`
}

type ManagedScalingPolicyComputeLimitArgs

type ManagedScalingPolicyComputeLimitArgs struct {
	// The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.
	MaximumCapacityUnits pulumi.IntInput `pulumi:"maximumCapacityUnits"`
	// The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.
	MaximumCoreCapacityUnits pulumi.IntPtrInput `pulumi:"maximumCoreCapacityUnits"`
	// The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances.
	MaximumOndemandCapacityUnits pulumi.IntPtrInput `pulumi:"maximumOndemandCapacityUnits"`
	// The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.
	MinimumCapacityUnits pulumi.IntInput `pulumi:"minimumCapacityUnits"`
	// The unit type used for specifying a managed scaling policy. Valid Values: `InstanceFleetUnits` | `Instances` | `VCPU`
	UnitType pulumi.StringInput `pulumi:"unitType"`
}

func (ManagedScalingPolicyComputeLimitArgs) ElementType

func (ManagedScalingPolicyComputeLimitArgs) ToManagedScalingPolicyComputeLimitOutput

func (i ManagedScalingPolicyComputeLimitArgs) ToManagedScalingPolicyComputeLimitOutput() ManagedScalingPolicyComputeLimitOutput

func (ManagedScalingPolicyComputeLimitArgs) ToManagedScalingPolicyComputeLimitOutputWithContext

func (i ManagedScalingPolicyComputeLimitArgs) ToManagedScalingPolicyComputeLimitOutputWithContext(ctx context.Context) ManagedScalingPolicyComputeLimitOutput

type ManagedScalingPolicyComputeLimitArray

type ManagedScalingPolicyComputeLimitArray []ManagedScalingPolicyComputeLimitInput

func (ManagedScalingPolicyComputeLimitArray) ElementType

func (ManagedScalingPolicyComputeLimitArray) ToManagedScalingPolicyComputeLimitArrayOutput

func (i ManagedScalingPolicyComputeLimitArray) ToManagedScalingPolicyComputeLimitArrayOutput() ManagedScalingPolicyComputeLimitArrayOutput

func (ManagedScalingPolicyComputeLimitArray) ToManagedScalingPolicyComputeLimitArrayOutputWithContext

func (i ManagedScalingPolicyComputeLimitArray) ToManagedScalingPolicyComputeLimitArrayOutputWithContext(ctx context.Context) ManagedScalingPolicyComputeLimitArrayOutput

type ManagedScalingPolicyComputeLimitArrayInput

type ManagedScalingPolicyComputeLimitArrayInput interface {
	pulumi.Input

	ToManagedScalingPolicyComputeLimitArrayOutput() ManagedScalingPolicyComputeLimitArrayOutput
	ToManagedScalingPolicyComputeLimitArrayOutputWithContext(context.Context) ManagedScalingPolicyComputeLimitArrayOutput
}

ManagedScalingPolicyComputeLimitArrayInput is an input type that accepts ManagedScalingPolicyComputeLimitArray and ManagedScalingPolicyComputeLimitArrayOutput values. You can construct a concrete instance of `ManagedScalingPolicyComputeLimitArrayInput` via:

ManagedScalingPolicyComputeLimitArray{ ManagedScalingPolicyComputeLimitArgs{...} }

type ManagedScalingPolicyComputeLimitArrayOutput

type ManagedScalingPolicyComputeLimitArrayOutput struct{ *pulumi.OutputState }

func (ManagedScalingPolicyComputeLimitArrayOutput) ElementType

func (ManagedScalingPolicyComputeLimitArrayOutput) Index

func (ManagedScalingPolicyComputeLimitArrayOutput) ToManagedScalingPolicyComputeLimitArrayOutput

func (o ManagedScalingPolicyComputeLimitArrayOutput) ToManagedScalingPolicyComputeLimitArrayOutput() ManagedScalingPolicyComputeLimitArrayOutput

func (ManagedScalingPolicyComputeLimitArrayOutput) ToManagedScalingPolicyComputeLimitArrayOutputWithContext

func (o ManagedScalingPolicyComputeLimitArrayOutput) ToManagedScalingPolicyComputeLimitArrayOutputWithContext(ctx context.Context) ManagedScalingPolicyComputeLimitArrayOutput

type ManagedScalingPolicyComputeLimitInput

type ManagedScalingPolicyComputeLimitInput interface {
	pulumi.Input

	ToManagedScalingPolicyComputeLimitOutput() ManagedScalingPolicyComputeLimitOutput
	ToManagedScalingPolicyComputeLimitOutputWithContext(context.Context) ManagedScalingPolicyComputeLimitOutput
}

ManagedScalingPolicyComputeLimitInput is an input type that accepts ManagedScalingPolicyComputeLimitArgs and ManagedScalingPolicyComputeLimitOutput values. You can construct a concrete instance of `ManagedScalingPolicyComputeLimitInput` via:

ManagedScalingPolicyComputeLimitArgs{...}

type ManagedScalingPolicyComputeLimitOutput

type ManagedScalingPolicyComputeLimitOutput struct{ *pulumi.OutputState }

func (ManagedScalingPolicyComputeLimitOutput) ElementType

func (ManagedScalingPolicyComputeLimitOutput) MaximumCapacityUnits

func (o ManagedScalingPolicyComputeLimitOutput) MaximumCapacityUnits() pulumi.IntOutput

The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

func (ManagedScalingPolicyComputeLimitOutput) MaximumCoreCapacityUnits

func (o ManagedScalingPolicyComputeLimitOutput) MaximumCoreCapacityUnits() pulumi.IntPtrOutput

The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.

func (ManagedScalingPolicyComputeLimitOutput) MaximumOndemandCapacityUnits

func (o ManagedScalingPolicyComputeLimitOutput) MaximumOndemandCapacityUnits() pulumi.IntPtrOutput

The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances.

func (ManagedScalingPolicyComputeLimitOutput) MinimumCapacityUnits

func (o ManagedScalingPolicyComputeLimitOutput) MinimumCapacityUnits() pulumi.IntOutput

The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

func (ManagedScalingPolicyComputeLimitOutput) ToManagedScalingPolicyComputeLimitOutput

func (o ManagedScalingPolicyComputeLimitOutput) ToManagedScalingPolicyComputeLimitOutput() ManagedScalingPolicyComputeLimitOutput

func (ManagedScalingPolicyComputeLimitOutput) ToManagedScalingPolicyComputeLimitOutputWithContext

func (o ManagedScalingPolicyComputeLimitOutput) ToManagedScalingPolicyComputeLimitOutputWithContext(ctx context.Context) ManagedScalingPolicyComputeLimitOutput

func (ManagedScalingPolicyComputeLimitOutput) UnitType

The unit type used for specifying a managed scaling policy. Valid Values: `InstanceFleetUnits` | `Instances` | `VCPU`

type ManagedScalingPolicyInput

type ManagedScalingPolicyInput interface {
	pulumi.Input

	ToManagedScalingPolicyOutput() ManagedScalingPolicyOutput
	ToManagedScalingPolicyOutputWithContext(ctx context.Context) ManagedScalingPolicyOutput
}

type ManagedScalingPolicyMap

type ManagedScalingPolicyMap map[string]ManagedScalingPolicyInput

func (ManagedScalingPolicyMap) ElementType

func (ManagedScalingPolicyMap) ElementType() reflect.Type

func (ManagedScalingPolicyMap) ToManagedScalingPolicyMapOutput

func (i ManagedScalingPolicyMap) ToManagedScalingPolicyMapOutput() ManagedScalingPolicyMapOutput

func (ManagedScalingPolicyMap) ToManagedScalingPolicyMapOutputWithContext

func (i ManagedScalingPolicyMap) ToManagedScalingPolicyMapOutputWithContext(ctx context.Context) ManagedScalingPolicyMapOutput

type ManagedScalingPolicyMapInput

type ManagedScalingPolicyMapInput interface {
	pulumi.Input

	ToManagedScalingPolicyMapOutput() ManagedScalingPolicyMapOutput
	ToManagedScalingPolicyMapOutputWithContext(context.Context) ManagedScalingPolicyMapOutput
}

ManagedScalingPolicyMapInput is an input type that accepts ManagedScalingPolicyMap and ManagedScalingPolicyMapOutput values. You can construct a concrete instance of `ManagedScalingPolicyMapInput` via:

ManagedScalingPolicyMap{ "key": ManagedScalingPolicyArgs{...} }

type ManagedScalingPolicyMapOutput

type ManagedScalingPolicyMapOutput struct{ *pulumi.OutputState }

func (ManagedScalingPolicyMapOutput) ElementType

func (ManagedScalingPolicyMapOutput) MapIndex

func (ManagedScalingPolicyMapOutput) ToManagedScalingPolicyMapOutput

func (o ManagedScalingPolicyMapOutput) ToManagedScalingPolicyMapOutput() ManagedScalingPolicyMapOutput

func (ManagedScalingPolicyMapOutput) ToManagedScalingPolicyMapOutputWithContext

func (o ManagedScalingPolicyMapOutput) ToManagedScalingPolicyMapOutputWithContext(ctx context.Context) ManagedScalingPolicyMapOutput

type ManagedScalingPolicyOutput

type ManagedScalingPolicyOutput struct{ *pulumi.OutputState }

func (ManagedScalingPolicyOutput) ClusterId

ID of the EMR cluster

func (ManagedScalingPolicyOutput) ComputeLimits

Configuration block with compute limit settings. Described below.

func (ManagedScalingPolicyOutput) ElementType

func (ManagedScalingPolicyOutput) ElementType() reflect.Type

func (ManagedScalingPolicyOutput) ToManagedScalingPolicyOutput

func (o ManagedScalingPolicyOutput) ToManagedScalingPolicyOutput() ManagedScalingPolicyOutput

func (ManagedScalingPolicyOutput) ToManagedScalingPolicyOutputWithContext

func (o ManagedScalingPolicyOutput) ToManagedScalingPolicyOutputWithContext(ctx context.Context) ManagedScalingPolicyOutput

type ManagedScalingPolicyState

type ManagedScalingPolicyState struct {
	// ID of the EMR cluster
	ClusterId pulumi.StringPtrInput
	// Configuration block with compute limit settings. Described below.
	ComputeLimits ManagedScalingPolicyComputeLimitArrayInput
}

func (ManagedScalingPolicyState) ElementType

func (ManagedScalingPolicyState) ElementType() reflect.Type

type SecurityConfiguration

type SecurityConfiguration struct {
	pulumi.CustomResourceState

	// A JSON formatted Security Configuration
	Configuration pulumi.StringOutput `pulumi:"configuration"`
	// Date the Security Configuration was created
	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
	// The name of the EMR Security Configuration. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
}

Provides a resource to manage AWS EMR Security Configurations

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewSecurityConfiguration(ctx, "foo", &emr.SecurityConfigurationArgs{
			Name: pulumi.String("emrsc_other"),
			Configuration: pulumi.String(`{
  "EncryptionConfiguration": {
    "AtRestEncryptionConfiguration": {
      "S3EncryptionConfiguration": {
        "EncryptionMode": "SSE-S3"
      },
      "LocalDiskEncryptionConfiguration": {
        "EncryptionKeyProviderType": "AwsKms",
        "AwsKmsKey": "arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key"
      }
    },
    "EnableInTransitEncryption": false,
    "EnableAtRestEncryption": true
  }
}

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR Security Configurations using the `name`. For example:

```sh $ pulumi import aws:emr/securityConfiguration:SecurityConfiguration sc example-sc-name ```

func GetSecurityConfiguration

func GetSecurityConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityConfigurationState, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error)

GetSecurityConfiguration gets an existing SecurityConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityConfiguration

func NewSecurityConfiguration(ctx *pulumi.Context,
	name string, args *SecurityConfigurationArgs, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error)

NewSecurityConfiguration registers a new resource with the given unique name, arguments, and options.

func (*SecurityConfiguration) ElementType

func (*SecurityConfiguration) ElementType() reflect.Type

func (*SecurityConfiguration) ToSecurityConfigurationOutput

func (i *SecurityConfiguration) ToSecurityConfigurationOutput() SecurityConfigurationOutput

func (*SecurityConfiguration) ToSecurityConfigurationOutputWithContext

func (i *SecurityConfiguration) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput

type SecurityConfigurationArgs

type SecurityConfigurationArgs struct {
	// A JSON formatted Security Configuration
	Configuration pulumi.StringInput
	// The name of the EMR Security Configuration. By default generated by this provider.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
}

The set of arguments for constructing a SecurityConfiguration resource.

func (SecurityConfigurationArgs) ElementType

func (SecurityConfigurationArgs) ElementType() reflect.Type

type SecurityConfigurationArray

type SecurityConfigurationArray []SecurityConfigurationInput

func (SecurityConfigurationArray) ElementType

func (SecurityConfigurationArray) ElementType() reflect.Type

func (SecurityConfigurationArray) ToSecurityConfigurationArrayOutput

func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput

func (SecurityConfigurationArray) ToSecurityConfigurationArrayOutputWithContext

func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput

type SecurityConfigurationArrayInput

type SecurityConfigurationArrayInput interface {
	pulumi.Input

	ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput
	ToSecurityConfigurationArrayOutputWithContext(context.Context) SecurityConfigurationArrayOutput
}

SecurityConfigurationArrayInput is an input type that accepts SecurityConfigurationArray and SecurityConfigurationArrayOutput values. You can construct a concrete instance of `SecurityConfigurationArrayInput` via:

SecurityConfigurationArray{ SecurityConfigurationArgs{...} }

type SecurityConfigurationArrayOutput

type SecurityConfigurationArrayOutput struct{ *pulumi.OutputState }

func (SecurityConfigurationArrayOutput) ElementType

func (SecurityConfigurationArrayOutput) Index

func (SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutput

func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput

func (SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutputWithContext

func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput

type SecurityConfigurationInput

type SecurityConfigurationInput interface {
	pulumi.Input

	ToSecurityConfigurationOutput() SecurityConfigurationOutput
	ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput
}

type SecurityConfigurationMap

type SecurityConfigurationMap map[string]SecurityConfigurationInput

func (SecurityConfigurationMap) ElementType

func (SecurityConfigurationMap) ElementType() reflect.Type

func (SecurityConfigurationMap) ToSecurityConfigurationMapOutput

func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput

func (SecurityConfigurationMap) ToSecurityConfigurationMapOutputWithContext

func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput

type SecurityConfigurationMapInput

type SecurityConfigurationMapInput interface {
	pulumi.Input

	ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput
	ToSecurityConfigurationMapOutputWithContext(context.Context) SecurityConfigurationMapOutput
}

SecurityConfigurationMapInput is an input type that accepts SecurityConfigurationMap and SecurityConfigurationMapOutput values. You can construct a concrete instance of `SecurityConfigurationMapInput` via:

SecurityConfigurationMap{ "key": SecurityConfigurationArgs{...} }

type SecurityConfigurationMapOutput

type SecurityConfigurationMapOutput struct{ *pulumi.OutputState }

func (SecurityConfigurationMapOutput) ElementType

func (SecurityConfigurationMapOutput) MapIndex

func (SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutput

func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput

func (SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutputWithContext

func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput

type SecurityConfigurationOutput

type SecurityConfigurationOutput struct{ *pulumi.OutputState }

func (SecurityConfigurationOutput) Configuration

A JSON formatted Security Configuration

func (SecurityConfigurationOutput) CreationDate

Date the Security Configuration was created

func (SecurityConfigurationOutput) ElementType

func (SecurityConfigurationOutput) Name

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

func (SecurityConfigurationOutput) NamePrefix

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

func (SecurityConfigurationOutput) ToSecurityConfigurationOutput

func (o SecurityConfigurationOutput) ToSecurityConfigurationOutput() SecurityConfigurationOutput

func (SecurityConfigurationOutput) ToSecurityConfigurationOutputWithContext

func (o SecurityConfigurationOutput) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput

type SecurityConfigurationState

type SecurityConfigurationState struct {
	// A JSON formatted Security Configuration
	Configuration pulumi.StringPtrInput
	// Date the Security Configuration was created
	CreationDate pulumi.StringPtrInput
	// The name of the EMR Security Configuration. By default generated by this provider.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
}

func (SecurityConfigurationState) ElementType

func (SecurityConfigurationState) ElementType() reflect.Type

type Studio

type Studio struct {
	pulumi.CustomResourceState

	// ARN of the studio.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO. Valid values are `SSO` or `IAM`.
	AuthMode pulumi.StringOutput `pulumi:"authMode"`
	// The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.
	DefaultS3Location pulumi.StringOutput `pulumi:"defaultS3Location"`
	// A detailed description of the Amazon EMR Studio.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by `vpcId`.
	EngineSecurityGroupId pulumi.StringOutput `pulumi:"engineSecurityGroupId"`
	// The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.
	IdpAuthUrl pulumi.StringPtrOutput `pulumi:"idpAuthUrl"`
	// The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.
	IdpRelayStateParameterName pulumi.StringPtrOutput `pulumi:"idpRelayStateParameterName"`
	// A descriptive name for the Amazon EMR Studio.
	Name pulumi.StringOutput `pulumi:"name"`
	// The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amazon EMR Studio to interoperate with other Amazon Web Services services.
	ServiceRole pulumi.StringOutput `pulumi:"serviceRole"`
	// A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum of 5 subnets. The subnets must belong to the VPC specified by `vpcId`. Studio users can create a Workspace in any of the specified subnets.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The unique access URL of the Amazon EMR Studio.
	Url pulumi.StringOutput `pulumi:"url"`
	// The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attached to the User Role can be scoped down for each user or group using session policies.
	UserRole pulumi.StringPtrOutput `pulumi:"userRole"`
	// The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by `vpcId`.
	//
	// The following arguments are optional:
	WorkspaceSecurityGroupId pulumi.StringOutput `pulumi:"workspaceSecurityGroupId"`
}

Provides an Elastic MapReduce Studio.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewStudio(ctx, "example", &emr.StudioArgs{
			AuthMode:              pulumi.String("SSO"),
			DefaultS3Location:     pulumi.Sprintf("s3://%v/test", test.Bucket),
			EngineSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),
			Name:                  pulumi.String("example"),
			ServiceRole:           pulumi.Any(testAwsIamRole.Arn),
			SubnetIds: pulumi.StringArray{
				testAwsSubnet.Id,
			},
			UserRole:                 pulumi.Any(testAwsIamRole.Arn),
			VpcId:                    pulumi.Any(testAwsVpc.Id),
			WorkspaceSecurityGroupId: pulumi.Any(testAwsSecurityGroup.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR studios using the `id`. For example:

```sh $ pulumi import aws:emr/studio:Studio studio es-123456ABCDEF ```

func GetStudio

func GetStudio(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StudioState, opts ...pulumi.ResourceOption) (*Studio, error)

GetStudio gets an existing Studio resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStudio

func NewStudio(ctx *pulumi.Context,
	name string, args *StudioArgs, opts ...pulumi.ResourceOption) (*Studio, error)

NewStudio registers a new resource with the given unique name, arguments, and options.

func (*Studio) ElementType

func (*Studio) ElementType() reflect.Type

func (*Studio) ToStudioOutput

func (i *Studio) ToStudioOutput() StudioOutput

func (*Studio) ToStudioOutputWithContext

func (i *Studio) ToStudioOutputWithContext(ctx context.Context) StudioOutput

type StudioArgs

type StudioArgs struct {
	// Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO. Valid values are `SSO` or `IAM`.
	AuthMode pulumi.StringInput
	// The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.
	DefaultS3Location pulumi.StringInput
	// A detailed description of the Amazon EMR Studio.
	Description pulumi.StringPtrInput
	// The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by `vpcId`.
	EngineSecurityGroupId pulumi.StringInput
	// The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.
	IdpAuthUrl pulumi.StringPtrInput
	// The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.
	IdpRelayStateParameterName pulumi.StringPtrInput
	// A descriptive name for the Amazon EMR Studio.
	Name pulumi.StringPtrInput
	// The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amazon EMR Studio to interoperate with other Amazon Web Services services.
	ServiceRole pulumi.StringInput
	// A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum of 5 subnets. The subnets must belong to the VPC specified by `vpcId`. Studio users can create a Workspace in any of the specified subnets.
	SubnetIds pulumi.StringArrayInput
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attached to the User Role can be scoped down for each user or group using session policies.
	UserRole pulumi.StringPtrInput
	// The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
	VpcId pulumi.StringInput
	// The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by `vpcId`.
	//
	// The following arguments are optional:
	WorkspaceSecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a Studio resource.

func (StudioArgs) ElementType

func (StudioArgs) ElementType() reflect.Type

type StudioArray

type StudioArray []StudioInput

func (StudioArray) ElementType

func (StudioArray) ElementType() reflect.Type

func (StudioArray) ToStudioArrayOutput

func (i StudioArray) ToStudioArrayOutput() StudioArrayOutput

func (StudioArray) ToStudioArrayOutputWithContext

func (i StudioArray) ToStudioArrayOutputWithContext(ctx context.Context) StudioArrayOutput

type StudioArrayInput

type StudioArrayInput interface {
	pulumi.Input

	ToStudioArrayOutput() StudioArrayOutput
	ToStudioArrayOutputWithContext(context.Context) StudioArrayOutput
}

StudioArrayInput is an input type that accepts StudioArray and StudioArrayOutput values. You can construct a concrete instance of `StudioArrayInput` via:

StudioArray{ StudioArgs{...} }

type StudioArrayOutput

type StudioArrayOutput struct{ *pulumi.OutputState }

func (StudioArrayOutput) ElementType

func (StudioArrayOutput) ElementType() reflect.Type

func (StudioArrayOutput) Index

func (StudioArrayOutput) ToStudioArrayOutput

func (o StudioArrayOutput) ToStudioArrayOutput() StudioArrayOutput

func (StudioArrayOutput) ToStudioArrayOutputWithContext

func (o StudioArrayOutput) ToStudioArrayOutputWithContext(ctx context.Context) StudioArrayOutput

type StudioInput

type StudioInput interface {
	pulumi.Input

	ToStudioOutput() StudioOutput
	ToStudioOutputWithContext(ctx context.Context) StudioOutput
}

type StudioMap

type StudioMap map[string]StudioInput

func (StudioMap) ElementType

func (StudioMap) ElementType() reflect.Type

func (StudioMap) ToStudioMapOutput

func (i StudioMap) ToStudioMapOutput() StudioMapOutput

func (StudioMap) ToStudioMapOutputWithContext

func (i StudioMap) ToStudioMapOutputWithContext(ctx context.Context) StudioMapOutput

type StudioMapInput

type StudioMapInput interface {
	pulumi.Input

	ToStudioMapOutput() StudioMapOutput
	ToStudioMapOutputWithContext(context.Context) StudioMapOutput
}

StudioMapInput is an input type that accepts StudioMap and StudioMapOutput values. You can construct a concrete instance of `StudioMapInput` via:

StudioMap{ "key": StudioArgs{...} }

type StudioMapOutput

type StudioMapOutput struct{ *pulumi.OutputState }

func (StudioMapOutput) ElementType

func (StudioMapOutput) ElementType() reflect.Type

func (StudioMapOutput) MapIndex

func (StudioMapOutput) ToStudioMapOutput

func (o StudioMapOutput) ToStudioMapOutput() StudioMapOutput

func (StudioMapOutput) ToStudioMapOutputWithContext

func (o StudioMapOutput) ToStudioMapOutputWithContext(ctx context.Context) StudioMapOutput

type StudioOutput

type StudioOutput struct{ *pulumi.OutputState }

func (StudioOutput) Arn

ARN of the studio.

func (StudioOutput) AuthMode

func (o StudioOutput) AuthMode() pulumi.StringOutput

Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO. Valid values are `SSO` or `IAM`.

func (StudioOutput) DefaultS3Location

func (o StudioOutput) DefaultS3Location() pulumi.StringOutput

The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.

func (StudioOutput) Description

func (o StudioOutput) Description() pulumi.StringPtrOutput

A detailed description of the Amazon EMR Studio.

func (StudioOutput) ElementType

func (StudioOutput) ElementType() reflect.Type

func (StudioOutput) EngineSecurityGroupId

func (o StudioOutput) EngineSecurityGroupId() pulumi.StringOutput

The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by `vpcId`.

func (StudioOutput) IdpAuthUrl

func (o StudioOutput) IdpAuthUrl() pulumi.StringPtrOutput

The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.

func (StudioOutput) IdpRelayStateParameterName

func (o StudioOutput) IdpRelayStateParameterName() pulumi.StringPtrOutput

The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.

func (StudioOutput) Name

func (o StudioOutput) Name() pulumi.StringOutput

A descriptive name for the Amazon EMR Studio.

func (StudioOutput) ServiceRole

func (o StudioOutput) ServiceRole() pulumi.StringOutput

The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amazon EMR Studio to interoperate with other Amazon Web Services services.

func (StudioOutput) SubnetIds

func (o StudioOutput) SubnetIds() pulumi.StringArrayOutput

A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum of 5 subnets. The subnets must belong to the VPC specified by `vpcId`. Studio users can create a Workspace in any of the specified subnets.

func (StudioOutput) Tags

list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (StudioOutput) TagsAll deprecated

func (o StudioOutput) TagsAll() pulumi.StringMapOutput

Deprecated: Please use `tags` instead.

func (StudioOutput) ToStudioOutput

func (o StudioOutput) ToStudioOutput() StudioOutput

func (StudioOutput) ToStudioOutputWithContext

func (o StudioOutput) ToStudioOutputWithContext(ctx context.Context) StudioOutput

func (StudioOutput) Url

The unique access URL of the Amazon EMR Studio.

func (StudioOutput) UserRole

func (o StudioOutput) UserRole() pulumi.StringPtrOutput

The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attached to the User Role can be scoped down for each user or group using session policies.

func (StudioOutput) VpcId

func (o StudioOutput) VpcId() pulumi.StringOutput

The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.

func (StudioOutput) WorkspaceSecurityGroupId

func (o StudioOutput) WorkspaceSecurityGroupId() pulumi.StringOutput

The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by `vpcId`.

The following arguments are optional:

type StudioSessionMapping

type StudioSessionMapping struct {
	pulumi.CustomResourceState

	// The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityId pulumi.StringOutput `pulumi:"identityId"`
	// The name of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityName pulumi.StringOutput `pulumi:"identityName"`
	// Specifies whether the identity to map to the Amazon EMR Studio is a `USER` or a `GROUP`.
	IdentityType pulumi.StringOutput `pulumi:"identityType"`
	// The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role.
	SessionPolicyArn pulumi.StringOutput `pulumi:"sessionPolicyArn"`
	// The ID of the Amazon EMR Studio to which the user or group will be mapped.
	StudioId pulumi.StringOutput `pulumi:"studioId"`
}

Provides an Elastic MapReduce Studio Session Mapping.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewStudioSessionMapping(ctx, "example", &emr.StudioSessionMappingArgs{
			StudioId:         pulumi.Any(exampleAwsEmrStudio.Id),
			IdentityType:     pulumi.String("USER"),
			IdentityId:       pulumi.String("example"),
			SessionPolicyArn: pulumi.Any(exampleAwsIamPolicy.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import EMR studio session mappings using `studio-id:identity-type:identity-id`. For example:

```sh $ pulumi import aws:emr/studioSessionMapping:StudioSessionMapping example es-xxxxx:USER:xxxxx-xxx-xxx ```

func GetStudioSessionMapping

func GetStudioSessionMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StudioSessionMappingState, opts ...pulumi.ResourceOption) (*StudioSessionMapping, error)

GetStudioSessionMapping gets an existing StudioSessionMapping resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStudioSessionMapping

func NewStudioSessionMapping(ctx *pulumi.Context,
	name string, args *StudioSessionMappingArgs, opts ...pulumi.ResourceOption) (*StudioSessionMapping, error)

NewStudioSessionMapping registers a new resource with the given unique name, arguments, and options.

func (*StudioSessionMapping) ElementType

func (*StudioSessionMapping) ElementType() reflect.Type

func (*StudioSessionMapping) ToStudioSessionMappingOutput

func (i *StudioSessionMapping) ToStudioSessionMappingOutput() StudioSessionMappingOutput

func (*StudioSessionMapping) ToStudioSessionMappingOutputWithContext

func (i *StudioSessionMapping) ToStudioSessionMappingOutputWithContext(ctx context.Context) StudioSessionMappingOutput

type StudioSessionMappingArgs

type StudioSessionMappingArgs struct {
	// The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityId pulumi.StringPtrInput
	// The name of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityName pulumi.StringPtrInput
	// Specifies whether the identity to map to the Amazon EMR Studio is a `USER` or a `GROUP`.
	IdentityType pulumi.StringInput
	// The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role.
	SessionPolicyArn pulumi.StringInput
	// The ID of the Amazon EMR Studio to which the user or group will be mapped.
	StudioId pulumi.StringInput
}

The set of arguments for constructing a StudioSessionMapping resource.

func (StudioSessionMappingArgs) ElementType

func (StudioSessionMappingArgs) ElementType() reflect.Type

type StudioSessionMappingArray

type StudioSessionMappingArray []StudioSessionMappingInput

func (StudioSessionMappingArray) ElementType

func (StudioSessionMappingArray) ElementType() reflect.Type

func (StudioSessionMappingArray) ToStudioSessionMappingArrayOutput

func (i StudioSessionMappingArray) ToStudioSessionMappingArrayOutput() StudioSessionMappingArrayOutput

func (StudioSessionMappingArray) ToStudioSessionMappingArrayOutputWithContext

func (i StudioSessionMappingArray) ToStudioSessionMappingArrayOutputWithContext(ctx context.Context) StudioSessionMappingArrayOutput

type StudioSessionMappingArrayInput

type StudioSessionMappingArrayInput interface {
	pulumi.Input

	ToStudioSessionMappingArrayOutput() StudioSessionMappingArrayOutput
	ToStudioSessionMappingArrayOutputWithContext(context.Context) StudioSessionMappingArrayOutput
}

StudioSessionMappingArrayInput is an input type that accepts StudioSessionMappingArray and StudioSessionMappingArrayOutput values. You can construct a concrete instance of `StudioSessionMappingArrayInput` via:

StudioSessionMappingArray{ StudioSessionMappingArgs{...} }

type StudioSessionMappingArrayOutput

type StudioSessionMappingArrayOutput struct{ *pulumi.OutputState }

func (StudioSessionMappingArrayOutput) ElementType

func (StudioSessionMappingArrayOutput) Index

func (StudioSessionMappingArrayOutput) ToStudioSessionMappingArrayOutput

func (o StudioSessionMappingArrayOutput) ToStudioSessionMappingArrayOutput() StudioSessionMappingArrayOutput

func (StudioSessionMappingArrayOutput) ToStudioSessionMappingArrayOutputWithContext

func (o StudioSessionMappingArrayOutput) ToStudioSessionMappingArrayOutputWithContext(ctx context.Context) StudioSessionMappingArrayOutput

type StudioSessionMappingInput

type StudioSessionMappingInput interface {
	pulumi.Input

	ToStudioSessionMappingOutput() StudioSessionMappingOutput
	ToStudioSessionMappingOutputWithContext(ctx context.Context) StudioSessionMappingOutput
}

type StudioSessionMappingMap

type StudioSessionMappingMap map[string]StudioSessionMappingInput

func (StudioSessionMappingMap) ElementType

func (StudioSessionMappingMap) ElementType() reflect.Type

func (StudioSessionMappingMap) ToStudioSessionMappingMapOutput

func (i StudioSessionMappingMap) ToStudioSessionMappingMapOutput() StudioSessionMappingMapOutput

func (StudioSessionMappingMap) ToStudioSessionMappingMapOutputWithContext

func (i StudioSessionMappingMap) ToStudioSessionMappingMapOutputWithContext(ctx context.Context) StudioSessionMappingMapOutput

type StudioSessionMappingMapInput

type StudioSessionMappingMapInput interface {
	pulumi.Input

	ToStudioSessionMappingMapOutput() StudioSessionMappingMapOutput
	ToStudioSessionMappingMapOutputWithContext(context.Context) StudioSessionMappingMapOutput
}

StudioSessionMappingMapInput is an input type that accepts StudioSessionMappingMap and StudioSessionMappingMapOutput values. You can construct a concrete instance of `StudioSessionMappingMapInput` via:

StudioSessionMappingMap{ "key": StudioSessionMappingArgs{...} }

type StudioSessionMappingMapOutput

type StudioSessionMappingMapOutput struct{ *pulumi.OutputState }

func (StudioSessionMappingMapOutput) ElementType

func (StudioSessionMappingMapOutput) MapIndex

func (StudioSessionMappingMapOutput) ToStudioSessionMappingMapOutput

func (o StudioSessionMappingMapOutput) ToStudioSessionMappingMapOutput() StudioSessionMappingMapOutput

func (StudioSessionMappingMapOutput) ToStudioSessionMappingMapOutputWithContext

func (o StudioSessionMappingMapOutput) ToStudioSessionMappingMapOutputWithContext(ctx context.Context) StudioSessionMappingMapOutput

type StudioSessionMappingOutput

type StudioSessionMappingOutput struct{ *pulumi.OutputState }

func (StudioSessionMappingOutput) ElementType

func (StudioSessionMappingOutput) ElementType() reflect.Type

func (StudioSessionMappingOutput) IdentityId

The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store.

func (StudioSessionMappingOutput) IdentityName

The name of the user or group from the Amazon Web Services SSO Identity Store.

func (StudioSessionMappingOutput) IdentityType

Specifies whether the identity to map to the Amazon EMR Studio is a `USER` or a `GROUP`.

func (StudioSessionMappingOutput) SessionPolicyArn

func (o StudioSessionMappingOutput) SessionPolicyArn() pulumi.StringOutput

The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role.

func (StudioSessionMappingOutput) StudioId

The ID of the Amazon EMR Studio to which the user or group will be mapped.

func (StudioSessionMappingOutput) ToStudioSessionMappingOutput

func (o StudioSessionMappingOutput) ToStudioSessionMappingOutput() StudioSessionMappingOutput

func (StudioSessionMappingOutput) ToStudioSessionMappingOutputWithContext

func (o StudioSessionMappingOutput) ToStudioSessionMappingOutputWithContext(ctx context.Context) StudioSessionMappingOutput

type StudioSessionMappingState

type StudioSessionMappingState struct {
	// The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityId pulumi.StringPtrInput
	// The name of the user or group from the Amazon Web Services SSO Identity Store.
	IdentityName pulumi.StringPtrInput
	// Specifies whether the identity to map to the Amazon EMR Studio is a `USER` or a `GROUP`.
	IdentityType pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. You should specify the ARN for the session policy that you want to apply, not the ARN of your user role.
	SessionPolicyArn pulumi.StringPtrInput
	// The ID of the Amazon EMR Studio to which the user or group will be mapped.
	StudioId pulumi.StringPtrInput
}

func (StudioSessionMappingState) ElementType

func (StudioSessionMappingState) ElementType() reflect.Type

type StudioState

type StudioState struct {
	// ARN of the studio.
	Arn pulumi.StringPtrInput
	// Specifies whether the Studio authenticates users using IAM or Amazon Web Services SSO. Valid values are `SSO` or `IAM`.
	AuthMode pulumi.StringPtrInput
	// The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.
	DefaultS3Location pulumi.StringPtrInput
	// A detailed description of the Amazon EMR Studio.
	Description pulumi.StringPtrInput
	// The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by `vpcId`.
	EngineSecurityGroupId pulumi.StringPtrInput
	// The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.
	IdpAuthUrl pulumi.StringPtrInput
	// The name that your identity provider (IdP) uses for its RelayState parameter. For example, RelayState or TargetSource. Specify this value when you use IAM authentication and want to let federated users log in to a Studio using the Studio URL. The RelayState parameter differs by IdP.
	IdpRelayStateParameterName pulumi.StringPtrInput
	// A descriptive name for the Amazon EMR Studio.
	Name pulumi.StringPtrInput
	// The IAM role that the Amazon EMR Studio assumes. The service role provides a way for Amazon EMR Studio to interoperate with other Amazon Web Services services.
	ServiceRole pulumi.StringPtrInput
	// A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can have a maximum of 5 subnets. The subnets must belong to the VPC specified by `vpcId`. Studio users can create a Workspace in any of the specified subnets.
	SubnetIds pulumi.StringArrayInput
	// list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
	// The unique access URL of the Amazon EMR Studio.
	Url pulumi.StringPtrInput
	// The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a User Role when you use Amazon Web Services SSO authentication. The permissions attached to the User Role can be scoped down for each user or group using session policies.
	UserRole pulumi.StringPtrInput
	// The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
	VpcId pulumi.StringPtrInput
	// The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by `vpcId`.
	//
	// The following arguments are optional:
	WorkspaceSecurityGroupId pulumi.StringPtrInput
}

func (StudioState) ElementType

func (StudioState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL