1. Packages
  2. AWS Classic
  3. API Docs
  4. emr
  5. getSupportedInstanceTypes

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi

aws.emr.getSupportedInstanceTypes

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi

    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={
            "instanceType": 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)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes
      arguments:
        # arguments dictionary

    The 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.
    SupportedInstanceTypes List<GetSupportedInstanceTypesSupportedInstanceType>
    List of supported instance types. See supported_instance_types below.
    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.
    SupportedInstanceTypes []GetSupportedInstanceTypesSupportedInstanceType
    List of supported instance types. See supported_instance_types below.
    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.
    supportedInstanceTypes List<GetSupportedInstanceTypesSupportedInstanceType>
    List of supported instance types. See supported_instance_types below.
    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.
    supportedInstanceTypes GetSupportedInstanceTypesSupportedInstanceType[]
    List of supported instance types. See supported_instance_types below.
    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_types Sequence[GetSupportedInstanceTypesSupportedInstanceType]
    List of supported instance types. See supported_instance_types below.
    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.
    supportedInstanceTypes List<Property Map>
    List of supported instance types. See supported_instance_types below.

    getSupportedInstanceTypes Result

    The following output properties are available:

    Id string
    ReleaseLabel string
    SupportedInstanceTypes List<GetSupportedInstanceTypesSupportedInstanceType>
    List of supported instance types. See supported_instance_types below.
    Id string
    ReleaseLabel string
    SupportedInstanceTypes []GetSupportedInstanceTypesSupportedInstanceType
    List of supported instance types. See supported_instance_types below.
    id String
    releaseLabel String
    supportedInstanceTypes List<GetSupportedInstanceTypesSupportedInstanceType>
    List of supported instance types. See supported_instance_types below.
    id string
    releaseLabel string
    supportedInstanceTypes GetSupportedInstanceTypesSupportedInstanceType[]
    List of supported instance types. See supported_instance_types below.
    id str
    release_label str
    supported_instance_types Sequence[GetSupportedInstanceTypesSupportedInstanceType]
    List of supported instance types. See supported_instance_types below.
    id String
    releaseLabel String
    supportedInstanceTypes List<Property Map>
    List of supported instance types. See supported_instance_types below.

    Supporting Types

    GetSupportedInstanceTypesSupportedInstanceType

    Architecture string
    CPU architecture.
    EbsOptimizedAvailable bool
    Indicates whether the instance type supports Amazon EBS optimization.
    EbsOptimizedByDefault bool
    Indicates whether the instance type uses Amazon EBS optimization by default.
    EbsStorageOnly bool
    Indicates whether the instance type only supports Amazon EBS.
    InstanceFamilyId string
    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.
    NumberOfDisks int
    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.
    EbsOptimizedAvailable bool
    Indicates whether the instance type supports Amazon EBS optimization.
    EbsOptimizedByDefault bool
    Indicates whether the instance type uses Amazon EBS optimization by default.
    EbsStorageOnly bool
    Indicates whether the instance type only supports Amazon EBS.
    InstanceFamilyId string
    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.
    NumberOfDisks int
    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.
    ebsOptimizedAvailable Boolean
    Indicates whether the instance type supports Amazon EBS optimization.
    ebsOptimizedByDefault Boolean
    Indicates whether the instance type uses Amazon EBS optimization by default.
    ebsStorageOnly Boolean
    Indicates whether the instance type only supports Amazon EBS.
    instanceFamilyId String
    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.
    numberOfDisks Integer
    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.
    ebsOptimizedAvailable boolean
    Indicates whether the instance type supports Amazon EBS optimization.
    ebsOptimizedByDefault boolean
    Indicates whether the instance type uses Amazon EBS optimization by default.
    ebsStorageOnly boolean
    Indicates whether the instance type only supports Amazon EBS.
    instanceFamilyId string
    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.
    numberOfDisks number
    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_available bool
    Indicates whether the instance type supports Amazon EBS optimization.
    ebs_optimized_by_default bool
    Indicates whether the instance type uses Amazon EBS optimization by default.
    ebs_storage_only bool
    Indicates whether the instance type only supports Amazon EBS.
    instance_family_id str
    The Amazon EC2 family and generation for the instance type.
    is64_bits_only bool
    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_disks int
    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.
    ebsOptimizedAvailable Boolean
    Indicates whether the instance type supports Amazon EBS optimization.
    ebsOptimizedByDefault Boolean
    Indicates whether the instance type uses Amazon EBS optimization by default.
    ebsStorageOnly Boolean
    Indicates whether the instance type only supports Amazon EBS.
    instanceFamilyId String
    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.
    numberOfDisks Number
    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 aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.45.0 published on Tuesday, Jul 16, 2024 by Pulumi