1. Packages
  2. Alibaba Cloud
  3. API Docs
  4. emrv2
  5. Cluster
Alibaba Cloud v3.54.0 published on Wednesday, Apr 24, 2024 by Pulumi

alicloud.emrv2.Cluster

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.54.0 published on Wednesday, Apr 24, 2024 by Pulumi

    Provides a EMR cluster resource. This resource is based on EMR’s new version OpenAPI.

    For information about EMR New and how to use it, see Add a domain.

    NOTE: Available since v1.199.0.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    import * as random from "@pulumi/random";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "tf-example";
    const default = alicloud.resourcemanager.getResourceGroups({
        status: "OK",
    });
    const defaultGetKeys = alicloud.kms.getKeys({
        status: "Enabled",
    });
    const defaultGetZones = alicloud.getZones({
        availableInstanceType: "ecs.g7.xlarge",
    });
    const defaultNetwork = new alicloud.vpc.Network("default", {
        vpcName: name,
        cidrBlock: "172.16.0.0/12",
    });
    const defaultSwitch = new alicloud.vpc.Switch("default", {
        vpcId: defaultNetwork.id,
        cidrBlock: "172.16.0.0/21",
        zoneId: defaultGetZones.then(defaultGetZones => defaultGetZones.zones?.[0]?.id),
        vswitchName: name,
    });
    const defaultInteger = new random.index.Integer("default", {
        max: 99999,
        min: 10000,
    });
    const defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair("default", {keyPairName: `${name}-${defaultInteger.result}`});
    const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
        name: name,
        vpcId: defaultNetwork.id,
    });
    const defaultRole = new alicloud.ram.Role("default", {
        name: name,
        document: `    {
            "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                "Service": [
                    "emr.aliyuncs.com",
                    "ecs.aliyuncs.com"
                ]
                }
            }
            ],
            "Version": "1"
        }
    `,
        description: "this is a role example.",
        force: true,
    });
    const defaultCluster = new alicloud.emrv2.Cluster("default", {
        nodeGroups: [
            {
                vswitchIds: [defaultSwitch.id],
                instanceTypes: ["ecs.g7.xlarge"],
                nodeCount: 1,
                spotInstanceRemedy: false,
                dataDisks: [{
                    count: 3,
                    category: "cloud_essd",
                    size: 80,
                    performanceLevel: "PL0",
                }],
                nodeGroupName: "emr-master",
                paymentType: "PayAsYouGo",
                withPublicIp: false,
                gracefulShutdown: false,
                systemDisk: {
                    category: "cloud_essd",
                    size: 80,
                    performanceLevel: "PL0",
                    count: 1,
                },
                nodeGroupType: "MASTER",
            },
            {
                spotInstanceRemedy: false,
                deploymentSetStrategy: "CLUSTER",
                nodeGroupType: "CORE",
                vswitchIds: [defaultSwitch.id],
                nodeCount: 2,
                gracefulShutdown: false,
                systemDisk: {
                    performanceLevel: "PL0",
                    count: 1,
                    category: "cloud_essd",
                    size: 80,
                },
                dataDisks: [{
                    count: 3,
                    performanceLevel: "PL0",
                    category: "cloud_essd",
                    size: 80,
                }],
                nodeGroupName: "emr-core",
                paymentType: "PayAsYouGo",
                instanceTypes: ["ecs.g7.xlarge"],
                withPublicIp: false,
            },
        ],
        deployMode: "NORMAL",
        tags: {
            Created: "TF",
            For: "example",
        },
        releaseVersion: "EMR-5.10.0",
        applications: [
            "HADOOP-COMMON",
            "HDFS",
            "YARN",
        ],
        nodeAttributes: [{
            zoneId: defaultGetZones.then(defaultGetZones => defaultGetZones.zones?.[0]?.id),
            keyPairName: defaultEcsKeyPair.id,
            dataDiskEncrypted: true,
            dataDiskKmsKeyId: defaultGetKeys.then(defaultGetKeys => defaultGetKeys.ids?.[0]),
            vpcId: defaultNetwork.id,
            ramRole: defaultRole.name,
            securityGroupId: defaultSecurityGroup.id,
        }],
        logCollectStrategy: JSON.stringify({
            open: ["all"],
            close: [""],
        }),
        resourceGroupId: _default.then(_default => _default.ids?.[0]),
        clusterName: name,
        paymentType: "PayAsYouGo",
        clusterType: "DATAFLOW",
    });
    
    import pulumi
    import json
    import pulumi_alicloud as alicloud
    import pulumi_random as random
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "tf-example"
    default = alicloud.resourcemanager.get_resource_groups(status="OK")
    default_get_keys = alicloud.kms.get_keys(status="Enabled")
    default_get_zones = alicloud.get_zones(available_instance_type="ecs.g7.xlarge")
    default_network = alicloud.vpc.Network("default",
        vpc_name=name,
        cidr_block="172.16.0.0/12")
    default_switch = alicloud.vpc.Switch("default",
        vpc_id=default_network.id,
        cidr_block="172.16.0.0/21",
        zone_id=default_get_zones.zones[0].id,
        vswitch_name=name)
    default_integer = random.index.Integer("default",
        max=99999,
        min=10000)
    default_ecs_key_pair = alicloud.ecs.EcsKeyPair("default", key_pair_name=f"{name}-{default_integer['result']}")
    default_security_group = alicloud.ecs.SecurityGroup("default",
        name=name,
        vpc_id=default_network.id)
    default_role = alicloud.ram.Role("default",
        name=name,
        document="""    {
            "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                "Service": [
                    "emr.aliyuncs.com",
                    "ecs.aliyuncs.com"
                ]
                }
            }
            ],
            "Version": "1"
        }
    """,
        description="this is a role example.",
        force=True)
    default_cluster = alicloud.emrv2.Cluster("default",
        node_groups=[
            alicloud.emrv2.ClusterNodeGroupArgs(
                vswitch_ids=[default_switch.id],
                instance_types=["ecs.g7.xlarge"],
                node_count=1,
                spot_instance_remedy=False,
                data_disks=[alicloud.emrv2.ClusterNodeGroupDataDiskArgs(
                    count=3,
                    category="cloud_essd",
                    size=80,
                    performance_level="PL0",
                )],
                node_group_name="emr-master",
                payment_type="PayAsYouGo",
                with_public_ip=False,
                graceful_shutdown=False,
                system_disk=alicloud.emrv2.ClusterNodeGroupSystemDiskArgs(
                    category="cloud_essd",
                    size=80,
                    performance_level="PL0",
                    count=1,
                ),
                node_group_type="MASTER",
            ),
            alicloud.emrv2.ClusterNodeGroupArgs(
                spot_instance_remedy=False,
                deployment_set_strategy="CLUSTER",
                node_group_type="CORE",
                vswitch_ids=[default_switch.id],
                node_count=2,
                graceful_shutdown=False,
                system_disk=alicloud.emrv2.ClusterNodeGroupSystemDiskArgs(
                    performance_level="PL0",
                    count=1,
                    category="cloud_essd",
                    size=80,
                ),
                data_disks=[alicloud.emrv2.ClusterNodeGroupDataDiskArgs(
                    count=3,
                    performance_level="PL0",
                    category="cloud_essd",
                    size=80,
                )],
                node_group_name="emr-core",
                payment_type="PayAsYouGo",
                instance_types=["ecs.g7.xlarge"],
                with_public_ip=False,
            ),
        ],
        deploy_mode="NORMAL",
        tags={
            "Created": "TF",
            "For": "example",
        },
        release_version="EMR-5.10.0",
        applications=[
            "HADOOP-COMMON",
            "HDFS",
            "YARN",
        ],
        node_attributes=[alicloud.emrv2.ClusterNodeAttributeArgs(
            zone_id=default_get_zones.zones[0].id,
            key_pair_name=default_ecs_key_pair.id,
            data_disk_encrypted=True,
            data_disk_kms_key_id=default_get_keys.ids[0],
            vpc_id=default_network.id,
            ram_role=default_role.name,
            security_group_id=default_security_group.id,
        )],
        log_collect_strategy=json.dumps({
            "open": ["all"],
            "close": [""],
        }),
        resource_group_id=default.ids[0],
        cluster_name=name,
        payment_type="PayAsYouGo",
        cluster_type="DATAFLOW")
    
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emrv2"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		name := "tf-example"
    		if param := cfg.Get("name"); param != "" {
    			name = param
    		}
    		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{
    			Status: pulumi.StringRef("OK"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultGetKeys, err := kms.GetKeys(ctx, &kms.GetKeysArgs{
    			Status: pulumi.StringRef("Enabled"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultGetZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
    			AvailableInstanceType: pulumi.StringRef("ecs.g7.xlarge"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
    			VpcName:   pulumi.String(name),
    			CidrBlock: pulumi.String("172.16.0.0/12"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
    			VpcId:       defaultNetwork.ID(),
    			CidrBlock:   pulumi.String("172.16.0.0/21"),
    			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
    			VswitchName: pulumi.String(name),
    		})
    		if err != nil {
    			return err
    		}
    		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
    			Max: 99999,
    			Min: 10000,
    		})
    		if err != nil {
    			return err
    		}
    		defaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, "default", &ecs.EcsKeyPairArgs{
    			KeyPairName: pulumi.String(fmt.Sprintf("%v-%v", name, defaultInteger.Result)),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
    			Name:  pulumi.String(name),
    			VpcId: defaultNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		defaultRole, err := ram.NewRole(ctx, "default", &ram.RoleArgs{
    			Name: pulumi.String(name),
    			Document: pulumi.String(`    {
            "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                "Service": [
                    "emr.aliyuncs.com",
                    "ecs.aliyuncs.com"
                ]
                }
            }
            ],
            "Version": "1"
        }
    `),
    			Description: pulumi.String("this is a role example."),
    			Force:       pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"open": []string{
    				"all",
    			},
    			"close": []string{
    				"",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = emrv2.NewCluster(ctx, "default", &emrv2.ClusterArgs{
    			NodeGroups: emrv2.ClusterNodeGroupArray{
    				&emrv2.ClusterNodeGroupArgs{
    					VswitchIds: pulumi.StringArray{
    						defaultSwitch.ID(),
    					},
    					InstanceTypes: pulumi.StringArray{
    						pulumi.String("ecs.g7.xlarge"),
    					},
    					NodeCount:          pulumi.Int(1),
    					SpotInstanceRemedy: pulumi.Bool(false),
    					DataDisks: emrv2.ClusterNodeGroupDataDiskArray{
    						&emrv2.ClusterNodeGroupDataDiskArgs{
    							Count:            pulumi.Int(3),
    							Category:         pulumi.String("cloud_essd"),
    							Size:             pulumi.Int(80),
    							PerformanceLevel: pulumi.String("PL0"),
    						},
    					},
    					NodeGroupName:    pulumi.String("emr-master"),
    					PaymentType:      pulumi.String("PayAsYouGo"),
    					WithPublicIp:     pulumi.Bool(false),
    					GracefulShutdown: pulumi.Bool(false),
    					SystemDisk: &emrv2.ClusterNodeGroupSystemDiskArgs{
    						Category:         pulumi.String("cloud_essd"),
    						Size:             pulumi.Int(80),
    						PerformanceLevel: pulumi.String("PL0"),
    						Count:            pulumi.Int(1),
    					},
    					NodeGroupType: pulumi.String("MASTER"),
    				},
    				&emrv2.ClusterNodeGroupArgs{
    					SpotInstanceRemedy:    pulumi.Bool(false),
    					DeploymentSetStrategy: pulumi.String("CLUSTER"),
    					NodeGroupType:         pulumi.String("CORE"),
    					VswitchIds: pulumi.StringArray{
    						defaultSwitch.ID(),
    					},
    					NodeCount:        pulumi.Int(2),
    					GracefulShutdown: pulumi.Bool(false),
    					SystemDisk: &emrv2.ClusterNodeGroupSystemDiskArgs{
    						PerformanceLevel: pulumi.String("PL0"),
    						Count:            pulumi.Int(1),
    						Category:         pulumi.String("cloud_essd"),
    						Size:             pulumi.Int(80),
    					},
    					DataDisks: emrv2.ClusterNodeGroupDataDiskArray{
    						&emrv2.ClusterNodeGroupDataDiskArgs{
    							Count:            pulumi.Int(3),
    							PerformanceLevel: pulumi.String("PL0"),
    							Category:         pulumi.String("cloud_essd"),
    							Size:             pulumi.Int(80),
    						},
    					},
    					NodeGroupName: pulumi.String("emr-core"),
    					PaymentType:   pulumi.String("PayAsYouGo"),
    					InstanceTypes: pulumi.StringArray{
    						pulumi.String("ecs.g7.xlarge"),
    					},
    					WithPublicIp: pulumi.Bool(false),
    				},
    			},
    			DeployMode: pulumi.String("NORMAL"),
    			Tags: pulumi.Map{
    				"Created": pulumi.Any("TF"),
    				"For":     pulumi.Any("example"),
    			},
    			ReleaseVersion: pulumi.String("EMR-5.10.0"),
    			Applications: pulumi.StringArray{
    				pulumi.String("HADOOP-COMMON"),
    				pulumi.String("HDFS"),
    				pulumi.String("YARN"),
    			},
    			NodeAttributes: emrv2.ClusterNodeAttributeArray{
    				&emrv2.ClusterNodeAttributeArgs{
    					ZoneId:            pulumi.String(defaultGetZones.Zones[0].Id),
    					KeyPairName:       defaultEcsKeyPair.ID(),
    					DataDiskEncrypted: pulumi.Bool(true),
    					DataDiskKmsKeyId:  pulumi.String(defaultGetKeys.Ids[0]),
    					VpcId:             defaultNetwork.ID(),
    					RamRole:           defaultRole.Name,
    					SecurityGroupId:   defaultSecurityGroup.ID(),
    				},
    			},
    			LogCollectStrategy: pulumi.String(json0),
    			ResourceGroupId:    pulumi.String(_default.Ids[0]),
    			ClusterName:        pulumi.String(name),
    			PaymentType:        pulumi.String("PayAsYouGo"),
    			ClusterType:        pulumi.String("DATAFLOW"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "tf-example";
        var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()
        {
            Status = "OK",
        });
    
        var defaultGetKeys = AliCloud.Kms.GetKeys.Invoke(new()
        {
            Status = "Enabled",
        });
    
        var defaultGetZones = AliCloud.GetZones.Invoke(new()
        {
            AvailableInstanceType = "ecs.g7.xlarge",
        });
    
        var defaultNetwork = new AliCloud.Vpc.Network("default", new()
        {
            VpcName = name,
            CidrBlock = "172.16.0.0/12",
        });
    
        var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
        {
            VpcId = defaultNetwork.Id,
            CidrBlock = "172.16.0.0/21",
            ZoneId = defaultGetZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
            VswitchName = name,
        });
    
        var defaultInteger = new Random.Index.Integer("default", new()
        {
            Max = 99999,
            Min = 10000,
        });
    
        var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair("default", new()
        {
            KeyPairName = $"{name}-{defaultInteger.Result}",
        });
    
        var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("default", new()
        {
            Name = name,
            VpcId = defaultNetwork.Id,
        });
    
        var defaultRole = new AliCloud.Ram.Role("default", new()
        {
            Name = name,
            Document = @"    {
            ""Statement"": [
            {
                ""Action"": ""sts:AssumeRole"",
                ""Effect"": ""Allow"",
                ""Principal"": {
                ""Service"": [
                    ""emr.aliyuncs.com"",
                    ""ecs.aliyuncs.com""
                ]
                }
            }
            ],
            ""Version"": ""1""
        }
    ",
            Description = "this is a role example.",
            Force = true,
        });
    
        var defaultCluster = new AliCloud.Emrv2.Cluster("default", new()
        {
            NodeGroups = new[]
            {
                new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs
                {
                    VswitchIds = new[]
                    {
                        defaultSwitch.Id,
                    },
                    InstanceTypes = new[]
                    {
                        "ecs.g7.xlarge",
                    },
                    NodeCount = 1,
                    SpotInstanceRemedy = false,
                    DataDisks = new[]
                    {
                        new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs
                        {
                            Count = 3,
                            Category = "cloud_essd",
                            Size = 80,
                            PerformanceLevel = "PL0",
                        },
                    },
                    NodeGroupName = "emr-master",
                    PaymentType = "PayAsYouGo",
                    WithPublicIp = false,
                    GracefulShutdown = false,
                    SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs
                    {
                        Category = "cloud_essd",
                        Size = 80,
                        PerformanceLevel = "PL0",
                        Count = 1,
                    },
                    NodeGroupType = "MASTER",
                },
                new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs
                {
                    SpotInstanceRemedy = false,
                    DeploymentSetStrategy = "CLUSTER",
                    NodeGroupType = "CORE",
                    VswitchIds = new[]
                    {
                        defaultSwitch.Id,
                    },
                    NodeCount = 2,
                    GracefulShutdown = false,
                    SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs
                    {
                        PerformanceLevel = "PL0",
                        Count = 1,
                        Category = "cloud_essd",
                        Size = 80,
                    },
                    DataDisks = new[]
                    {
                        new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs
                        {
                            Count = 3,
                            PerformanceLevel = "PL0",
                            Category = "cloud_essd",
                            Size = 80,
                        },
                    },
                    NodeGroupName = "emr-core",
                    PaymentType = "PayAsYouGo",
                    InstanceTypes = new[]
                    {
                        "ecs.g7.xlarge",
                    },
                    WithPublicIp = false,
                },
            },
            DeployMode = "NORMAL",
            Tags = 
            {
                { "Created", "TF" },
                { "For", "example" },
            },
            ReleaseVersion = "EMR-5.10.0",
            Applications = new[]
            {
                "HADOOP-COMMON",
                "HDFS",
                "YARN",
            },
            NodeAttributes = new[]
            {
                new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs
                {
                    ZoneId = defaultGetZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
                    KeyPairName = defaultEcsKeyPair.Id,
                    DataDiskEncrypted = true,
                    DataDiskKmsKeyId = defaultGetKeys.Apply(getKeysResult => getKeysResult.Ids[0]),
                    VpcId = defaultNetwork.Id,
                    RamRole = defaultRole.Name,
                    SecurityGroupId = defaultSecurityGroup.Id,
                },
            },
            LogCollectStrategy = JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["open"] = new[]
                {
                    "all",
                },
                ["close"] = new[]
                {
                    "",
                },
            }),
            ResourceGroupId = @default.Apply(@default => @default.Apply(getResourceGroupsResult => getResourceGroupsResult.Ids[0])),
            ClusterName = name,
            PaymentType = "PayAsYouGo",
            ClusterType = "DATAFLOW",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
    import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
    import com.pulumi.alicloud.kms.KmsFunctions;
    import com.pulumi.alicloud.kms.inputs.GetKeysArgs;
    import com.pulumi.alicloud.AlicloudFunctions;
    import com.pulumi.alicloud.inputs.GetZonesArgs;
    import com.pulumi.alicloud.vpc.Network;
    import com.pulumi.alicloud.vpc.NetworkArgs;
    import com.pulumi.alicloud.vpc.Switch;
    import com.pulumi.alicloud.vpc.SwitchArgs;
    import com.pulumi.random.integer;
    import com.pulumi.random.IntegerArgs;
    import com.pulumi.alicloud.ecs.EcsKeyPair;
    import com.pulumi.alicloud.ecs.EcsKeyPairArgs;
    import com.pulumi.alicloud.ecs.SecurityGroup;
    import com.pulumi.alicloud.ecs.SecurityGroupArgs;
    import com.pulumi.alicloud.ram.Role;
    import com.pulumi.alicloud.ram.RoleArgs;
    import com.pulumi.alicloud.emrv2.Cluster;
    import com.pulumi.alicloud.emrv2.ClusterArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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 config = ctx.config();
            final var name = config.get("name").orElse("tf-example");
            final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
                .status("OK")
                .build());
    
            final var defaultGetKeys = KmsFunctions.getKeys(GetKeysArgs.builder()
                .status("Enabled")
                .build());
    
            final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
                .availableInstanceType("ecs.g7.xlarge")
                .build());
    
            var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()        
                .vpcName(name)
                .cidrBlock("172.16.0.0/12")
                .build());
    
            var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()        
                .vpcId(defaultNetwork.id())
                .cidrBlock("172.16.0.0/21")
                .zoneId(defaultGetZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
                .vswitchName(name)
                .build());
    
            var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()        
                .max(99999)
                .min(10000)
                .build());
    
            var defaultEcsKeyPair = new EcsKeyPair("defaultEcsKeyPair", EcsKeyPairArgs.builder()        
                .keyPairName(String.format("%s-%s", name,defaultInteger.result()))
                .build());
    
            var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()        
                .name(name)
                .vpcId(defaultNetwork.id())
                .build());
    
            var defaultRole = new Role("defaultRole", RoleArgs.builder()        
                .name(name)
                .document("""
        {
            "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                "Service": [
                    "emr.aliyuncs.com",
                    "ecs.aliyuncs.com"
                ]
                }
            }
            ],
            "Version": "1"
        }
                """)
                .description("this is a role example.")
                .force(true)
                .build());
    
            var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()        
                .nodeGroups(            
                    ClusterNodeGroupArgs.builder()
                        .vswitchIds(defaultSwitch.id())
                        .instanceTypes("ecs.g7.xlarge")
                        .nodeCount("1")
                        .spotInstanceRemedy("false")
                        .dataDisks(ClusterNodeGroupDataDiskArgs.builder()
                            .count("3")
                            .category("cloud_essd")
                            .size("80")
                            .performanceLevel("PL0")
                            .build())
                        .nodeGroupName("emr-master")
                        .paymentType("PayAsYouGo")
                        .withPublicIp("false")
                        .gracefulShutdown("false")
                        .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()
                            .category("cloud_essd")
                            .size("80")
                            .performanceLevel("PL0")
                            .count("1")
                            .build())
                        .nodeGroupType("MASTER")
                        .build(),
                    ClusterNodeGroupArgs.builder()
                        .spotInstanceRemedy("false")
                        .deploymentSetStrategy("CLUSTER")
                        .nodeGroupType("CORE")
                        .vswitchIds(defaultSwitch.id())
                        .nodeCount("2")
                        .gracefulShutdown("false")
                        .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()
                            .performanceLevel("PL0")
                            .count("1")
                            .category("cloud_essd")
                            .size("80")
                            .build())
                        .dataDisks(ClusterNodeGroupDataDiskArgs.builder()
                            .count("3")
                            .performanceLevel("PL0")
                            .category("cloud_essd")
                            .size("80")
                            .build())
                        .nodeGroupName("emr-core")
                        .paymentType("PayAsYouGo")
                        .instanceTypes("ecs.g7.xlarge")
                        .withPublicIp("false")
                        .build())
                .deployMode("NORMAL")
                .tags(Map.ofEntries(
                    Map.entry("Created", "TF"),
                    Map.entry("For", "example")
                ))
                .releaseVersion("EMR-5.10.0")
                .applications(            
                    "HADOOP-COMMON",
                    "HDFS",
                    "YARN")
                .nodeAttributes(ClusterNodeAttributeArgs.builder()
                    .zoneId(defaultGetZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
                    .keyPairName(defaultEcsKeyPair.id())
                    .dataDiskEncrypted("true")
                    .dataDiskKmsKeyId(defaultGetKeys.applyValue(getKeysResult -> getKeysResult.ids()[0]))
                    .vpcId(defaultNetwork.id())
                    .ramRole(defaultRole.name())
                    .securityGroupId(defaultSecurityGroup.id())
                    .build())
                .logCollectStrategy(serializeJson(
                    jsonObject(
                        jsonProperty("open", jsonArray("all")),
                        jsonProperty("close", jsonArray(""))
                    )))
                .resourceGroupId(default_.ids()[0])
                .clusterName(name)
                .paymentType("PayAsYouGo")
                .clusterType("DATAFLOW")
                .build());
    
        }
    }
    
    configuration:
      name:
        type: string
        default: tf-example
    resources:
      defaultNetwork:
        type: alicloud:vpc:Network
        name: default
        properties:
          vpcName: ${name}
          cidrBlock: 172.16.0.0/12
      defaultSwitch:
        type: alicloud:vpc:Switch
        name: default
        properties:
          vpcId: ${defaultNetwork.id}
          cidrBlock: 172.16.0.0/21
          zoneId: ${defaultGetZones.zones[0].id}
          vswitchName: ${name}
      defaultInteger:
        type: random:integer
        name: default
        properties:
          max: 99999
          min: 10000
      defaultEcsKeyPair:
        type: alicloud:ecs:EcsKeyPair
        name: default
        properties:
          keyPairName: ${name}-${defaultInteger.result}
      defaultSecurityGroup:
        type: alicloud:ecs:SecurityGroup
        name: default
        properties:
          name: ${name}
          vpcId: ${defaultNetwork.id}
      defaultRole:
        type: alicloud:ram:Role
        name: default
        properties:
          name: ${name}
          document: |2
                {
                    "Statement": [
                    {
                        "Action": "sts:AssumeRole",
                        "Effect": "Allow",
                        "Principal": {
                        "Service": [
                            "emr.aliyuncs.com",
                            "ecs.aliyuncs.com"
                        ]
                        }
                    }
                    ],
                    "Version": "1"
                }
          description: this is a role example.
          force: true
      defaultCluster:
        type: alicloud:emrv2:Cluster
        name: default
        properties:
          nodeGroups:
            - vswitchIds:
                - ${defaultSwitch.id}
              instanceTypes:
                - ecs.g7.xlarge
              nodeCount: '1'
              spotInstanceRemedy: 'false'
              dataDisks:
                - count: '3'
                  category: cloud_essd
                  size: '80'
                  performanceLevel: PL0
              nodeGroupName: emr-master
              paymentType: PayAsYouGo
              withPublicIp: 'false'
              gracefulShutdown: 'false'
              systemDisk:
                category: cloud_essd
                size: '80'
                performanceLevel: PL0
                count: '1'
              nodeGroupType: MASTER
            - spotInstanceRemedy: 'false'
              deploymentSetStrategy: CLUSTER
              nodeGroupType: CORE
              vswitchIds:
                - ${defaultSwitch.id}
              nodeCount: '2'
              gracefulShutdown: 'false'
              systemDisk:
                performanceLevel: PL0
                count: '1'
                category: cloud_essd
                size: '80'
              dataDisks:
                - count: '3'
                  performanceLevel: PL0
                  category: cloud_essd
                  size: '80'
              nodeGroupName: emr-core
              paymentType: PayAsYouGo
              instanceTypes:
                - ecs.g7.xlarge
              withPublicIp: 'false'
          deployMode: NORMAL
          tags:
            Created: TF
            For: example
          releaseVersion: EMR-5.10.0
          applications:
            - HADOOP-COMMON
            - HDFS
            - YARN
          nodeAttributes:
            - zoneId: ${defaultGetZones.zones[0].id}
              keyPairName: ${defaultEcsKeyPair.id}
              dataDiskEncrypted: 'true'
              dataDiskKmsKeyId: ${defaultGetKeys.ids[0]}
              vpcId: ${defaultNetwork.id}
              ramRole: ${defaultRole.name}
              securityGroupId: ${defaultSecurityGroup.id}
          logCollectStrategy:
            fn::toJSON:
              open:
                - all
              close:
                -
          resourceGroupId: ${default.ids[0]}
          clusterName: ${name}
          paymentType: PayAsYouGo
          clusterType: DATAFLOW
    variables:
      default:
        fn::invoke:
          Function: alicloud:resourcemanager:getResourceGroups
          Arguments:
            status: OK
      defaultGetKeys:
        fn::invoke:
          Function: alicloud:kms:getKeys
          Arguments:
            status: Enabled
      defaultGetZones:
        fn::invoke:
          Function: alicloud:getZones
          Arguments:
            availableInstanceType: ecs.g7.xlarge
    

    Create Cluster Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                node_attributes: Optional[Sequence[ClusterNodeAttributeArgs]] = None,
                applications: Optional[Sequence[str]] = None,
                release_version: Optional[str] = None,
                cluster_name: Optional[str] = None,
                cluster_type: Optional[str] = None,
                node_groups: Optional[Sequence[ClusterNodeGroupArgs]] = None,
                log_collect_strategy: Optional[str] = None,
                application_configs: Optional[Sequence[ClusterApplicationConfigArgs]] = None,
                deploy_mode: Optional[str] = None,
                payment_type: Optional[str] = None,
                bootstrap_scripts: Optional[Sequence[ClusterBootstrapScriptArgs]] = None,
                resource_group_id: Optional[str] = None,
                security_mode: Optional[str] = None,
                subscription_config: Optional[ClusterSubscriptionConfigArgs] = None,
                tags: Optional[Mapping[str, Any]] = None)
    func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
    public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
    public Cluster(String name, ClusterArgs args)
    public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
    
    type: alicloud:emrv2:Cluster
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var exampleclusterResourceResourceFromEmrv2cluster = new AliCloud.Emrv2.Cluster("exampleclusterResourceResourceFromEmrv2cluster", new()
    {
        NodeAttributes = new[]
        {
            new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs
            {
                KeyPairName = "string",
                RamRole = "string",
                SecurityGroupId = "string",
                VpcId = "string",
                ZoneId = "string",
                DataDiskEncrypted = false,
                DataDiskKmsKeyId = "string",
            },
        },
        Applications = new[]
        {
            "string",
        },
        ReleaseVersion = "string",
        ClusterName = "string",
        ClusterType = "string",
        NodeGroups = new[]
        {
            new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs
            {
                NodeCount = 0,
                SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs
                {
                    Category = "string",
                    Size = 0,
                    Count = 0,
                    PerformanceLevel = "string",
                },
                DataDisks = new[]
                {
                    new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs
                    {
                        Category = "string",
                        Size = 0,
                        Count = 0,
                        PerformanceLevel = "string",
                    },
                },
                NodeGroupType = "string",
                NodeGroupName = "string",
                InstanceTypes = new[]
                {
                    "string",
                },
                GracefulShutdown = false,
                AdditionalSecurityGroupIds = new[]
                {
                    "string",
                },
                DeploymentSetStrategy = "string",
                NodeResizeStrategy = "string",
                PaymentType = "string",
                SpotBidPrices = new[]
                {
                    new AliCloud.Emrv2.Inputs.ClusterNodeGroupSpotBidPriceArgs
                    {
                        BidPrice = 0,
                        InstanceType = "string",
                    },
                },
                SpotInstanceRemedy = false,
                SubscriptionConfig = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSubscriptionConfigArgs
                {
                    PaymentDuration = 0,
                    PaymentDurationUnit = "string",
                    AutoPayOrder = false,
                    AutoRenew = false,
                    AutoRenewDuration = 0,
                    AutoRenewDurationUnit = "string",
                },
                CostOptimizedConfig = new AliCloud.Emrv2.Inputs.ClusterNodeGroupCostOptimizedConfigArgs
                {
                    OnDemandBaseCapacity = 0,
                    OnDemandPercentageAboveBaseCapacity = 0,
                    SpotInstancePools = 0,
                },
                VswitchIds = new[]
                {
                    "string",
                },
                WithPublicIp = false,
            },
        },
        LogCollectStrategy = "string",
        ApplicationConfigs = new[]
        {
            new AliCloud.Emrv2.Inputs.ClusterApplicationConfigArgs
            {
                ApplicationName = "string",
                ConfigFileName = "string",
                ConfigItemKey = "string",
                ConfigItemValue = "string",
                ConfigDescription = "string",
                ConfigScope = "string",
                NodeGroupId = "string",
                NodeGroupName = "string",
            },
        },
        DeployMode = "string",
        PaymentType = "string",
        BootstrapScripts = new[]
        {
            new AliCloud.Emrv2.Inputs.ClusterBootstrapScriptArgs
            {
                ExecutionFailStrategy = "string",
                ExecutionMoment = "string",
                NodeSelector = new AliCloud.Emrv2.Inputs.ClusterBootstrapScriptNodeSelectorArgs
                {
                    NodeSelectType = "string",
                    NodeGroupId = "string",
                    NodeGroupName = "string",
                    NodeGroupTypes = new[]
                    {
                        "string",
                    },
                    NodeNames = new[]
                    {
                        "string",
                    },
                },
                ScriptArgs = "string",
                ScriptName = "string",
                ScriptPath = "string",
                Priority = 0,
            },
        },
        ResourceGroupId = "string",
        SecurityMode = "string",
        SubscriptionConfig = new AliCloud.Emrv2.Inputs.ClusterSubscriptionConfigArgs
        {
            PaymentDuration = 0,
            PaymentDurationUnit = "string",
            AutoPayOrder = false,
            AutoRenew = false,
            AutoRenewDuration = 0,
            AutoRenewDurationUnit = "string",
        },
        Tags = 
        {
            { "string", "any" },
        },
    });
    
    example, err := emrv2.NewCluster(ctx, "exampleclusterResourceResourceFromEmrv2cluster", &emrv2.ClusterArgs{
    	NodeAttributes: emrv2.ClusterNodeAttributeArray{
    		&emrv2.ClusterNodeAttributeArgs{
    			KeyPairName:       pulumi.String("string"),
    			RamRole:           pulumi.String("string"),
    			SecurityGroupId:   pulumi.String("string"),
    			VpcId:             pulumi.String("string"),
    			ZoneId:            pulumi.String("string"),
    			DataDiskEncrypted: pulumi.Bool(false),
    			DataDiskKmsKeyId:  pulumi.String("string"),
    		},
    	},
    	Applications: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ReleaseVersion: pulumi.String("string"),
    	ClusterName:    pulumi.String("string"),
    	ClusterType:    pulumi.String("string"),
    	NodeGroups: emrv2.ClusterNodeGroupArray{
    		&emrv2.ClusterNodeGroupArgs{
    			NodeCount: pulumi.Int(0),
    			SystemDisk: &emrv2.ClusterNodeGroupSystemDiskArgs{
    				Category:         pulumi.String("string"),
    				Size:             pulumi.Int(0),
    				Count:            pulumi.Int(0),
    				PerformanceLevel: pulumi.String("string"),
    			},
    			DataDisks: emrv2.ClusterNodeGroupDataDiskArray{
    				&emrv2.ClusterNodeGroupDataDiskArgs{
    					Category:         pulumi.String("string"),
    					Size:             pulumi.Int(0),
    					Count:            pulumi.Int(0),
    					PerformanceLevel: pulumi.String("string"),
    				},
    			},
    			NodeGroupType: pulumi.String("string"),
    			NodeGroupName: pulumi.String("string"),
    			InstanceTypes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			GracefulShutdown: pulumi.Bool(false),
    			AdditionalSecurityGroupIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			DeploymentSetStrategy: pulumi.String("string"),
    			NodeResizeStrategy:    pulumi.String("string"),
    			PaymentType:           pulumi.String("string"),
    			SpotBidPrices: emrv2.ClusterNodeGroupSpotBidPriceArray{
    				&emrv2.ClusterNodeGroupSpotBidPriceArgs{
    					BidPrice:     pulumi.Int(0),
    					InstanceType: pulumi.String("string"),
    				},
    			},
    			SpotInstanceRemedy: pulumi.Bool(false),
    			SubscriptionConfig: &emrv2.ClusterNodeGroupSubscriptionConfigArgs{
    				PaymentDuration:       pulumi.Int(0),
    				PaymentDurationUnit:   pulumi.String("string"),
    				AutoPayOrder:          pulumi.Bool(false),
    				AutoRenew:             pulumi.Bool(false),
    				AutoRenewDuration:     pulumi.Int(0),
    				AutoRenewDurationUnit: pulumi.String("string"),
    			},
    			CostOptimizedConfig: &emrv2.ClusterNodeGroupCostOptimizedConfigArgs{
    				OnDemandBaseCapacity:                pulumi.Int(0),
    				OnDemandPercentageAboveBaseCapacity: pulumi.Int(0),
    				SpotInstancePools:                   pulumi.Int(0),
    			},
    			VswitchIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			WithPublicIp: pulumi.Bool(false),
    		},
    	},
    	LogCollectStrategy: pulumi.String("string"),
    	ApplicationConfigs: emrv2.ClusterApplicationConfigArray{
    		&emrv2.ClusterApplicationConfigArgs{
    			ApplicationName:   pulumi.String("string"),
    			ConfigFileName:    pulumi.String("string"),
    			ConfigItemKey:     pulumi.String("string"),
    			ConfigItemValue:   pulumi.String("string"),
    			ConfigDescription: pulumi.String("string"),
    			ConfigScope:       pulumi.String("string"),
    			NodeGroupId:       pulumi.String("string"),
    			NodeGroupName:     pulumi.String("string"),
    		},
    	},
    	DeployMode:  pulumi.String("string"),
    	PaymentType: pulumi.String("string"),
    	BootstrapScripts: emrv2.ClusterBootstrapScriptArray{
    		&emrv2.ClusterBootstrapScriptArgs{
    			ExecutionFailStrategy: pulumi.String("string"),
    			ExecutionMoment:       pulumi.String("string"),
    			NodeSelector: &emrv2.ClusterBootstrapScriptNodeSelectorArgs{
    				NodeSelectType: pulumi.String("string"),
    				NodeGroupId:    pulumi.String("string"),
    				NodeGroupName:  pulumi.String("string"),
    				NodeGroupTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NodeNames: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			ScriptArgs: pulumi.String("string"),
    			ScriptName: pulumi.String("string"),
    			ScriptPath: pulumi.String("string"),
    			Priority:   pulumi.Int(0),
    		},
    	},
    	ResourceGroupId: pulumi.String("string"),
    	SecurityMode:    pulumi.String("string"),
    	SubscriptionConfig: &emrv2.ClusterSubscriptionConfigArgs{
    		PaymentDuration:       pulumi.Int(0),
    		PaymentDurationUnit:   pulumi.String("string"),
    		AutoPayOrder:          pulumi.Bool(false),
    		AutoRenew:             pulumi.Bool(false),
    		AutoRenewDuration:     pulumi.Int(0),
    		AutoRenewDurationUnit: pulumi.String("string"),
    	},
    	Tags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    })
    
    var exampleclusterResourceResourceFromEmrv2cluster = new Cluster("exampleclusterResourceResourceFromEmrv2cluster", ClusterArgs.builder()        
        .nodeAttributes(ClusterNodeAttributeArgs.builder()
            .keyPairName("string")
            .ramRole("string")
            .securityGroupId("string")
            .vpcId("string")
            .zoneId("string")
            .dataDiskEncrypted(false)
            .dataDiskKmsKeyId("string")
            .build())
        .applications("string")
        .releaseVersion("string")
        .clusterName("string")
        .clusterType("string")
        .nodeGroups(ClusterNodeGroupArgs.builder()
            .nodeCount(0)
            .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()
                .category("string")
                .size(0)
                .count(0)
                .performanceLevel("string")
                .build())
            .dataDisks(ClusterNodeGroupDataDiskArgs.builder()
                .category("string")
                .size(0)
                .count(0)
                .performanceLevel("string")
                .build())
            .nodeGroupType("string")
            .nodeGroupName("string")
            .instanceTypes("string")
            .gracefulShutdown(false)
            .additionalSecurityGroupIds("string")
            .deploymentSetStrategy("string")
            .nodeResizeStrategy("string")
            .paymentType("string")
            .spotBidPrices(ClusterNodeGroupSpotBidPriceArgs.builder()
                .bidPrice(0)
                .instanceType("string")
                .build())
            .spotInstanceRemedy(false)
            .subscriptionConfig(ClusterNodeGroupSubscriptionConfigArgs.builder()
                .paymentDuration(0)
                .paymentDurationUnit("string")
                .autoPayOrder(false)
                .autoRenew(false)
                .autoRenewDuration(0)
                .autoRenewDurationUnit("string")
                .build())
            .costOptimizedConfig(ClusterNodeGroupCostOptimizedConfigArgs.builder()
                .onDemandBaseCapacity(0)
                .onDemandPercentageAboveBaseCapacity(0)
                .spotInstancePools(0)
                .build())
            .vswitchIds("string")
            .withPublicIp(false)
            .build())
        .logCollectStrategy("string")
        .applicationConfigs(ClusterApplicationConfigArgs.builder()
            .applicationName("string")
            .configFileName("string")
            .configItemKey("string")
            .configItemValue("string")
            .configDescription("string")
            .configScope("string")
            .nodeGroupId("string")
            .nodeGroupName("string")
            .build())
        .deployMode("string")
        .paymentType("string")
        .bootstrapScripts(ClusterBootstrapScriptArgs.builder()
            .executionFailStrategy("string")
            .executionMoment("string")
            .nodeSelector(ClusterBootstrapScriptNodeSelectorArgs.builder()
                .nodeSelectType("string")
                .nodeGroupId("string")
                .nodeGroupName("string")
                .nodeGroupTypes("string")
                .nodeNames("string")
                .build())
            .scriptArgs("string")
            .scriptName("string")
            .scriptPath("string")
            .priority(0)
            .build())
        .resourceGroupId("string")
        .securityMode("string")
        .subscriptionConfig(ClusterSubscriptionConfigArgs.builder()
            .paymentDuration(0)
            .paymentDurationUnit("string")
            .autoPayOrder(false)
            .autoRenew(false)
            .autoRenewDuration(0)
            .autoRenewDurationUnit("string")
            .build())
        .tags(Map.of("string", "any"))
        .build());
    
    examplecluster_resource_resource_from_emrv2cluster = alicloud.emrv2.Cluster("exampleclusterResourceResourceFromEmrv2cluster",
        node_attributes=[alicloud.emrv2.ClusterNodeAttributeArgs(
            key_pair_name="string",
            ram_role="string",
            security_group_id="string",
            vpc_id="string",
            zone_id="string",
            data_disk_encrypted=False,
            data_disk_kms_key_id="string",
        )],
        applications=["string"],
        release_version="string",
        cluster_name="string",
        cluster_type="string",
        node_groups=[alicloud.emrv2.ClusterNodeGroupArgs(
            node_count=0,
            system_disk=alicloud.emrv2.ClusterNodeGroupSystemDiskArgs(
                category="string",
                size=0,
                count=0,
                performance_level="string",
            ),
            data_disks=[alicloud.emrv2.ClusterNodeGroupDataDiskArgs(
                category="string",
                size=0,
                count=0,
                performance_level="string",
            )],
            node_group_type="string",
            node_group_name="string",
            instance_types=["string"],
            graceful_shutdown=False,
            additional_security_group_ids=["string"],
            deployment_set_strategy="string",
            node_resize_strategy="string",
            payment_type="string",
            spot_bid_prices=[alicloud.emrv2.ClusterNodeGroupSpotBidPriceArgs(
                bid_price=0,
                instance_type="string",
            )],
            spot_instance_remedy=False,
            subscription_config=alicloud.emrv2.ClusterNodeGroupSubscriptionConfigArgs(
                payment_duration=0,
                payment_duration_unit="string",
                auto_pay_order=False,
                auto_renew=False,
                auto_renew_duration=0,
                auto_renew_duration_unit="string",
            ),
            cost_optimized_config=alicloud.emrv2.ClusterNodeGroupCostOptimizedConfigArgs(
                on_demand_base_capacity=0,
                on_demand_percentage_above_base_capacity=0,
                spot_instance_pools=0,
            ),
            vswitch_ids=["string"],
            with_public_ip=False,
        )],
        log_collect_strategy="string",
        application_configs=[alicloud.emrv2.ClusterApplicationConfigArgs(
            application_name="string",
            config_file_name="string",
            config_item_key="string",
            config_item_value="string",
            config_description="string",
            config_scope="string",
            node_group_id="string",
            node_group_name="string",
        )],
        deploy_mode="string",
        payment_type="string",
        bootstrap_scripts=[alicloud.emrv2.ClusterBootstrapScriptArgs(
            execution_fail_strategy="string",
            execution_moment="string",
            node_selector=alicloud.emrv2.ClusterBootstrapScriptNodeSelectorArgs(
                node_select_type="string",
                node_group_id="string",
                node_group_name="string",
                node_group_types=["string"],
                node_names=["string"],
            ),
            script_args="string",
            script_name="string",
            script_path="string",
            priority=0,
        )],
        resource_group_id="string",
        security_mode="string",
        subscription_config=alicloud.emrv2.ClusterSubscriptionConfigArgs(
            payment_duration=0,
            payment_duration_unit="string",
            auto_pay_order=False,
            auto_renew=False,
            auto_renew_duration=0,
            auto_renew_duration_unit="string",
        ),
        tags={
            "string": "any",
        })
    
    const exampleclusterResourceResourceFromEmrv2cluster = new alicloud.emrv2.Cluster("exampleclusterResourceResourceFromEmrv2cluster", {
        nodeAttributes: [{
            keyPairName: "string",
            ramRole: "string",
            securityGroupId: "string",
            vpcId: "string",
            zoneId: "string",
            dataDiskEncrypted: false,
            dataDiskKmsKeyId: "string",
        }],
        applications: ["string"],
        releaseVersion: "string",
        clusterName: "string",
        clusterType: "string",
        nodeGroups: [{
            nodeCount: 0,
            systemDisk: {
                category: "string",
                size: 0,
                count: 0,
                performanceLevel: "string",
            },
            dataDisks: [{
                category: "string",
                size: 0,
                count: 0,
                performanceLevel: "string",
            }],
            nodeGroupType: "string",
            nodeGroupName: "string",
            instanceTypes: ["string"],
            gracefulShutdown: false,
            additionalSecurityGroupIds: ["string"],
            deploymentSetStrategy: "string",
            nodeResizeStrategy: "string",
            paymentType: "string",
            spotBidPrices: [{
                bidPrice: 0,
                instanceType: "string",
            }],
            spotInstanceRemedy: false,
            subscriptionConfig: {
                paymentDuration: 0,
                paymentDurationUnit: "string",
                autoPayOrder: false,
                autoRenew: false,
                autoRenewDuration: 0,
                autoRenewDurationUnit: "string",
            },
            costOptimizedConfig: {
                onDemandBaseCapacity: 0,
                onDemandPercentageAboveBaseCapacity: 0,
                spotInstancePools: 0,
            },
            vswitchIds: ["string"],
            withPublicIp: false,
        }],
        logCollectStrategy: "string",
        applicationConfigs: [{
            applicationName: "string",
            configFileName: "string",
            configItemKey: "string",
            configItemValue: "string",
            configDescription: "string",
            configScope: "string",
            nodeGroupId: "string",
            nodeGroupName: "string",
        }],
        deployMode: "string",
        paymentType: "string",
        bootstrapScripts: [{
            executionFailStrategy: "string",
            executionMoment: "string",
            nodeSelector: {
                nodeSelectType: "string",
                nodeGroupId: "string",
                nodeGroupName: "string",
                nodeGroupTypes: ["string"],
                nodeNames: ["string"],
            },
            scriptArgs: "string",
            scriptName: "string",
            scriptPath: "string",
            priority: 0,
        }],
        resourceGroupId: "string",
        securityMode: "string",
        subscriptionConfig: {
            paymentDuration: 0,
            paymentDurationUnit: "string",
            autoPayOrder: false,
            autoRenew: false,
            autoRenewDuration: 0,
            autoRenewDurationUnit: "string",
        },
        tags: {
            string: "any",
        },
    });
    
    type: alicloud:emrv2:Cluster
    properties:
        applicationConfigs:
            - applicationName: string
              configDescription: string
              configFileName: string
              configItemKey: string
              configItemValue: string
              configScope: string
              nodeGroupId: string
              nodeGroupName: string
        applications:
            - string
        bootstrapScripts:
            - executionFailStrategy: string
              executionMoment: string
              nodeSelector:
                nodeGroupId: string
                nodeGroupName: string
                nodeGroupTypes:
                    - string
                nodeNames:
                    - string
                nodeSelectType: string
              priority: 0
              scriptArgs: string
              scriptName: string
              scriptPath: string
        clusterName: string
        clusterType: string
        deployMode: string
        logCollectStrategy: string
        nodeAttributes:
            - dataDiskEncrypted: false
              dataDiskKmsKeyId: string
              keyPairName: string
              ramRole: string
              securityGroupId: string
              vpcId: string
              zoneId: string
        nodeGroups:
            - additionalSecurityGroupIds:
                - string
              costOptimizedConfig:
                onDemandBaseCapacity: 0
                onDemandPercentageAboveBaseCapacity: 0
                spotInstancePools: 0
              dataDisks:
                - category: string
                  count: 0
                  performanceLevel: string
                  size: 0
              deploymentSetStrategy: string
              gracefulShutdown: false
              instanceTypes:
                - string
              nodeCount: 0
              nodeGroupName: string
              nodeGroupType: string
              nodeResizeStrategy: string
              paymentType: string
              spotBidPrices:
                - bidPrice: 0
                  instanceType: string
              spotInstanceRemedy: false
              subscriptionConfig:
                autoPayOrder: false
                autoRenew: false
                autoRenewDuration: 0
                autoRenewDurationUnit: string
                paymentDuration: 0
                paymentDurationUnit: string
              systemDisk:
                category: string
                count: 0
                performanceLevel: string
                size: 0
              vswitchIds:
                - string
              withPublicIp: false
        paymentType: string
        releaseVersion: string
        resourceGroupId: string
        securityMode: string
        subscriptionConfig:
            autoPayOrder: false
            autoRenew: false
            autoRenewDuration: 0
            autoRenewDurationUnit: string
            paymentDuration: 0
            paymentDurationUnit: string
        tags:
            string: any
    

    Cluster Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Cluster resource accepts the following input properties:

    Applications List<string>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    ClusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    ClusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    NodeAttributes List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeAttribute>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    NodeGroups List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroup>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    ReleaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    ApplicationConfigs List<Pulumi.AliCloud.Emrv2.Inputs.ClusterApplicationConfig>
    The application configurations of EMR cluster. See application_configs below.
    BootstrapScripts List<Pulumi.AliCloud.Emrv2.Inputs.ClusterBootstrapScript>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    DeployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    LogCollectStrategy string
    The log collect strategy of EMR cluster.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    ResourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    SecurityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    SubscriptionConfig Pulumi.AliCloud.Emrv2.Inputs.ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    Tags Dictionary<string, object>
    A mapping of tags to assign to the resource.
    Applications []string
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    ClusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    ClusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    NodeAttributes []ClusterNodeAttributeArgs
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    NodeGroups []ClusterNodeGroupArgs
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    ReleaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    ApplicationConfigs []ClusterApplicationConfigArgs
    The application configurations of EMR cluster. See application_configs below.
    BootstrapScripts []ClusterBootstrapScriptArgs
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    DeployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    LogCollectStrategy string
    The log collect strategy of EMR cluster.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    ResourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    SecurityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    SubscriptionConfig ClusterSubscriptionConfigArgs
    The detail configuration of subscription payment type. See subscription_config below.
    Tags map[string]interface{}
    A mapping of tags to assign to the resource.
    applications List<String>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    clusterName String
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType String
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    nodeAttributes List<ClusterNodeAttribute>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups List<ClusterNodeGroup>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    releaseVersion String
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    applicationConfigs List<ClusterApplicationConfig>
    The application configurations of EMR cluster. See application_configs below.
    bootstrapScripts List<ClusterBootstrapScript>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    deployMode String
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy String
    The log collect strategy of EMR cluster.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    resourceGroupId String
    The Id of resource group which the emr-cluster belongs.
    securityMode String
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    tags Map<String,Object>
    A mapping of tags to assign to the resource.
    applications string[]
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    clusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    nodeAttributes ClusterNodeAttribute[]
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups ClusterNodeGroup[]
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    releaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    applicationConfigs ClusterApplicationConfig[]
    The application configurations of EMR cluster. See application_configs below.
    bootstrapScripts ClusterBootstrapScript[]
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    deployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy string
    The log collect strategy of EMR cluster.
    paymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    resourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    securityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    tags {[key: string]: any}
    A mapping of tags to assign to the resource.
    applications Sequence[str]
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    cluster_name str
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    cluster_type str
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    node_attributes Sequence[ClusterNodeAttributeArgs]
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    node_groups Sequence[ClusterNodeGroupArgs]
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    release_version str
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    application_configs Sequence[ClusterApplicationConfigArgs]
    The application configurations of EMR cluster. See application_configs below.
    bootstrap_scripts Sequence[ClusterBootstrapScriptArgs]
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    deploy_mode str
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    log_collect_strategy str
    The log collect strategy of EMR cluster.
    payment_type str
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    resource_group_id str
    The Id of resource group which the emr-cluster belongs.
    security_mode str
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscription_config ClusterSubscriptionConfigArgs
    The detail configuration of subscription payment type. See subscription_config below.
    tags Mapping[str, Any]
    A mapping of tags to assign to the resource.
    applications List<String>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    clusterName String
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType String
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    nodeAttributes List<Property Map>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups List<Property Map>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    releaseVersion String
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    applicationConfigs List<Property Map>
    The application configurations of EMR cluster. See application_configs below.
    bootstrapScripts List<Property Map>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    deployMode String
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy String
    The log collect strategy of EMR cluster.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    resourceGroupId String
    The Id of resource group which the emr-cluster belongs.
    securityMode String
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig Property Map
    The detail configuration of subscription payment type. See subscription_config below.
    tags Map<Any>
    A mapping of tags to assign to the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Cluster Resource

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

    public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_configs: Optional[Sequence[ClusterApplicationConfigArgs]] = None,
            applications: Optional[Sequence[str]] = None,
            bootstrap_scripts: Optional[Sequence[ClusterBootstrapScriptArgs]] = None,
            cluster_name: Optional[str] = None,
            cluster_type: Optional[str] = None,
            deploy_mode: Optional[str] = None,
            log_collect_strategy: Optional[str] = None,
            node_attributes: Optional[Sequence[ClusterNodeAttributeArgs]] = None,
            node_groups: Optional[Sequence[ClusterNodeGroupArgs]] = None,
            payment_type: Optional[str] = None,
            release_version: Optional[str] = None,
            resource_group_id: Optional[str] = None,
            security_mode: Optional[str] = None,
            subscription_config: Optional[ClusterSubscriptionConfigArgs] = None,
            tags: Optional[Mapping[str, Any]] = None) -> Cluster
    func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
    public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
    public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ApplicationConfigs List<Pulumi.AliCloud.Emrv2.Inputs.ClusterApplicationConfig>
    The application configurations of EMR cluster. See application_configs below.
    Applications List<string>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    BootstrapScripts List<Pulumi.AliCloud.Emrv2.Inputs.ClusterBootstrapScript>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    ClusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    ClusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    DeployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    LogCollectStrategy string
    The log collect strategy of EMR cluster.
    NodeAttributes List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeAttribute>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    NodeGroups List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroup>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    ReleaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    ResourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    SecurityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    SubscriptionConfig Pulumi.AliCloud.Emrv2.Inputs.ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    Tags Dictionary<string, object>
    A mapping of tags to assign to the resource.
    ApplicationConfigs []ClusterApplicationConfigArgs
    The application configurations of EMR cluster. See application_configs below.
    Applications []string
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    BootstrapScripts []ClusterBootstrapScriptArgs
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    ClusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    ClusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    DeployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    LogCollectStrategy string
    The log collect strategy of EMR cluster.
    NodeAttributes []ClusterNodeAttributeArgs
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    NodeGroups []ClusterNodeGroupArgs
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    ReleaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    ResourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    SecurityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    SubscriptionConfig ClusterSubscriptionConfigArgs
    The detail configuration of subscription payment type. See subscription_config below.
    Tags map[string]interface{}
    A mapping of tags to assign to the resource.
    applicationConfigs List<ClusterApplicationConfig>
    The application configurations of EMR cluster. See application_configs below.
    applications List<String>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    bootstrapScripts List<ClusterBootstrapScript>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    clusterName String
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType String
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    deployMode String
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy String
    The log collect strategy of EMR cluster.
    nodeAttributes List<ClusterNodeAttribute>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups List<ClusterNodeGroup>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    releaseVersion String
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    resourceGroupId String
    The Id of resource group which the emr-cluster belongs.
    securityMode String
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    tags Map<String,Object>
    A mapping of tags to assign to the resource.
    applicationConfigs ClusterApplicationConfig[]
    The application configurations of EMR cluster. See application_configs below.
    applications string[]
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    bootstrapScripts ClusterBootstrapScript[]
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    clusterName string
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType string
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    deployMode string
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy string
    The log collect strategy of EMR cluster.
    nodeAttributes ClusterNodeAttribute[]
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups ClusterNodeGroup[]
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    paymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    releaseVersion string
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    resourceGroupId string
    The Id of resource group which the emr-cluster belongs.
    securityMode string
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig ClusterSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    tags {[key: string]: any}
    A mapping of tags to assign to the resource.
    application_configs Sequence[ClusterApplicationConfigArgs]
    The application configurations of EMR cluster. See application_configs below.
    applications Sequence[str]
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    bootstrap_scripts Sequence[ClusterBootstrapScriptArgs]
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    cluster_name str
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    cluster_type str
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    deploy_mode str
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    log_collect_strategy str
    The log collect strategy of EMR cluster.
    node_attributes Sequence[ClusterNodeAttributeArgs]
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    node_groups Sequence[ClusterNodeGroupArgs]
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    payment_type str
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    release_version str
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    resource_group_id str
    The Id of resource group which the emr-cluster belongs.
    security_mode str
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscription_config ClusterSubscriptionConfigArgs
    The detail configuration of subscription payment type. See subscription_config below.
    tags Mapping[str, Any]
    A mapping of tags to assign to the resource.
    applicationConfigs List<Property Map>
    The application configurations of EMR cluster. See application_configs below.
    applications List<String>
    The applications of EMR cluster to be installed, e.g. HADOOP-COMMON, HDFS, YARN, HIVE, SPARK2, SPARK3, ZOOKEEPER etc. You can find all valid applications in emr web console.
    bootstrapScripts List<Property Map>
    The bootstrap scripts to be effected when creating emr-cluster or resize emr-cluster. See bootstrap_scripts below.
    clusterName String
    The name of emr cluster. The name length must be less than 64. Supported characters: chinese character, english character, number, "-", "_".
    clusterType String
    EMR Cluster Type, e.g. DATALAKE, OLAP, DATAFLOW, DATASERVING, CUSTOM etc. You can find all valid EMR cluster type in emr web console.
    deployMode String
    The deploy mode of EMR cluster. Supported value: NORMAL or HA.
    logCollectStrategy String
    The log collect strategy of EMR cluster.
    nodeAttributes List<Property Map>
    The node attributes of ecs instances which the emr-cluster belongs. See node_attributes below.
    nodeGroups List<Property Map>
    Groups of node, You can specify MASTER as a group, CORE as a group (just like the above example). See node_groups below.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    releaseVersion String
    EMR Version, e.g. EMR-5.10.0. You can find the all valid EMR Version in emr web console.
    resourceGroupId String
    The Id of resource group which the emr-cluster belongs.
    securityMode String
    The security mode of EMR cluster. Supported value: NORMAL or KERBEROS.
    subscriptionConfig Property Map
    The detail configuration of subscription payment type. See subscription_config below.
    tags Map<Any>
    A mapping of tags to assign to the resource.

    Supporting Types

    ClusterApplicationConfig, ClusterApplicationConfigArgs

    ApplicationName string
    The application name of EMR cluster which has installed.
    ConfigFileName string
    The configuration file name of application installed.
    ConfigItemKey string
    The configuration item key of application installed.
    ConfigItemValue string
    The configuration item value of application installed.
    ConfigDescription string
    The configuration description of application installed.
    ConfigScope string
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    NodeGroupId string
    The configuration effected which node group id of emr cluster.
    NodeGroupName string
    The configuration effected which node group name of emr cluster.
    ApplicationName string
    The application name of EMR cluster which has installed.
    ConfigFileName string
    The configuration file name of application installed.
    ConfigItemKey string
    The configuration item key of application installed.
    ConfigItemValue string
    The configuration item value of application installed.
    ConfigDescription string
    The configuration description of application installed.
    ConfigScope string
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    NodeGroupId string
    The configuration effected which node group id of emr cluster.
    NodeGroupName string
    The configuration effected which node group name of emr cluster.
    applicationName String
    The application name of EMR cluster which has installed.
    configFileName String
    The configuration file name of application installed.
    configItemKey String
    The configuration item key of application installed.
    configItemValue String
    The configuration item value of application installed.
    configDescription String
    The configuration description of application installed.
    configScope String
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    nodeGroupId String
    The configuration effected which node group id of emr cluster.
    nodeGroupName String
    The configuration effected which node group name of emr cluster.
    applicationName string
    The application name of EMR cluster which has installed.
    configFileName string
    The configuration file name of application installed.
    configItemKey string
    The configuration item key of application installed.
    configItemValue string
    The configuration item value of application installed.
    configDescription string
    The configuration description of application installed.
    configScope string
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    nodeGroupId string
    The configuration effected which node group id of emr cluster.
    nodeGroupName string
    The configuration effected which node group name of emr cluster.
    application_name str
    The application name of EMR cluster which has installed.
    config_file_name str
    The configuration file name of application installed.
    config_item_key str
    The configuration item key of application installed.
    config_item_value str
    The configuration item value of application installed.
    config_description str
    The configuration description of application installed.
    config_scope str
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    node_group_id str
    The configuration effected which node group id of emr cluster.
    node_group_name str
    The configuration effected which node group name of emr cluster.
    applicationName String
    The application name of EMR cluster which has installed.
    configFileName String
    The configuration file name of application installed.
    configItemKey String
    The configuration item key of application installed.
    configItemValue String
    The configuration item value of application installed.
    configDescription String
    The configuration description of application installed.
    configScope String
    The configuration scope of emr cluster. Supported value: CLUSTER or NODEGROUP.
    nodeGroupId String
    The configuration effected which node group id of emr cluster.
    nodeGroupName String
    The configuration effected which node group name of emr cluster.

    ClusterBootstrapScript, ClusterBootstrapScriptArgs

    ExecutionFailStrategy string
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    ExecutionMoment string
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    NodeSelector Pulumi.AliCloud.Emrv2.Inputs.ClusterBootstrapScriptNodeSelector
    The bootstrap scripts execution target. See node_selector below.
    ScriptArgs string
    The bootstrap script args, e.g. "--a=b".
    ScriptName string
    The bootstrap script name.
    ScriptPath string
    The bootstrap script path, e.g. "oss://bucket/path".
    Priority int
    The bootstrap scripts priority.
    ExecutionFailStrategy string
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    ExecutionMoment string
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    NodeSelector ClusterBootstrapScriptNodeSelector
    The bootstrap scripts execution target. See node_selector below.
    ScriptArgs string
    The bootstrap script args, e.g. "--a=b".
    ScriptName string
    The bootstrap script name.
    ScriptPath string
    The bootstrap script path, e.g. "oss://bucket/path".
    Priority int
    The bootstrap scripts priority.
    executionFailStrategy String
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    executionMoment String
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    nodeSelector ClusterBootstrapScriptNodeSelector
    The bootstrap scripts execution target. See node_selector below.
    scriptArgs String
    The bootstrap script args, e.g. "--a=b".
    scriptName String
    The bootstrap script name.
    scriptPath String
    The bootstrap script path, e.g. "oss://bucket/path".
    priority Integer
    The bootstrap scripts priority.
    executionFailStrategy string
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    executionMoment string
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    nodeSelector ClusterBootstrapScriptNodeSelector
    The bootstrap scripts execution target. See node_selector below.
    scriptArgs string
    The bootstrap script args, e.g. "--a=b".
    scriptName string
    The bootstrap script name.
    scriptPath string
    The bootstrap script path, e.g. "oss://bucket/path".
    priority number
    The bootstrap scripts priority.
    execution_fail_strategy str
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    execution_moment str
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    node_selector ClusterBootstrapScriptNodeSelector
    The bootstrap scripts execution target. See node_selector below.
    script_args str
    The bootstrap script args, e.g. "--a=b".
    script_name str
    The bootstrap script name.
    script_path str
    The bootstrap script path, e.g. "oss://bucket/path".
    priority int
    The bootstrap scripts priority.
    executionFailStrategy String
    The bootstrap scripts execution fail strategy, ’FAILED_BLOCKED’ or ‘FAILED_CONTINUE’ .
    executionMoment String
    The bootstrap scripts execution moment, ’BEFORE_INSTALL’ or ‘AFTER_STARTED’ .
    nodeSelector Property Map
    The bootstrap scripts execution target. See node_selector below.
    scriptArgs String
    The bootstrap script args, e.g. "--a=b".
    scriptName String
    The bootstrap script name.
    scriptPath String
    The bootstrap script path, e.g. "oss://bucket/path".
    priority Number
    The bootstrap scripts priority.

    ClusterBootstrapScriptNodeSelector, ClusterBootstrapScriptNodeSelectorArgs

    NodeSelectType string
    NodeGroupId string
    NodeGroupName string
    NodeGroupTypes List<string>
    NodeNames List<string>
    nodeSelectType String
    nodeGroupId String
    nodeGroupName String
    nodeGroupTypes List<String>
    nodeNames List<String>
    nodeSelectType String
    nodeGroupId String
    nodeGroupName String
    nodeGroupTypes List<String>
    nodeNames List<String>

    ClusterNodeAttribute, ClusterNodeAttributeArgs

    KeyPairName string
    The name of the key pair.
    RamRole string
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    SecurityGroupId string
    Security Group ID for Cluster.
    VpcId string
    Used to retrieve instances belong to specified VPC.
    ZoneId string
    Zone ID, e.g. cn-hangzhou-i
    DataDiskEncrypted bool
    Whether to enable data disk encryption.
    DataDiskKmsKeyId string
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
    KeyPairName string
    The name of the key pair.
    RamRole string
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    SecurityGroupId string
    Security Group ID for Cluster.
    VpcId string
    Used to retrieve instances belong to specified VPC.
    ZoneId string
    Zone ID, e.g. cn-hangzhou-i
    DataDiskEncrypted bool
    Whether to enable data disk encryption.
    DataDiskKmsKeyId string
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
    keyPairName String
    The name of the key pair.
    ramRole String
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    securityGroupId String
    Security Group ID for Cluster.
    vpcId String
    Used to retrieve instances belong to specified VPC.
    zoneId String
    Zone ID, e.g. cn-hangzhou-i
    dataDiskEncrypted Boolean
    Whether to enable data disk encryption.
    dataDiskKmsKeyId String
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
    keyPairName string
    The name of the key pair.
    ramRole string
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    securityGroupId string
    Security Group ID for Cluster.
    vpcId string
    Used to retrieve instances belong to specified VPC.
    zoneId string
    Zone ID, e.g. cn-hangzhou-i
    dataDiskEncrypted boolean
    Whether to enable data disk encryption.
    dataDiskKmsKeyId string
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
    key_pair_name str
    The name of the key pair.
    ram_role str
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    security_group_id str
    Security Group ID for Cluster.
    vpc_id str
    Used to retrieve instances belong to specified VPC.
    zone_id str
    Zone ID, e.g. cn-hangzhou-i
    data_disk_encrypted bool
    Whether to enable data disk encryption.
    data_disk_kms_key_id str
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
    keyPairName String
    The name of the key pair.
    ramRole String
    Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
    securityGroupId String
    Security Group ID for Cluster.
    vpcId String
    Used to retrieve instances belong to specified VPC.
    zoneId String
    Zone ID, e.g. cn-hangzhou-i
    dataDiskEncrypted Boolean
    Whether to enable data disk encryption.
    dataDiskKmsKeyId String
    The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.

    ClusterNodeGroup, ClusterNodeGroupArgs

    DataDisks List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDisk>
    Host Ecs data disks information in this node group. See data_disks below.
    InstanceTypes List<string>
    Host Ecs instance types.
    NodeCount int
    Host Ecs number in this node group.
    NodeGroupName string
    The node group name of emr cluster.
    NodeGroupType string
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    SystemDisk Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDisk
    Host Ecs system disk information in this node group. See system_disk below.
    AdditionalSecurityGroupIds List<string>
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    CostOptimizedConfig Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroupCostOptimizedConfig
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    DeploymentSetStrategy string
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    GracefulShutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    NodeResizeStrategy string
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    SpotBidPrices List<Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroupSpotBidPrice>
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    SpotInstanceRemedy bool
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    SubscriptionConfig Pulumi.AliCloud.Emrv2.Inputs.ClusterNodeGroupSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    VswitchIds List<string>
    Global vSwitch ids, you can also specify it in node group.
    WithPublicIp bool
    Whether the node has a public IP address enabled.
    DataDisks []ClusterNodeGroupDataDisk
    Host Ecs data disks information in this node group. See data_disks below.
    InstanceTypes []string
    Host Ecs instance types.
    NodeCount int
    Host Ecs number in this node group.
    NodeGroupName string
    The node group name of emr cluster.
    NodeGroupType string
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    SystemDisk ClusterNodeGroupSystemDisk
    Host Ecs system disk information in this node group. See system_disk below.
    AdditionalSecurityGroupIds []string
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    CostOptimizedConfig ClusterNodeGroupCostOptimizedConfig
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    DeploymentSetStrategy string
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    GracefulShutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    NodeResizeStrategy string
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    PaymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    SpotBidPrices []ClusterNodeGroupSpotBidPrice
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    SpotInstanceRemedy bool
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    SubscriptionConfig ClusterNodeGroupSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    VswitchIds []string
    Global vSwitch ids, you can also specify it in node group.
    WithPublicIp bool
    Whether the node has a public IP address enabled.
    dataDisks List<ClusterNodeGroupDataDisk>
    Host Ecs data disks information in this node group. See data_disks below.
    instanceTypes List<String>
    Host Ecs instance types.
    nodeCount Integer
    Host Ecs number in this node group.
    nodeGroupName String
    The node group name of emr cluster.
    nodeGroupType String
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    systemDisk ClusterNodeGroupSystemDisk
    Host Ecs system disk information in this node group. See system_disk below.
    additionalSecurityGroupIds List<String>
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    costOptimizedConfig ClusterNodeGroupCostOptimizedConfig
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    deploymentSetStrategy String
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    gracefulShutdown Boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    nodeResizeStrategy String
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    spotBidPrices List<ClusterNodeGroupSpotBidPrice>
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    spotInstanceRemedy Boolean
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    subscriptionConfig ClusterNodeGroupSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    vswitchIds List<String>
    Global vSwitch ids, you can also specify it in node group.
    withPublicIp Boolean
    Whether the node has a public IP address enabled.
    dataDisks ClusterNodeGroupDataDisk[]
    Host Ecs data disks information in this node group. See data_disks below.
    instanceTypes string[]
    Host Ecs instance types.
    nodeCount number
    Host Ecs number in this node group.
    nodeGroupName string
    The node group name of emr cluster.
    nodeGroupType string
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    systemDisk ClusterNodeGroupSystemDisk
    Host Ecs system disk information in this node group. See system_disk below.
    additionalSecurityGroupIds string[]
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    costOptimizedConfig ClusterNodeGroupCostOptimizedConfig
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    deploymentSetStrategy string
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    gracefulShutdown boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    nodeResizeStrategy string
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    paymentType string
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    spotBidPrices ClusterNodeGroupSpotBidPrice[]
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    spotInstanceRemedy boolean
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    subscriptionConfig ClusterNodeGroupSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    vswitchIds string[]
    Global vSwitch ids, you can also specify it in node group.
    withPublicIp boolean
    Whether the node has a public IP address enabled.
    data_disks Sequence[ClusterNodeGroupDataDisk]
    Host Ecs data disks information in this node group. See data_disks below.
    instance_types Sequence[str]
    Host Ecs instance types.
    node_count int
    Host Ecs number in this node group.
    node_group_name str
    The node group name of emr cluster.
    node_group_type str
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    system_disk ClusterNodeGroupSystemDisk
    Host Ecs system disk information in this node group. See system_disk below.
    additional_security_group_ids Sequence[str]
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    cost_optimized_config ClusterNodeGroupCostOptimizedConfig
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    deployment_set_strategy str
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    graceful_shutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    node_resize_strategy str
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    payment_type str
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    spot_bid_prices Sequence[ClusterNodeGroupSpotBidPrice]
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    spot_instance_remedy bool
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    subscription_config ClusterNodeGroupSubscriptionConfig
    The detail configuration of subscription payment type. See subscription_config below.
    vswitch_ids Sequence[str]
    Global vSwitch ids, you can also specify it in node group.
    with_public_ip bool
    Whether the node has a public IP address enabled.
    dataDisks List<Property Map>
    Host Ecs data disks information in this node group. See data_disks below.
    instanceTypes List<String>
    Host Ecs instance types.
    nodeCount Number
    Host Ecs number in this node group.
    nodeGroupName String
    The node group name of emr cluster.
    nodeGroupType String
    The node group type of emr cluster, supported value: MASTER, CORE or TASK. Node group type of GATEWAY is available since v1.219.0.
    systemDisk Property Map
    Host Ecs system disk information in this node group. See system_disk below.
    additionalSecurityGroupIds List<String>
    Additional security Group IDS for Cluster, you can also specify this key for each node group.
    costOptimizedConfig Property Map
    The detail cost optimized configuration of emr cluster. See cost_optimized_config below.
    deploymentSetStrategy String
    Deployment set strategy for this cluster node group. Supported value: NONE, CLUSTER or NODE_GROUP.
    gracefulShutdown Boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    nodeResizeStrategy String
    Node resize strategy for this cluster node group. Supported value: PRIORITY, COST_OPTIMIZED.
    paymentType String
    Payment Type for this cluster. Supported value: PayAsYouGo or Subscription.
    spotBidPrices List<Property Map>
    The spot bid prices of a PayAsYouGo instance. See spot_bid_prices below.
    spotInstanceRemedy Boolean
    Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.
    subscriptionConfig Property Map
    The detail configuration of subscription payment type. See subscription_config below.
    vswitchIds List<String>
    Global vSwitch ids, you can also specify it in node group.
    withPublicIp Boolean
    Whether the node has a public IP address enabled.

    ClusterNodeGroupCostOptimizedConfig, ClusterNodeGroupCostOptimizedConfigArgs

    ClusterNodeGroupDataDisk, ClusterNodeGroupDataDiskArgs

    Category string
    Size int
    Count int
    PerformanceLevel string
    Category string
    Size int
    Count int
    PerformanceLevel string
    category String
    size Integer
    count Integer
    performanceLevel String
    category string
    size number
    count number
    performanceLevel string
    category String
    size Number
    count Number
    performanceLevel String

    ClusterNodeGroupSpotBidPrice, ClusterNodeGroupSpotBidPriceArgs

    bidPrice Integer
    instanceType String
    bidPrice number
    instanceType string
    bidPrice Number
    instanceType String

    ClusterNodeGroupSubscriptionConfig, ClusterNodeGroupSubscriptionConfigArgs

    PaymentDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    PaymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    AutoPayOrder bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    AutoRenew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    AutoRenewDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    AutoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    PaymentDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    PaymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    AutoPayOrder bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    AutoRenew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    AutoRenewDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    AutoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration Integer
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder Boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew Boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration Integer
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    payment_duration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    payment_duration_unit str
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    auto_pay_order bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    auto_renew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    auto_renew_duration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    auto_renew_duration_unit str
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration Number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder Boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew Boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration Number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.

    ClusterNodeGroupSystemDisk, ClusterNodeGroupSystemDiskArgs

    Category string
    Size int
    Count int
    PerformanceLevel string
    Category string
    Size int
    Count int
    PerformanceLevel string
    category String
    size Integer
    count Integer
    performanceLevel String
    category string
    size number
    count number
    performanceLevel string
    category String
    size Number
    count Number
    performanceLevel String

    ClusterSubscriptionConfig, ClusterSubscriptionConfigArgs

    PaymentDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    PaymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    AutoPayOrder bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    AutoRenew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    AutoRenewDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    AutoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    PaymentDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    PaymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    AutoPayOrder bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    AutoRenew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    AutoRenewDuration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    AutoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration Integer
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder Boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew Boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration Integer
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit string
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    payment_duration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    payment_duration_unit str
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    auto_pay_order bool
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    auto_renew bool
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    auto_renew_duration int
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    auto_renew_duration_unit str
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    paymentDuration Number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    paymentDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.
    autoPayOrder Boolean
    Auto pay order for payment type of subscription, ’true’ or ‘false’ .
    autoRenew Boolean
    Auto renew for prepaid, ’true’ or ‘false’ . Default value: false.
    autoRenewDuration Number
    If paymentType is Subscription, this should be specified. Supported value: 1、2、3、4、5、6、7、8、9、12、24、36、48.
    autoRenewDurationUnit String
    If paymentType is Subscription, this should be specified. Supported value: Month or Year.

    Import

    Aliclioud E-MapReduce cluster can be imported using the id e.g.

    $ pulumi import alicloud:emrv2/cluster:Cluster default <id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.54.0 published on Wednesday, Apr 24, 2024 by Pulumi