AWS v6.73.0 published on Wednesday, Mar 19, 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:
- ReleaseLabel 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.
- SupportedInstance List<GetTypes Supported Instance Types Supported Instance Type> 
- List of supported instance types. See supported_instance_typesbelow.
- ReleaseLabel 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.
- SupportedInstance []GetTypes Supported Instance Types Supported Instance Type 
- List of supported instance types. See supported_instance_typesbelow.
- releaseLabel 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.
- supportedInstance List<GetTypes Supported Instance Types Supported Instance Type> 
- List of supported instance types. See supported_instance_typesbelow.
- releaseLabel 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.
- supportedInstance 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.
- releaseLabel 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.
- supportedInstance List<Property Map>Types 
- List of supported instance types. See supported_instance_typesbelow.
getSupportedInstanceTypes Result
The following output properties are available:
- Id string
- ReleaseLabel string
- SupportedInstance List<GetTypes Supported Instance Types Supported Instance Type> 
- List of supported instance types. See supported_instance_typesbelow.
- Id string
- ReleaseLabel string
- SupportedInstance []GetTypes Supported Instance Types Supported Instance Type 
- List of supported instance types. See supported_instance_typesbelow.
- id String
- releaseLabel String
- supportedInstance List<GetTypes Supported Instance Types Supported Instance Type> 
- List of supported instance types. See supported_instance_typesbelow.
- id string
- releaseLabel string
- supportedInstance 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
- releaseLabel String
- supportedInstance List<Property Map>Types 
- List of supported instance types. See supported_instance_typesbelow.
Supporting Types
GetSupportedInstanceTypesSupportedInstanceType      
- Architecture string
- CPU architecture.
- EbsOptimized boolAvailable 
- Indicates whether the instance type supports Amazon EBS optimization.
- EbsOptimized boolBy Default 
- Indicates whether the instance type uses Amazon EBS optimization by default.
- EbsStorage boolOnly 
- Indicates whether the instance type only supports Amazon EBS.
- InstanceFamily stringId 
- The Amazon EC2 family and generation for the instance type.
- Is64BitsOnly bool
- Indicates whether the instance type only supports 64-bit architecture.
- MemoryGb double
- Memory that is available to Amazon EMR from the instance type.
- NumberOf intDisks 
- Number of disks for the instance type.
- StorageGb 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.
- EbsOptimized boolAvailable 
- Indicates whether the instance type supports Amazon EBS optimization.
- EbsOptimized boolBy Default 
- Indicates whether the instance type uses Amazon EBS optimization by default.
- EbsStorage boolOnly 
- Indicates whether the instance type only supports Amazon EBS.
- InstanceFamily stringId 
- The Amazon EC2 family and generation for the instance type.
- Is64BitsOnly bool
- Indicates whether the instance type only supports 64-bit architecture.
- MemoryGb float64
- Memory that is available to Amazon EMR from the instance type.
- NumberOf intDisks 
- Number of disks for the instance type.
- StorageGb 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.
- ebsOptimized BooleanAvailable 
- Indicates whether the instance type supports Amazon EBS optimization.
- ebsOptimized BooleanBy Default 
- Indicates whether the instance type uses Amazon EBS optimization by default.
- ebsStorage BooleanOnly 
- Indicates whether the instance type only supports Amazon EBS.
- instanceFamily StringId 
- The Amazon EC2 family and generation for the instance type.
- is64BitsOnly Boolean
- Indicates whether the instance type only supports 64-bit architecture.
- memoryGb Double
- Memory that is available to Amazon EMR from the instance type.
- numberOf IntegerDisks 
- Number of disks for the instance type.
- storageGb 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.
- ebsOptimized booleanAvailable 
- Indicates whether the instance type supports Amazon EBS optimization.
- ebsOptimized booleanBy Default 
- Indicates whether the instance type uses Amazon EBS optimization by default.
- ebsStorage booleanOnly 
- Indicates whether the instance type only supports Amazon EBS.
- instanceFamily stringId 
- The Amazon EC2 family and generation for the instance type.
- is64BitsOnly boolean
- Indicates whether the instance type only supports 64-bit architecture.
- memoryGb number
- Memory that is available to Amazon EMR from the instance type.
- numberOf numberDisks 
- Number of disks for the instance type.
- storageGb 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.
- ebsOptimized BooleanAvailable 
- Indicates whether the instance type supports Amazon EBS optimization.
- ebsOptimized BooleanBy Default 
- Indicates whether the instance type uses Amazon EBS optimization by default.
- ebsStorage BooleanOnly 
- Indicates whether the instance type only supports Amazon EBS.
- instanceFamily StringId 
- The Amazon EC2 family and generation for the instance type.
- is64BitsOnly Boolean
- Indicates whether the instance type only supports 64-bit architecture.
- memoryGb Number
- Memory that is available to Amazon EMR from the instance type.
- numberOf NumberDisks 
- Number of disks for the instance type.
- storageGb 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.