AWS v6.77.1 published on Friday, Apr 18, 2025 by Pulumi
aws.emr.getSupportedInstanceTypes
Explore with Pulumi AI
Data source for managing AWS EMR Supported Instance Types.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.emr.getSupportedInstanceTypes({
    releaseLabel: "ebs-6.15.0",
});
import pulumi
import pulumi_aws as aws
example = aws.emr.get_supported_instance_types(release_label="ebs-6.15.0")
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
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()
    {
        ReleaseLabel = "ebs-6.15.0",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.EmrFunctions;
import com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var example = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()
            .releaseLabel("ebs-6.15.0")
            .build());
    }
}
variables:
  example:
    fn::invoke:
      function: aws:emr:getSupportedInstanceTypes
      arguments:
        releaseLabel: ebs-6.15.0
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.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const instanceType = "r7g.large";
const releaseLabel = "emr-6.15.0";
const test = aws.emr.getSupportedInstanceTypes({
    releaseLabel: releaseLabel,
});
const testCluster = new aws.emr.Cluster("test", {
    releaseLabel: releaseLabel,
    masterInstanceGroup: {
        instanceType: instanceType,
    },
});
import pulumi
import pulumi_aws as aws
instance_type = "r7g.large"
release_label = "emr-6.15.0"
test = aws.emr.get_supported_instance_types(release_label=release_label)
test_cluster = aws.emr.Cluster("test",
    release_label=release_label,
    master_instance_group={
        "instance_type": instance_type,
    })
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
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var instanceType = "r7g.large";
    var releaseLabel = "emr-6.15.0";
    var test = Aws.Emr.GetSupportedInstanceTypes.Invoke(new()
    {
        ReleaseLabel = releaseLabel,
    });
    var testCluster = new Aws.Emr.Cluster("test", new()
    {
        ReleaseLabel = releaseLabel,
        MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs
        {
            InstanceType = instanceType,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.EmrFunctions;
import com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var instanceType = "r7g.large";
        final var releaseLabel = "emr-6.15.0";
        final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()
            .releaseLabel(releaseLabel)
            .build());
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .releaseLabel(releaseLabel)
            .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
                .instanceType(instanceType)
                .build())
            .build());
    }
}
resources:
  testCluster:
    type: aws:emr:Cluster
    name: test
    properties:
      releaseLabel: ${releaseLabel}
      masterInstanceGroup:
        instanceType: ${instanceType}
variables:
  instanceType: r7g.large
  releaseLabel: emr-6.15.0
  test:
    fn::invoke:
      function: aws:emr:getSupportedInstanceTypes
      arguments:
        releaseLabel: ${releaseLabel}
Using getSupportedInstanceTypes
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getSupportedInstanceTypes(args: GetSupportedInstanceTypesArgs, opts?: InvokeOptions): Promise<GetSupportedInstanceTypesResult>
function getSupportedInstanceTypesOutput(args: GetSupportedInstanceTypesOutputArgs, opts?: InvokeOptions): Output<GetSupportedInstanceTypesResult>def get_supported_instance_types(release_label: Optional[str] = None,
                                 supported_instance_types: Optional[Sequence[GetSupportedInstanceTypesSupportedInstanceType]] = None,
                                 opts: Optional[InvokeOptions] = None) -> GetSupportedInstanceTypesResult
def get_supported_instance_types_output(release_label: Optional[pulumi.Input[str]] = None,
                                 supported_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[GetSupportedInstanceTypesSupportedInstanceTypeArgs]]]] = None,
                                 opts: Optional[InvokeOptions] = None) -> Output[GetSupportedInstanceTypesResult]func GetSupportedInstanceTypes(ctx *Context, args *GetSupportedInstanceTypesArgs, opts ...InvokeOption) (*GetSupportedInstanceTypesResult, error)
