1. Packages
  2. Alibaba Cloud
  3. API Docs
  4. emrv2
  5. Cluster
Alibaba Cloud v3.49.1 published on Wednesday, Feb 28, 2024 by Pulumi

alicloud.emrv2.Cluster

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.49.1 published on Wednesday, Feb 28, 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

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "terraform-example";
        var defaultResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();
    
        var defaultZones = AliCloud.GetZones.Invoke(new()
        {
            AvailableInstanceType = "ecs.g7.xlarge",
        });
    
        var defaultNetwork = new AliCloud.Vpc.Network("defaultNetwork", new()
        {
            VpcName = name,
            CidrBlock = "172.16.0.0/12",
        });
    
        var defaultSwitch = new AliCloud.Vpc.Switch("defaultSwitch", new()
        {
            VpcId = defaultNetwork.Id,
            CidrBlock = "172.16.0.0/21",
            ZoneId = defaultZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
            VswitchName = name,
        });
    
        var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair("defaultEcsKeyPair", new()
        {
            KeyPairName = name,
        });
    
        var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("defaultSecurityGroup", new()
        {
            VpcId = defaultNetwork.Id,
        });
    
        var defaultRole = new AliCloud.Ram.Role("defaultRole", new()
        {
            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("defaultCluster", new()
        {
            PaymentType = "PayAsYouGo",
            ClusterType = "DATALAKE",
            ReleaseVersion = "EMR-5.10.0",
            ClusterName = name,
            DeployMode = "NORMAL",
            SecurityMode = "NORMAL",
            Applications = new[]
            {
                "HADOOP-COMMON",
                "HDFS",
                "YARN",
                "HIVE",
                "SPARK3",
                "TEZ",
            },
            ApplicationConfigs = new[]
            {
                new AliCloud.Emrv2.Inputs.ClusterApplicationConfigArgs
                {
                    ApplicationName = "HIVE",
                    ConfigFileName = "hivemetastore-site.xml",
                    ConfigItemKey = "hive.metastore.type",
                    ConfigItemValue = "DLF",
                    ConfigScope = "CLUSTER",
                },
                new AliCloud.Emrv2.Inputs.ClusterApplicationConfigArgs
                {
                    ApplicationName = "SPARK3",
                    ConfigFileName = "hive-site.xml",
                    ConfigItemKey = "hive.metastore.type",
                    ConfigItemValue = "DLF",
                    ConfigScope = "CLUSTER",
                },
            },
            NodeAttributes = new[]
            {
                new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs
                {
                    RamRole = defaultRole.Name,
                    SecurityGroupId = defaultSecurityGroup.Id,
                    VpcId = defaultNetwork.Id,
                    ZoneId = defaultZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
                    KeyPairName = defaultEcsKeyPair.Id,
                },
            },
            Tags = 
            {
                { "created", "tf" },
            },
            NodeGroups = new[]
            {
                new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs
                {
                    NodeGroupType = "MASTER",
                    NodeGroupName = "emr-master",
                    PaymentType = "PayAsYouGo",
                    VswitchIds = new[]
                    {
                        defaultSwitch.Id,
                    },
                    WithPublicIp = false,
                    InstanceTypes = new[]
                    {
                        "ecs.g7.xlarge",
                    },
                    NodeCount = 1,
                    SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs
                    {
                        Category = "cloud_essd",
                        Size = 80,
                        Count = 1,
                    },
                    DataDisks = new[]
                    {
                        new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs
                        {
                            Category = "cloud_essd",
                            Size = 80,
                            Count = 3,
                        },
                    },
                },
                new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs
                {
                    NodeGroupType = "CORE",
                    NodeGroupName = "emr-core",
                    PaymentType = "PayAsYouGo",
                    VswitchIds = new[]
                    {
                        defaultSwitch.Id,
                    },
                    WithPublicIp = false,
                    InstanceTypes = new[]
                    {
                        "ecs.g7.xlarge",
                    },
                    NodeCount = 3,
                    SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs
                    {
                        Category = "cloud_essd",
                        Size = 80,
                        Count = 1,
                    },
                    DataDisks = new[]
                    {
                        new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs
                        {
                            Category = "cloud_essd",
                            Size = 80,
                            Count = 3,
                        },
                    },
                },
            },
            ResourceGroupId = defaultResourceGroups.Apply(getResourceGroupsResult => getResourceGroupsResult.Ids[0]),
        });
    
    });
    
    package main
    
    import (
    	"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/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/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 := "terraform-example"
    		if param := cfg.Get("name"); param != "" {
    			name = param
    		}
    		defaultResourceGroups, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
    			AvailableInstanceType: pulumi.StringRef("ecs.g7.xlarge"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
    			VpcName:   pulumi.String(name),
    			CidrBlock: pulumi.String("172.16.0.0/12"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
    			VpcId:       defaultNetwork.ID(),
    			CidrBlock:   pulumi.String("172.16.0.0/21"),
    			ZoneId:      *pulumi.String(defaultZones.Zones[0].Id),
    			VswitchName: pulumi.String(name),
    		})
    		if err != nil {
    			return err
    		}
    		defaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, "defaultEcsKeyPair", &ecs.EcsKeyPairArgs{
    			KeyPairName: pulumi.String(name),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "defaultSecurityGroup", &ecs.SecurityGroupArgs{
    			VpcId: defaultNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		defaultRole, err := ram.NewRole(ctx, "defaultRole", &ram.RoleArgs{
    			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
    		}
    		_, err = emrv2.NewCluster(ctx, "defaultCluster", &emrv2.ClusterArgs{
    			PaymentType:    pulumi.String("PayAsYouGo"),
    			ClusterType:    pulumi.String("DATALAKE"),
    			ReleaseVersion: pulumi.String("EMR-5.10.0"),
    			ClusterName:    pulumi.String(name),
    			DeployMode:     pulumi.String("NORMAL"),
    			SecurityMode:   pulumi.String("NORMAL"),
    			Applications: pulumi.StringArray{
    				pulumi.String("HADOOP-COMMON"),
    				pulumi.String("HDFS"),
    				pulumi.String("YARN"),
    				pulumi.String("HIVE"),
    				pulumi.String("SPARK3"),
    				pulumi.String("TEZ"),
    			},
    			ApplicationConfigs: emrv2.ClusterApplicationConfigArray{
    				&emrv2.ClusterApplicationConfigArgs{
    					ApplicationName: pulumi.String("HIVE"),
    					ConfigFileName:  pulumi.String("hivemetastore-site.xml"),
    					ConfigItemKey:   pulumi.String("hive.metastore.type"),
    					ConfigItemValue: pulumi.String("DLF"),
    					ConfigScope:     pulumi.String("CLUSTER"),
    				},
    				&emrv2.ClusterApplicationConfigArgs{
    					ApplicationName: pulumi.String("SPARK3"),
    					ConfigFileName:  pulumi.String("hive-site.xml"),
    					ConfigItemKey:   pulumi.String("hive.metastore.type"),
    					ConfigItemValue: pulumi.String("DLF"),
    					ConfigScope:     pulumi.String("CLUSTER"),
    				},
    			},
    			NodeAttributes: emrv2.ClusterNodeAttributeArray{
    				&emrv2.ClusterNodeAttributeArgs{
    					RamRole:         defaultRole.Name,
    					SecurityGroupId: defaultSecurityGroup.ID(),
    					VpcId:           defaultNetwork.ID(),
    					ZoneId:          *pulumi.String(defaultZones.Zones[0].Id),
    					KeyPairName:     defaultEcsKeyPair.ID(),
    				},
    			},
    			Tags: pulumi.Map{
    				"created": pulumi.Any("tf"),
    			},
    			NodeGroups: emrv2.ClusterNodeGroupArray{
    				&emrv2.ClusterNodeGroupArgs{
    					NodeGroupType: pulumi.String("MASTER"),
    					NodeGroupName: pulumi.String("emr-master"),
    					PaymentType:   pulumi.String("PayAsYouGo"),
    					VswitchIds: pulumi.StringArray{
    						defaultSwitch.ID(),
    					},
    					WithPublicIp: pulumi.Bool(false),
    					InstanceTypes: pulumi.StringArray{
    						pulumi.String("ecs.g7.xlarge"),
    					},
    					NodeCount: pulumi.Int(1),
    					SystemDisk: &emrv2.ClusterNodeGroupSystemDiskArgs{
    						Category: pulumi.String("cloud_essd"),
    						Size:     pulumi.Int(80),
    						Count:    pulumi.Int(1),
    					},
    					DataDisks: emrv2.ClusterNodeGroupDataDiskArray{
    						&emrv2.ClusterNodeGroupDataDiskArgs{
    							Category: pulumi.String("cloud_essd"),
    							Size:     pulumi.Int(80),
    							Count:    pulumi.Int(3),
    						},
    					},
    				},
    				&emrv2.ClusterNodeGroupArgs{
    					NodeGroupType: pulumi.String("CORE"),
    					NodeGroupName: pulumi.String("emr-core"),
    					PaymentType:   pulumi.String("PayAsYouGo"),
    					VswitchIds: pulumi.StringArray{
    						defaultSwitch.ID(),
    					},
    					WithPublicIp: pulumi.Bool(false),
    					InstanceTypes: pulumi.StringArray{
    						pulumi.String("ecs.g7.xlarge"),
    					},
    					NodeCount: pulumi.Int(3),
    					SystemDisk: &emrv2.ClusterNodeGroupSystemDiskArgs{
    						Category: pulumi.String("cloud_essd"),
    						Size:     pulumi.Int(80),
    						Count:    pulumi.Int(1),
    					},
    					DataDisks: emrv2.ClusterNodeGroupDataDiskArray{
    						&emrv2.ClusterNodeGroupDataDiskArgs{
    							Category: pulumi.String("cloud_essd"),
    							Size:     pulumi.Int(80),
    							Count:    pulumi.Int(3),
    						},
    					},
    				},
    			},
    			ResourceGroupId: *pulumi.String(defaultResourceGroups.Ids[0]),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.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.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.ClusterApplicationConfigArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;
    import com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;
    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("terraform-example");
            final var defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
    
            final var defaultZones = 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(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
                .vswitchName(name)
                .build());
    
            var defaultEcsKeyPair = new EcsKeyPair("defaultEcsKeyPair", EcsKeyPairArgs.builder()        
                .keyPairName(name)
                .build());
    
            var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()        
                .vpcId(defaultNetwork.id())
                .build());
    
            var defaultRole = new Role("defaultRole", RoleArgs.builder()        
                .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()        
                .paymentType("PayAsYouGo")
                .clusterType("DATALAKE")
                .releaseVersion("EMR-5.10.0")
                .clusterName(name)
                .deployMode("NORMAL")
                .securityMode("NORMAL")
                .applications(            
                    "HADOOP-COMMON",
                    "HDFS",
                    "YARN",
                    "HIVE",
                    "SPARK3",
                    "TEZ")
                .applicationConfigs(            
                    ClusterApplicationConfigArgs.builder()
                        .applicationName("HIVE")
                        .configFileName("hivemetastore-site.xml")
                        .configItemKey("hive.metastore.type")
                        .configItemValue("DLF")
                        .configScope("CLUSTER")
                        .build(),
                    ClusterApplicationConfigArgs.builder()
                        .applicationName("SPARK3")
                        .configFileName("hive-site.xml")
                        .configItemKey("hive.metastore.type")
                        .configItemValue("DLF")
                        .configScope("CLUSTER")
                        .build())
                .nodeAttributes(ClusterNodeAttributeArgs.builder()
                    .ramRole(defaultRole.name())
                    .securityGroupId(defaultSecurityGroup.id())
                    .vpcId(defaultNetwork.id())
                    .zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
                    .keyPairName(defaultEcsKeyPair.id())
                    .build())
                .tags(Map.of("created", "tf"))
                .nodeGroups(            
                    ClusterNodeGroupArgs.builder()
                        .nodeGroupType("MASTER")
                        .nodeGroupName("emr-master")
                        .paymentType("PayAsYouGo")
                        .vswitchIds(defaultSwitch.id())
                        .withPublicIp(false)
                        .instanceTypes("ecs.g7.xlarge")
                        .nodeCount(1)
                        .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()
                            .category("cloud_essd")
                            .size(80)
                            .count(1)
                            .build())
                        .dataDisks(ClusterNodeGroupDataDiskArgs.builder()
                            .category("cloud_essd")
                            .size(80)
                            .count(3)
                            .build())
                        .build(),
                    ClusterNodeGroupArgs.builder()
                        .nodeGroupType("CORE")
                        .nodeGroupName("emr-core")
                        .paymentType("PayAsYouGo")
                        .vswitchIds(defaultSwitch.id())
                        .withPublicIp(false)
                        .instanceTypes("ecs.g7.xlarge")
                        .nodeCount(3)
                        .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()
                            .category("cloud_essd")
                            .size(80)
                            .count(1)
                            .build())
                        .dataDisks(ClusterNodeGroupDataDiskArgs.builder()
                            .category("cloud_essd")
                            .size(80)
                            .count(3)
                            .build())
                        .build())
                .resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.ids()[0]))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    default_resource_groups = alicloud.resourcemanager.get_resource_groups()
    default_zones = alicloud.get_zones(available_instance_type="ecs.g7.xlarge")
    default_network = alicloud.vpc.Network("defaultNetwork",
        vpc_name=name,
        cidr_block="172.16.0.0/12")
    default_switch = alicloud.vpc.Switch("defaultSwitch",
        vpc_id=default_network.id,
        cidr_block="172.16.0.0/21",
        zone_id=default_zones.zones[0].id,
        vswitch_name=name)
    default_ecs_key_pair = alicloud.ecs.EcsKeyPair("defaultEcsKeyPair", key_pair_name=name)
    default_security_group = alicloud.ecs.SecurityGroup("defaultSecurityGroup", vpc_id=default_network.id)
    default_role = alicloud.ram.Role("defaultRole",
        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("defaultCluster",
        payment_type="PayAsYouGo",
        cluster_type="DATALAKE",
        release_version="EMR-5.10.0",
        cluster_name=name,
        deploy_mode="NORMAL",
        security_mode="NORMAL",
        applications=[
            "HADOOP-COMMON",
            "HDFS",
            "YARN",
            "HIVE",
            "SPARK3",
            "TEZ",
        ],
        application_configs=[
            alicloud.emrv2.ClusterApplicationConfigArgs(
                application_name="HIVE",
                config_file_name="hivemetastore-site.xml",
                config_item_key="hive.metastore.type",
                config_item_value="DLF",
                config_scope="CLUSTER",
            ),
            alicloud.emrv2.ClusterApplicationConfigArgs(
                application_name="SPARK3",
                config_file_name="hive-site.xml",
                config_item_key="hive.metastore.type",
                config_item_value="DLF",
                config_scope="CLUSTER",
            ),
        ],
        node_attributes=[alicloud.emrv2.ClusterNodeAttributeArgs(
            ram_role=default_role.name,
            security_group_id=default_security_group.id,
            vpc_id=default_network.id,
            zone_id=default_zones.zones[0].id,
            key_pair_name=default_ecs_key_pair.id,
        )],
        tags={
            "created": "tf",
        },
        node_groups=[
            alicloud.emrv2.ClusterNodeGroupArgs(
                node_group_type="MASTER",
                node_group_name="emr-master",
                payment_type="PayAsYouGo",
                vswitch_ids=[default_switch.id],
                with_public_ip=False,
                instance_types=["ecs.g7.xlarge"],
                node_count=1,
                system_disk=alicloud.emrv2.ClusterNodeGroupSystemDiskArgs(
                    category="cloud_essd",
                    size=80,
                    count=1,
                ),
                data_disks=[alicloud.emrv2.ClusterNodeGroupDataDiskArgs(
                    category="cloud_essd",
                    size=80,
                    count=3,
                )],
            ),
            alicloud.emrv2.ClusterNodeGroupArgs(
                node_group_type="CORE",
                node_group_name="emr-core",
                payment_type="PayAsYouGo",
                vswitch_ids=[default_switch.id],
                with_public_ip=False,
                instance_types=["ecs.g7.xlarge"],
                node_count=3,
                system_disk=alicloud.emrv2.ClusterNodeGroupSystemDiskArgs(
                    category="cloud_essd",
                    size=80,
                    count=1,
                ),
                data_disks=[alicloud.emrv2.ClusterNodeGroupDataDiskArgs(
                    category="cloud_essd",
                    size=80,
                    count=3,
                )],
            ),
        ],
        resource_group_id=default_resource_groups.ids[0])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "terraform-example";
    const defaultResourceGroups = alicloud.resourcemanager.getResourceGroups({});
    const defaultZones = alicloud.getZones({
        availableInstanceType: "ecs.g7.xlarge",
    });
    const defaultNetwork = new alicloud.vpc.Network("defaultNetwork", {
        vpcName: name,
        cidrBlock: "172.16.0.0/12",
    });
    const defaultSwitch = new alicloud.vpc.Switch("defaultSwitch", {
        vpcId: defaultNetwork.id,
        cidrBlock: "172.16.0.0/21",
        zoneId: defaultZones.then(defaultZones => defaultZones.zones?.[0]?.id),
        vswitchName: name,
    });
    const defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair("defaultEcsKeyPair", {keyPairName: name});
    const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("defaultSecurityGroup", {vpcId: defaultNetwork.id});
    const defaultRole = new alicloud.ram.Role("defaultRole", {
        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("defaultCluster", {
        paymentType: "PayAsYouGo",
        clusterType: "DATALAKE",
        releaseVersion: "EMR-5.10.0",
        clusterName: name,
        deployMode: "NORMAL",
        securityMode: "NORMAL",
        applications: [
            "HADOOP-COMMON",
            "HDFS",
            "YARN",
            "HIVE",
            "SPARK3",
            "TEZ",
        ],
        applicationConfigs: [
            {
                applicationName: "HIVE",
                configFileName: "hivemetastore-site.xml",
                configItemKey: "hive.metastore.type",
                configItemValue: "DLF",
                configScope: "CLUSTER",
            },
            {
                applicationName: "SPARK3",
                configFileName: "hive-site.xml",
                configItemKey: "hive.metastore.type",
                configItemValue: "DLF",
                configScope: "CLUSTER",
            },
        ],
        nodeAttributes: [{
            ramRole: defaultRole.name,
            securityGroupId: defaultSecurityGroup.id,
            vpcId: defaultNetwork.id,
            zoneId: defaultZones.then(defaultZones => defaultZones.zones?.[0]?.id),
            keyPairName: defaultEcsKeyPair.id,
        }],
        tags: {
            created: "tf",
        },
        nodeGroups: [
            {
                nodeGroupType: "MASTER",
                nodeGroupName: "emr-master",
                paymentType: "PayAsYouGo",
                vswitchIds: [defaultSwitch.id],
                withPublicIp: false,
                instanceTypes: ["ecs.g7.xlarge"],
                nodeCount: 1,
                systemDisk: {
                    category: "cloud_essd",
                    size: 80,
                    count: 1,
                },
                dataDisks: [{
                    category: "cloud_essd",
                    size: 80,
                    count: 3,
                }],
            },
            {
                nodeGroupType: "CORE",
                nodeGroupName: "emr-core",
                paymentType: "PayAsYouGo",
                vswitchIds: [defaultSwitch.id],
                withPublicIp: false,
                instanceTypes: ["ecs.g7.xlarge"],
                nodeCount: 3,
                systemDisk: {
                    category: "cloud_essd",
                    size: 80,
                    count: 1,
                },
                dataDisks: [{
                    category: "cloud_essd",
                    size: 80,
                    count: 3,
                }],
            },
        ],
        resourceGroupId: defaultResourceGroups.then(defaultResourceGroups => defaultResourceGroups.ids?.[0]),
    });
    
    configuration:
      name:
        type: string
        default: terraform-example
    resources:
      defaultNetwork:
        type: alicloud:vpc:Network
        properties:
          vpcName: ${name}
          cidrBlock: 172.16.0.0/12
      defaultSwitch:
        type: alicloud:vpc:Switch
        properties:
          vpcId: ${defaultNetwork.id}
          cidrBlock: 172.16.0.0/21
          zoneId: ${defaultZones.zones[0].id}
          vswitchName: ${name}
      defaultEcsKeyPair:
        type: alicloud:ecs:EcsKeyPair
        properties:
          keyPairName: ${name}
      defaultSecurityGroup:
        type: alicloud:ecs:SecurityGroup
        properties:
          vpcId: ${defaultNetwork.id}
      defaultRole:
        type: alicloud:ram:Role
        properties:
          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
        properties:
          paymentType: PayAsYouGo
          clusterType: DATALAKE
          releaseVersion: EMR-5.10.0
          clusterName: ${name}
          deployMode: NORMAL
          securityMode: NORMAL
          applications:
            - HADOOP-COMMON
            - HDFS
            - YARN
            - HIVE
            - SPARK3
            - TEZ
          applicationConfigs:
            - applicationName: HIVE
              configFileName: hivemetastore-site.xml
              configItemKey: hive.metastore.type
              configItemValue: DLF
              configScope: CLUSTER
            - applicationName: SPARK3
              configFileName: hive-site.xml
              configItemKey: hive.metastore.type
              configItemValue: DLF
              configScope: CLUSTER
          nodeAttributes:
            - ramRole: ${defaultRole.name}
              securityGroupId: ${defaultSecurityGroup.id}
              vpcId: ${defaultNetwork.id}
              zoneId: ${defaultZones.zones[0].id}
              keyPairName: ${defaultEcsKeyPair.id}
          tags:
            created: tf
          nodeGroups:
            - nodeGroupType: MASTER
              nodeGroupName: emr-master
              paymentType: PayAsYouGo
              vswitchIds:
                - ${defaultSwitch.id}
              withPublicIp: false
              instanceTypes:
                - ecs.g7.xlarge
              nodeCount: 1
              systemDisk:
                category: cloud_essd
                size: 80
                count: 1
              dataDisks:
                - category: cloud_essd
                  size: 80
                  count: 3
            - nodeGroupType: CORE
              nodeGroupName: emr-core
              paymentType: PayAsYouGo
              vswitchIds:
                - ${defaultSwitch.id}
              withPublicIp: false
              instanceTypes:
                - ecs.g7.xlarge
              nodeCount: 3
              systemDisk:
                category: cloud_essd
                size: 80
                count: 1
              dataDisks:
                - category: cloud_essd
                  size: 80
                  count: 3
          resourceGroupId: ${defaultResourceGroups.ids[0]}
    variables:
      defaultResourceGroups:
        fn::invoke:
          Function: alicloud:resourcemanager:getResourceGroups
          Arguments: {}
      defaultZones:
        fn::invoke:
          Function: alicloud:getZones
          Arguments:
            availableInstanceType: ecs.g7.xlarge
    

    Create Cluster Resource

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: 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,
                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)
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = 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.
    
    
    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.

    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.
    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.
    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.
    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.
    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.
    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.
    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,
            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.
    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.
    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.
    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.
    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.
    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.
    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
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    NodeGroupId string
    The configuration effected which node group id of emr cluster.
    NodeGroupName string
    The configuration effected which node group name of emr cluster.
    NodeGroupTypes List<string>
    The bootstrap scripts execution target node group types.
    NodeNames List<string>
    The bootstrap scripts execution target node names.
    NodeSelectType string
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    NodeGroupId string
    The configuration effected which node group id of emr cluster.
    NodeGroupName string
    The configuration effected which node group name of emr cluster.
    NodeGroupTypes []string
    The bootstrap scripts execution target node group types.
    NodeNames []string
    The bootstrap scripts execution target node names.
    nodeSelectType String
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    nodeGroupId String
    The configuration effected which node group id of emr cluster.
    nodeGroupName String
    The configuration effected which node group name of emr cluster.
    nodeGroupTypes List<String>
    The bootstrap scripts execution target node group types.
    nodeNames List<String>
    The bootstrap scripts execution target node names.
    nodeSelectType string
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    nodeGroupId string
    The configuration effected which node group id of emr cluster.
    nodeGroupName string
    The configuration effected which node group name of emr cluster.
    nodeGroupTypes string[]
    The bootstrap scripts execution target node group types.
    nodeNames string[]
    The bootstrap scripts execution target node names.
    node_select_type str
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    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.
    node_group_types Sequence[str]
    The bootstrap scripts execution target node group types.
    node_names Sequence[str]
    The bootstrap scripts execution target node names.
    nodeSelectType String
    The bootstrap scripts execution target node select type. Supported value: NODE, NODEGROUP or CLUSTER.
    nodeGroupId String
    The configuration effected which node group id of emr cluster.
    nodeGroupName String
    The configuration effected which node group name of emr cluster.
    nodeGroupTypes List<String>
    The bootstrap scripts execution target node group types.
    nodeNames List<String>
    The bootstrap scripts execution target node names.

    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.
    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.
    GracefulShutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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.
    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.
    GracefulShutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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.
    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.
    gracefulShutdown Boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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.
    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.
    gracefulShutdown boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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.
    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.
    graceful_shutdown bool
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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.
    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.
    gracefulShutdown Boolean
    Enable emr cluster of task node graceful decommission, ’true’ or ‘false’ .
    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

    OnDemandBaseCapacity int
    The cost optimized configuration which on demand based capacity.
    OnDemandPercentageAboveBaseCapacity int
    The cost optimized configuration which on demand percentage above based capacity.
    SpotInstancePools int
    The cost optimized configuration with spot instance pools.
    OnDemandBaseCapacity int
    The cost optimized configuration which on demand based capacity.
    OnDemandPercentageAboveBaseCapacity int
    The cost optimized configuration which on demand percentage above based capacity.
    SpotInstancePools int
    The cost optimized configuration with spot instance pools.
    onDemandBaseCapacity Integer
    The cost optimized configuration which on demand based capacity.
    onDemandPercentageAboveBaseCapacity Integer
    The cost optimized configuration which on demand percentage above based capacity.
    spotInstancePools Integer
    The cost optimized configuration with spot instance pools.
    onDemandBaseCapacity number
    The cost optimized configuration which on demand based capacity.
    onDemandPercentageAboveBaseCapacity number
    The cost optimized configuration which on demand percentage above based capacity.
    spotInstancePools number
    The cost optimized configuration with spot instance pools.
    on_demand_base_capacity int
    The cost optimized configuration which on demand based capacity.
    on_demand_percentage_above_base_capacity int
    The cost optimized configuration which on demand percentage above based capacity.
    spot_instance_pools int
    The cost optimized configuration with spot instance pools.
    onDemandBaseCapacity Number
    The cost optimized configuration which on demand based capacity.
    onDemandPercentageAboveBaseCapacity Number
    The cost optimized configuration which on demand percentage above based capacity.
    spotInstancePools Number
    The cost optimized configuration with spot instance pools.

    ClusterNodeGroupDataDisk, ClusterNodeGroupDataDiskArgs

    Category string
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    Size int
    The size of a data disk, at least 40. Unit: GiB.
    Count int
    The count of a data disk.
    PerformanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    Category string
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    Size int
    The size of a data disk, at least 40. Unit: GiB.
    Count int
    The count of a data disk.
    PerformanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category String
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size Integer
    The size of a data disk, at least 40. Unit: GiB.
    count Integer
    The count of a data disk.
    performanceLevel String
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category string
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size number
    The size of a data disk, at least 40. Unit: GiB.
    count number
    The count of a data disk.
    performanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category str
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size int
    The size of a data disk, at least 40. Unit: GiB.
    count int
    The count of a data disk.
    performance_level str
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category String
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size Number
    The size of a data disk, at least 40. Unit: GiB.
    count Number
    The count of a data disk.
    performanceLevel String
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.

    ClusterNodeGroupSpotBidPrice, ClusterNodeGroupSpotBidPriceArgs

    BidPrice int
    The spot bid price of a PayAsYouGo instance.
    InstanceType string
    Host Ecs instance type.
    BidPrice int
    The spot bid price of a PayAsYouGo instance.
    InstanceType string
    Host Ecs instance type.
    bidPrice Integer
    The spot bid price of a PayAsYouGo instance.
    instanceType String
    Host Ecs instance type.
    bidPrice number
    The spot bid price of a PayAsYouGo instance.
    instanceType string
    Host Ecs instance type.
    bid_price int
    The spot bid price of a PayAsYouGo instance.
    instance_type str
    Host Ecs instance type.
    bidPrice Number
    The spot bid price of a PayAsYouGo instance.
    instanceType String
    Host Ecs instance type.

    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.
    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.
    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.
    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.
    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_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.
    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
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    Size int
    The size of a data disk, at least 40. Unit: GiB.
    Count int
    The count of a data disk.
    PerformanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    Category string
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    Size int
    The size of a data disk, at least 40. Unit: GiB.
    Count int
    The count of a data disk.
    PerformanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category String
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size Integer
    The size of a data disk, at least 40. Unit: GiB.
    count Integer
    The count of a data disk.
    performanceLevel String
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category string
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size number
    The size of a data disk, at least 40. Unit: GiB.
    count number
    The count of a data disk.
    performanceLevel string
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category str
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size int
    The size of a data disk, at least 40. Unit: GiB.
    count int
    The count of a data disk.
    performance_level str
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.
    category String
    The type of the data disk. Valid values: cloud_efficiency and cloud_essd.
    size Number
    The size of a data disk, at least 40. Unit: GiB.
    count Number
    The count of a data disk.
    performanceLevel String
    Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity.

    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.
    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.
    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.
    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.
    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_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.
    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>
    

    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.49.1 published on Wednesday, Feb 28, 2024 by Pulumi