func GetSupportedInstanceTypesOutput(ctx *Context, args *GetSupportedInstanceTypesOutputArgs, opts ...InvokeOption) GetSupportedInstanceTypesResultOutput> Note: This function is named GetSupportedInstanceTypes in the Go SDK.
public static class GetSupportedInstanceTypes 
{
    public static Task<GetSupportedInstanceTypesResult> InvokeAsync(GetSupportedInstanceTypesArgs args, InvokeOptions? opts = null)
    public static Output<GetSupportedInstanceTypesResult> Invoke(GetSupportedInstanceTypesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSupportedInstanceTypesResult> getSupportedInstanceTypes(GetSupportedInstanceTypesArgs args, InvokeOptions options)
public static Output<GetSupportedInstanceTypesResult> getSupportedInstanceTypes(GetSupportedInstanceTypesArgs args, InvokeOptions options)
fn::invoke:
  function: aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Release
Label string - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - Supported
Instance List<GetTypes Supported Instance Types Supported Instance Type>  - List of supported instance types. See 
supported_instance_typesbelow. 
- Release
Label string - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - Supported
Instance []GetTypes Supported Instance Types Supported Instance Type  - List of supported instance types. See 
supported_instance_typesbelow. 
- release
Label String - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - supported
Instance List<GetTypes Supported Instance Types Supported Instance Type>  - List of supported instance types. See 
supported_instance_typesbelow. 
- release
Label string - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - supported
Instance GetTypes Supported Instance Types Supported Instance Type[]  - List of supported instance types. See 
supported_instance_typesbelow. 
- release_
label str - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - supported_
instance_ Sequence[Gettypes Supported Instance Types Supported Instance Type]  - List of supported instance types. See 
supported_instance_typesbelow. 
- release
Label String - Amazon EMR release label. For more information about Amazon EMR releases and their included application versions and features, see the Amazon EMR Release Guide.
 - supported
Instance List<Property Map>Types  - List of supported instance types. See 
supported_instance_typesbelow. 
getSupportedInstanceTypes Result
The following output properties are available:
- Id string
 - Release
Label string - Supported
Instance List<GetTypes Supported Instance Types Supported Instance Type>  - List of supported instance types. See 
supported_instance_typesbelow. 
- Id string
 - Release
Label string - Supported
Instance []GetTypes Supported Instance Types Supported Instance Type  - List of supported instance types. See 
supported_instance_typesbelow. 
- id String
 - release
Label String - supported
Instance List<GetTypes Supported Instance Types Supported Instance Type>  - List of supported instance types. See 
supported_instance_typesbelow. 
- id string
 - release
Label string - supported
Instance GetTypes Supported Instance Types Supported Instance Type[]  - List of supported instance types. See 
supported_instance_typesbelow. 
- id str
 - release_
label str - supported_
instance_ Sequence[Gettypes Supported Instance Types Supported Instance Type]  - List of supported instance types. See 
supported_instance_typesbelow. 
- id String
 - release
Label String - supported
Instance List<Property Map>Types  - List of supported instance types. See 
supported_instance_typesbelow. 
Supporting Types
GetSupportedInstanceTypesSupportedInstanceType      
- Architecture string
 - CPU architecture.
 - Ebs
Optimized boolAvailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - Ebs
Optimized boolBy Default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - Ebs
Storage boolOnly  - Indicates whether the instance type only supports Amazon EBS.
 - Instance
Family stringId  - The Amazon EC2 family and generation for the instance type.
 - Is64Bits
Only bool - Indicates whether the instance type only supports 64-bit architecture.
 - Memory
Gb double - Memory that is available to Amazon EMR from the instance type.
 - Number
Of intDisks  - Number of disks for the instance type.
 - Storage
Gb int - Storage capacity of the instance type.
 - Type string
 - Amazon EC2 instance type. For example, 
m5.xlarge. - Vcpu int
 - The number of vCPUs available for the instance type.
 
- Architecture string
 - CPU architecture.
 - Ebs
Optimized boolAvailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - Ebs
Optimized boolBy Default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - Ebs
Storage boolOnly  - Indicates whether the instance type only supports Amazon EBS.
 - Instance
Family stringId  - The Amazon EC2 family and generation for the instance type.
 - Is64Bits
Only bool - Indicates whether the instance type only supports 64-bit architecture.
 - Memory
Gb float64 - Memory that is available to Amazon EMR from the instance type.
 - Number
Of intDisks  - Number of disks for the instance type.
 - Storage
Gb int - Storage capacity of the instance type.
 - Type string
 - Amazon EC2 instance type. For example, 
m5.xlarge. - Vcpu int
 - The number of vCPUs available for the instance type.
 
- architecture String
 - CPU architecture.
 - ebs
Optimized BooleanAvailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - ebs
Optimized BooleanBy Default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - ebs
Storage BooleanOnly  - Indicates whether the instance type only supports Amazon EBS.
 - instance
Family StringId  - The Amazon EC2 family and generation for the instance type.
 - is64Bits
Only Boolean - Indicates whether the instance type only supports 64-bit architecture.
 - memory
Gb Double - Memory that is available to Amazon EMR from the instance type.
 - number
Of IntegerDisks  - Number of disks for the instance type.
 - storage
Gb Integer - Storage capacity of the instance type.
 - type String
 - Amazon EC2 instance type. For example, 
m5.xlarge. - vcpu Integer
 - The number of vCPUs available for the instance type.
 
- architecture string
 - CPU architecture.
 - ebs
Optimized booleanAvailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - ebs
Optimized booleanBy Default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - ebs
Storage booleanOnly  - Indicates whether the instance type only supports Amazon EBS.
 - instance
Family stringId  - The Amazon EC2 family and generation for the instance type.
 - is64Bits
Only boolean - Indicates whether the instance type only supports 64-bit architecture.
 - memory
Gb number - Memory that is available to Amazon EMR from the instance type.
 - number
Of numberDisks  - Number of disks for the instance type.
 - storage
Gb number - Storage capacity of the instance type.
 - type string
 - Amazon EC2 instance type. For example, 
m5.xlarge. - vcpu number
 - The number of vCPUs available for the instance type.
 
- architecture str
 - CPU architecture.
 - ebs_
optimized_ boolavailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - ebs_
optimized_ boolby_ default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - ebs_
storage_ boolonly  - Indicates whether the instance type only supports Amazon EBS.
 - instance_
family_ strid  - The Amazon EC2 family and generation for the instance type.
 - is64_
bits_ boolonly  - Indicates whether the instance type only supports 64-bit architecture.
 - memory_
gb float - Memory that is available to Amazon EMR from the instance type.
 - number_
of_ intdisks  - Number of disks for the instance type.
 - storage_
gb int - Storage capacity of the instance type.
 - type str
 - Amazon EC2 instance type. For example, 
m5.xlarge. - vcpu int
 - The number of vCPUs available for the instance type.
 
- architecture String
 - CPU architecture.
 - ebs
Optimized BooleanAvailable  - Indicates whether the instance type supports Amazon EBS optimization.
 - ebs
Optimized BooleanBy Default  - Indicates whether the instance type uses Amazon EBS optimization by default.
 - ebs
Storage BooleanOnly  - Indicates whether the instance type only supports Amazon EBS.
 - instance
Family StringId  - The Amazon EC2 family and generation for the instance type.
 - is64Bits
Only Boolean - Indicates whether the instance type only supports 64-bit architecture.
 - memory
Gb Number - Memory that is available to Amazon EMR from the instance type.
 - number
Of NumberDisks  - Number of disks for the instance type.
 - storage
Gb Number - Storage capacity of the instance type.
 - type String
 - Amazon EC2 instance type. For example, 
m5.xlarge. - vcpu Number
 - The number of vCPUs available for the instance type.
 
Package Details
- Repository
 - AWS Classic pulumi/pulumi-aws
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
awsTerraform Provider.