azure-native.hdinsight.Cluster

The HDInsight cluster. API Version: 2018-06-01-preview.

Example Usage

Create HDInsight cluster with Autoscale configuration

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                ComponentVersion = 
                {
                    { "Hadoop", "2.7" },
                },
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        AutoscaleConfiguration = new AzureNative.HDInsight.Inputs.AutoscaleArgs
                        {
                            Recurrence = new AzureNative.HDInsight.Inputs.AutoscaleRecurrenceArgs
                            {
                                Schedule = new[]
                                {
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            AzureNative.HDInsight.DaysOfWeek.Monday,
                                            AzureNative.HDInsight.DaysOfWeek.Tuesday,
                                            AzureNative.HDInsight.DaysOfWeek.Wednesday,
                                            AzureNative.HDInsight.DaysOfWeek.Thursday,
                                            AzureNative.HDInsight.DaysOfWeek.Friday,
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 3,
                                            MinInstanceCount = 3,
                                            Time = "09:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            AzureNative.HDInsight.DaysOfWeek.Monday,
                                            AzureNative.HDInsight.DaysOfWeek.Tuesday,
                                            AzureNative.HDInsight.DaysOfWeek.Wednesday,
                                            AzureNative.HDInsight.DaysOfWeek.Thursday,
                                            AzureNative.HDInsight.DaysOfWeek.Friday,
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 6,
                                            MinInstanceCount = 6,
                                            Time = "18:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            AzureNative.HDInsight.DaysOfWeek.Saturday,
                                            AzureNative.HDInsight.DaysOfWeek.Sunday,
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 2,
                                            MinInstanceCount = 2,
                                            Time = "09:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            AzureNative.HDInsight.DaysOfWeek.Saturday,
                                            AzureNative.HDInsight.DaysOfWeek.Sunday,
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 4,
                                            MinInstanceCount = 4,
                                            Time = "18:00",
                                        },
                                    },
                                },
                                TimeZone = "China Standard Time",
                            },
                        },
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D4_V2",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        ScriptActions = new[] {},
                        TargetInstanceCount = 4,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("componentVersion", Map.of("Hadoop", "2.7")),
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles", Map.ofEntries(
                        Map.entry("autoscaleConfiguration", Map.of("recurrence", Map.ofEntries(
                            Map.entry("schedule",                             
                                Map.ofEntries(
                                    Map.entry("days",                                     
                                        "Monday",
                                        "Tuesday",
                                        "Wednesday",
                                        "Thursday",
                                        "Friday"),
                                    Map.entry("timeAndCapacity", Map.ofEntries(
                                        Map.entry("maxInstanceCount", 3),
                                        Map.entry("minInstanceCount", 3),
                                        Map.entry("time", "09:00")
                                    ))
                                ),
                                Map.ofEntries(
                                    Map.entry("days",                                     
                                        "Monday",
                                        "Tuesday",
                                        "Wednesday",
                                        "Thursday",
                                        "Friday"),
                                    Map.entry("timeAndCapacity", Map.ofEntries(
                                        Map.entry("maxInstanceCount", 6),
                                        Map.entry("minInstanceCount", 6),
                                        Map.entry("time", "18:00")
                                    ))
                                ),
                                Map.ofEntries(
                                    Map.entry("days",                                     
                                        "Saturday",
                                        "Sunday"),
                                    Map.entry("timeAndCapacity", Map.ofEntries(
                                        Map.entry("maxInstanceCount", 2),
                                        Map.entry("minInstanceCount", 2),
                                        Map.entry("time", "09:00")
                                    ))
                                ),
                                Map.ofEntries(
                                    Map.entry("days",                                     
                                        "Saturday",
                                        "Sunday"),
                                    Map.entry("timeAndCapacity", Map.ofEntries(
                                        Map.entry("maxInstanceCount", 4),
                                        Map.entry("minInstanceCount", 4),
                                        Map.entry("time", "18:00")
                                    ))
                                )),
                            Map.entry("timeZone", "China Standard Time")
                        ))),
                        Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D4_V2")),
                        Map.entry("name", "workernode"),
                        Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                            Map.entry("password", "**********"),
                            Map.entry("username", "sshuser")
                        ))),
                        Map.entry("scriptActions", ),
                        Map.entry("targetInstanceCount", 4)
                    ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            component_version={
                "Hadoop": "2.7",
            },
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [{
                "autoscaleConfiguration": {
                    "recurrence": {
                        "schedule": [
                            {
                                "days": [
                                    azure_native.hdinsight.DaysOfWeek.MONDAY,
                                    azure_native.hdinsight.DaysOfWeek.TUESDAY,
                                    azure_native.hdinsight.DaysOfWeek.WEDNESDAY,
                                    azure_native.hdinsight.DaysOfWeek.THURSDAY,
                                    azure_native.hdinsight.DaysOfWeek.FRIDAY,
                                ],
                                "timeAndCapacity": azure_native.hdinsight.AutoscaleTimeAndCapacityArgs(
                                    max_instance_count=3,
                                    min_instance_count=3,
                                    time="09:00",
                                ),
                            },
                            {
                                "days": [
                                    azure_native.hdinsight.DaysOfWeek.MONDAY,
                                    azure_native.hdinsight.DaysOfWeek.TUESDAY,
                                    azure_native.hdinsight.DaysOfWeek.WEDNESDAY,
                                    azure_native.hdinsight.DaysOfWeek.THURSDAY,
                                    azure_native.hdinsight.DaysOfWeek.FRIDAY,
                                ],
                                "timeAndCapacity": azure_native.hdinsight.AutoscaleTimeAndCapacityArgs(
                                    max_instance_count=6,
                                    min_instance_count=6,
                                    time="18:00",
                                ),
                            },
                            {
                                "days": [
                                    azure_native.hdinsight.DaysOfWeek.SATURDAY,
                                    azure_native.hdinsight.DaysOfWeek.SUNDAY,
                                ],
                                "timeAndCapacity": azure_native.hdinsight.AutoscaleTimeAndCapacityArgs(
                                    max_instance_count=2,
                                    min_instance_count=2,
                                    time="09:00",
                                ),
                            },
                            {
                                "days": [
                                    azure_native.hdinsight.DaysOfWeek.SATURDAY,
                                    azure_native.hdinsight.DaysOfWeek.SUNDAY,
                                ],
                                "timeAndCapacity": azure_native.hdinsight.AutoscaleTimeAndCapacityArgs(
                                    max_instance_count=4,
                                    min_instance_count=4,
                                    time="18:00",
                                ),
                            },
                        ],
                        "timeZone": "China Standard Time",
                    },
                },
                "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                    vm_size="Standard_D4_V2",
                ),
                "name": "workernode",
                "osProfile": {
                    "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                        password="**********",
                        username="sshuser",
                    ),
                },
                "scriptActions": [],
                "targetInstanceCount": 4,
            }],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="hdinsight-autoscale-tes-2019-06-18t05-49-16-591z",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            componentVersion: {
                Hadoop: "2.7",
            },
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [{
                autoscaleConfiguration: {
                    recurrence: {
                        schedule: [
                            {
                                days: [
                                    azure_native.hdinsight.DaysOfWeek.Monday,
                                    azure_native.hdinsight.DaysOfWeek.Tuesday,
                                    azure_native.hdinsight.DaysOfWeek.Wednesday,
                                    azure_native.hdinsight.DaysOfWeek.Thursday,
                                    azure_native.hdinsight.DaysOfWeek.Friday,
                                ],
                                timeAndCapacity: {
                                    maxInstanceCount: 3,
                                    minInstanceCount: 3,
                                    time: "09:00",
                                },
                            },
                            {
                                days: [
                                    azure_native.hdinsight.DaysOfWeek.Monday,
                                    azure_native.hdinsight.DaysOfWeek.Tuesday,
                                    azure_native.hdinsight.DaysOfWeek.Wednesday,
                                    azure_native.hdinsight.DaysOfWeek.Thursday,
                                    azure_native.hdinsight.DaysOfWeek.Friday,
                                ],
                                timeAndCapacity: {
                                    maxInstanceCount: 6,
                                    minInstanceCount: 6,
                                    time: "18:00",
                                },
                            },
                            {
                                days: [
                                    azure_native.hdinsight.DaysOfWeek.Saturday,
                                    azure_native.hdinsight.DaysOfWeek.Sunday,
                                ],
                                timeAndCapacity: {
                                    maxInstanceCount: 2,
                                    minInstanceCount: 2,
                                    time: "09:00",
                                },
                            },
                            {
                                days: [
                                    azure_native.hdinsight.DaysOfWeek.Saturday,
                                    azure_native.hdinsight.DaysOfWeek.Sunday,
                                ],
                                timeAndCapacity: {
                                    maxInstanceCount: 4,
                                    minInstanceCount: 4,
                                    time: "18:00",
                                },
                            },
                        ],
                        timeZone: "China Standard Time",
                    },
                },
                hardwareProfile: {
                    vmSize: "Standard_D4_V2",
                },
                name: "workernode",
                osProfile: {
                    linuxOperatingSystemProfile: {
                        password: "**********",
                        username: "sshuser",
                    },
                },
                scriptActions: [],
                targetInstanceCount: 4,
            }],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          componentVersion:
            Hadoop: '2.7'
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - autoscaleConfiguration:
                recurrence:
                  schedule:
                    - days:
                        - Monday
                        - Tuesday
                        - Wednesday
                        - Thursday
                        - Friday
                      timeAndCapacity:
                        maxInstanceCount: 3
                        minInstanceCount: 3
                        time: 09:00
                    - days:
                        - Monday
                        - Tuesday
                        - Wednesday
                        - Thursday
                        - Friday
                      timeAndCapacity:
                        maxInstanceCount: 6
                        minInstanceCount: 6
                        time: 18:00
                    - days:
                        - Saturday
                        - Sunday
                      timeAndCapacity:
                        maxInstanceCount: 2
                        minInstanceCount: 2
                        time: 09:00
                    - days:
                        - Saturday
                        - Sunday
                      timeAndCapacity:
                        maxInstanceCount: 4
                        minInstanceCount: 4
                        time: 18:00
                  timeZone: China Standard Time
              hardwareProfile:
                vmSize: Standard_D4_V2
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              scriptActions: []
              targetInstanceCount: 4
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: hdinsight-autoscale-tes-2019-06-18t05-49-16-591z
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1

Create Hadoop cluster with Azure Data Lake Storage Gen 2

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", "true" },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 4,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        MinInstanceCount = 1,
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        FileSystem = "default",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.dfs.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
        Tags = 
        {
            { "key1", "val1" },
        },
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 4)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("fileSystem", "default"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.dfs.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .tags(Map.of("key1", "val1"))
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": "true",
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 4,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "minInstanceCount": 1,
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                file_system="default",
                is_default=True,
                key="storagekey",
                name="mystorage.dfs.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1",
    tags={
        "key1": "val1",
    })
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": "true",
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 4,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    minInstanceCount: 1,
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                fileSystem: "default",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.dfs.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
    tags: {
        key1: "val1",
    },
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: 'true'
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 4
            - hardwareProfile:
                vmSize: Small
              minInstanceCount: 1
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        osType: Linux
        storageProfile:
          storageaccounts:
            - fileSystem: default
              isDefault: true
              key: storagekey
              name: mystorage.dfs.core.windows.net
        tier: Standard
      resourceGroupName: rg1
      tags:
        key1: val1

Create Hadoop on Linux cluster with SSH password

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", "true" },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.5",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 4,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        MinInstanceCount = 1,
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
        Tags = 
        {
            { "key1", "val1" },
        },
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.5"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 4)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .tags(Map.of("key1", "val1"))
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": "true",
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.5",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 4,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "minInstanceCount": 1,
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1",
    tags={
        "key1": "val1",
    })
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": "true",
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.5",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 4,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    minInstanceCount: 1,
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
    tags: {
        key1: "val1",
    },
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: 'true'
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.5'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 4
            - hardwareProfile:
                vmSize: Small
              minInstanceCount: 1
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1
      tags:
        key1: val1

Create Hadoop on Linux cluster with SSH public key

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.5",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 4,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        MinInstanceCount = 1,
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
        Tags = 
        {
            { "key1", "val1" },
        },
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.5"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 4)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .tags(Map.of("key1", "val1"))
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.5",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 4,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "minInstanceCount": 1,
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1",
    tags={
        "key1": "val1",
    })
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.5",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 4,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    minInstanceCount: 1,
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
    tags: {
        key1: "val1",
    },
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.5'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 4
            - hardwareProfile:
                vmSize: Small
              minInstanceCount: 1
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1
      tags:
        key1: val1

Create Kafka cluster with Kafka Rest Proxy

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                ComponentVersion = 
                {
                    { "Kafka", "2.1" },
                },
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "kafka",
            },
            ClusterVersion = "4.0",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        DataDisksGroups = new[]
                        {
                            new AzureNative.HDInsight.Inputs.DataDisksGroupsArgs
                            {
                                DisksPerNode = 8,
                            },
                        },
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D4_v2",
                        },
                        Name = "kafkamanagementnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "kafkauser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                },
            },
            KafkaRestProperties = new AzureNative.HDInsight.Inputs.KafkaRestPropertiesArgs
            {
                ClientGroupInfo = new AzureNative.HDInsight.Inputs.ClientGroupInfoArgs
                {
                    GroupId = "00000000-0000-0000-0000-111111111111",
                    GroupName = "Kafka security group name",
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("componentVersion", Map.of("Kafka", "2.1")),
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "kafka")
                    )),
                    Map.entry("clusterVersion", "4.0"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("dataDisksGroups", Map.of("disksPerNode", 8)),
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D4_v2")),
                            Map.entry("name", "kafkamanagementnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "kafkauser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ))),
                    Map.entry("kafkaRestProperties", Map.of("clientGroupInfo", Map.ofEntries(
                        Map.entry("groupId", "00000000-0000-0000-0000-111111111111"),
                        Map.entry("groupName", "Kafka security group name")
                    ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            component_version={
                "Kafka": "2.1",
            },
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="kafka",
        ),
        cluster_version="4.0",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "dataDisksGroups": [azure_native.hdinsight.DataDisksGroupsArgs(
                        disks_per_node=8,
                    )],
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D4_v2",
                    ),
                    "name": "kafkamanagementnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="kafkauser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
            ],
        },
        kafka_rest_properties={
            "clientGroupInfo": azure_native.hdinsight.ClientGroupInfoArgs(
                group_id="00000000-0000-0000-0000-111111111111",
                group_name="Kafka security group name",
            ),
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            componentVersion: {
                Kafka: "2.1",
            },
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "kafka",
        },
        clusterVersion: "4.0",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    dataDisksGroups: [{
                        disksPerNode: 8,
                    }],
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D4_v2",
                    },
                    name: "kafkamanagementnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "kafkauser",
                        },
                    },
                    targetInstanceCount: 2,
                },
            ],
        },
        kafkaRestProperties: {
            clientGroupInfo: {
                groupId: "00000000-0000-0000-0000-111111111111",
                groupName: "Kafka security group name",
            },
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          componentVersion:
            Kafka: '2.1'
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: kafka
        clusterVersion: '4.0'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Large
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - dataDisksGroups:
                - disksPerNode: 8
              hardwareProfile:
                vmSize: Large
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
            - hardwareProfile:
                vmSize: Small
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
            - hardwareProfile:
                vmSize: Standard_D4_v2
              name: kafkamanagementnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: kafkauser
              targetInstanceCount: 2
        kafkaRestProperties:
          clientGroupInfo:
            groupId: 00000000-0000-0000-0000-111111111111
            groupName: Kafka security group name
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1

Create Secure Hadoop cluster

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.5",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        ScriptActions = new[] {},
                        TargetInstanceCount = 2,
                        VirtualNetworkProfile = new AzureNative.HDInsight.Inputs.VirtualNetworkProfileArgs
                        {
                            Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                            Subnet = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                        },
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D3_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        ScriptActions = new[] {},
                        TargetInstanceCount = 4,
                        VirtualNetworkProfile = new AzureNative.HDInsight.Inputs.VirtualNetworkProfileArgs
                        {
                            Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                            Subnet = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                        },
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        MinInstanceCount = 1,
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        ScriptActions = new[] {},
                        TargetInstanceCount = 3,
                        VirtualNetworkProfile = new AzureNative.HDInsight.Inputs.VirtualNetworkProfileArgs
                        {
                            Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                            Subnet = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                        },
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            SecurityProfile = new AzureNative.HDInsight.Inputs.SecurityProfileArgs
            {
                ClusterUsersGroupDNs = new[]
                {
                    "hdiusers",
                },
                DirectoryType = AzureNative.HDInsight.DirectoryType.ActiveDirectory,
                Domain = "DomainName",
                DomainUserPassword = "**********",
                DomainUsername = "DomainUsername",
                LdapsUrls = new[]
                {
                    "ldaps://10.10.0.4:636",
                },
                OrganizationalUnitDN = "OU=Hadoop,DC=hdinsight,DC=test",
            },
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storage account key",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Premium,
        },
        ResourceGroupName = "rg1",
        Tags = 
        {
            { "key1", "val1" },
        },
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.5"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("scriptActions", ),
                            Map.entry("targetInstanceCount", 2),
                            Map.entry("virtualNetworkProfile", Map.ofEntries(
                                Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
                                Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
                            ))
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D3_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("scriptActions", ),
                            Map.entry("targetInstanceCount", 4),
                            Map.entry("virtualNetworkProfile", Map.ofEntries(
                                Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
                                Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
                            ))
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("scriptActions", ),
                            Map.entry("targetInstanceCount", 3),
                            Map.entry("virtualNetworkProfile", Map.ofEntries(
                                Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
                                Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
                            ))
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("securityProfile", Map.ofEntries(
                        Map.entry("clusterUsersGroupDNs", "hdiusers"),
                        Map.entry("directoryType", "ActiveDirectory"),
                        Map.entry("domain", "DomainName"),
                        Map.entry("domainUserPassword", "**********"),
                        Map.entry("domainUsername", "DomainUsername"),
                        Map.entry("ldapsUrls", "ldaps://10.10.0.4:636"),
                        Map.entry("organizationalUnitDN", "OU=Hadoop,DC=hdinsight,DC=test")
                    )),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storage account key"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Premium")
                ))
                .resourceGroupName("rg1")
                .tags(Map.of("key1", "val1"))
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.5",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "scriptActions": [],
                    "targetInstanceCount": 2,
                    "virtualNetworkProfile": azure_native.hdinsight.VirtualNetworkProfileArgs(
                        id="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    ),
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D3_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "scriptActions": [],
                    "targetInstanceCount": 4,
                    "virtualNetworkProfile": azure_native.hdinsight.VirtualNetworkProfileArgs(
                        id="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    ),
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "minInstanceCount": 1,
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "scriptActions": [],
                    "targetInstanceCount": 3,
                    "virtualNetworkProfile": azure_native.hdinsight.VirtualNetworkProfileArgs(
                        id="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    ),
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        security_profile=azure_native.hdinsight.SecurityProfileArgs(
            cluster_users_group_dns=["hdiusers"],
            directory_type=azure_native.hdinsight.DirectoryType.ACTIVE_DIRECTORY,
            domain="DomainName",
            domain_user_password="**********",
            domain_username="DomainUsername",
            ldaps_urls=["ldaps://10.10.0.4:636"],
            organizational_unit_dn="OU=Hadoop,DC=hdinsight,DC=test",
        ),
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storage account key",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.PREMIUM,
    ),
    resource_group_name="rg1",
    tags={
        "key1": "val1",
    })
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.5",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    scriptActions: [],
                    targetInstanceCount: 2,
                    virtualNetworkProfile: {
                        id: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    },
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D3_V2",
                    },
                    minInstanceCount: 1,
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    scriptActions: [],
                    targetInstanceCount: 4,
                    virtualNetworkProfile: {
                        id: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    },
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    minInstanceCount: 1,
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    scriptActions: [],
                    targetInstanceCount: 3,
                    virtualNetworkProfile: {
                        id: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    },
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        securityProfile: {
            clusterUsersGroupDNs: ["hdiusers"],
            directoryType: azure_native.hdinsight.DirectoryType.ActiveDirectory,
            domain: "DomainName",
            domainUserPassword: "**********",
            domainUsername: "DomainUsername",
            ldapsUrls: ["ldaps://10.10.0.4:636"],
            organizationalUnitDN: "OU=Hadoop,DC=hdinsight,DC=test",
        },
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storage account key",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Premium,
    },
    resourceGroupName: "rg1",
    tags: {
        key1: "val1",
    },
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.5'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              scriptActions: []
              targetInstanceCount: 2
              virtualNetworkProfile:
                id: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname
                subnet: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet
            - hardwareProfile:
                vmSize: Standard_D3_V2
              minInstanceCount: 1
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              scriptActions: []
              targetInstanceCount: 4
              virtualNetworkProfile:
                id: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname
                subnet: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet
            - hardwareProfile:
                vmSize: Small
              minInstanceCount: 1
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              scriptActions: []
              targetInstanceCount: 3
              virtualNetworkProfile:
                id: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname
                subnet: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet
        osType: Linux
        securityProfile:
          clusterUsersGroupDNs:
            - hdiusers
          directoryType: ActiveDirectory
          domain: DomainName
          domainUserPassword: '**********'
          domainUsername: DomainUsername
          ldapsUrls:
            - ldaps://10.10.0.4:636
          organizationalUnitDN: OU=Hadoop,DC=hdinsight,DC=test
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storage account key
              name: mystorage.blob.core.windows.net
        tier: Premium
      resourceGroupName: rg1
      tags:
        key1: val1

Create Spark on Linux Cluster with SSH password

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                ComponentVersion = 
                {
                    { "Spark", "2.0" },
                },
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Spark",
            },
            ClusterVersion = "3.5",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D12_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_D4_V2",
                        },
                        MinInstanceCount = 1,
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 4,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storageapikey*",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
        Tags = 
        {
            { "key1", "val1" },
        },
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("componentVersion", Map.of("Spark", "2.0")),
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Spark")
                    )),
                    Map.entry("clusterVersion", "3.5"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D12_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_D4_V2")),
                            Map.entry("minInstanceCount", 1),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 4)
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storageapikey*"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .tags(Map.of("key1", "val1"))
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            component_version={
                "Spark": "2.0",
            },
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Spark",
        ),
        cluster_version="3.5",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D12_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_D4_V2",
                    ),
                    "minInstanceCount": 1,
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 4,
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storageapikey*",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1",
    tags={
        "key1": "val1",
    })
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            componentVersion: {
                Spark: "2.0",
            },
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Spark",
        },
        clusterVersion: "3.5",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_D12_V2",
                    },
                    minInstanceCount: 1,
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_D4_V2",
                    },
                    minInstanceCount: 1,
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 4,
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storageapikey*",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
    tags: {
        key1: "val1",
    },
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          componentVersion:
            Spark: '2.0'
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Spark
        clusterVersion: '3.5'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_D12_V2
              minInstanceCount: 1
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Standard_D4_V2
              minInstanceCount: 1
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 4
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storageapikey*
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1
      tags:
        key1: val1

Create cluster with TLS 1.2

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            MinSupportedTlsVersion = "1.2",
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "default8525",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("minSupportedTlsVersion", "1.2"),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "default8525"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        min_supported_tls_version="1.2",
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="default8525",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        minSupportedTlsVersion: "1.2",
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "default8525",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Large
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Large
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
            - hardwareProfile:
                vmSize: Small
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        minSupportedTlsVersion: '1.2'
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: default8525
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1

Create cluster with compute isolation properties

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "hadoop",
            },
            ClusterVersion = "3.6",
            ComputeIsolationProperties = new AzureNative.HDInsight.Inputs.ComputeIsolationPropertiesArgs
            {
                EnableComputeIsolation = true,
            },
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "standard_d3",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "standard_d3",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                },
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storage account key",
                        Name = "mystorage",
                    },
                },
            },
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeIsolationProperties", Map.of("enableComputeIsolation", true)),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ))),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storage account key"),
                        Map.entry("name", "mystorage")
                    )))
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="hadoop",
        ),
        cluster_version="3.6",
        compute_isolation_properties=azure_native.hdinsight.ComputeIsolationPropertiesArgs(
            enable_compute_isolation=True,
        ),
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="standard_d3",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="standard_d3",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "targetInstanceCount": 2,
                },
            ],
        },
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storage account key",
                name="mystorage",
            )],
        },
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "hadoop",
        },
        clusterVersion: "3.6",
        computeIsolationProperties: {
            enableComputeIsolation: true,
        },
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "standard_d3",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "standard_d3",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
            ],
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storage account key",
                name: "mystorage",
            }],
        },
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: hadoop
        clusterVersion: '3.6'
        computeIsolationProperties:
          enableComputeIsolation: true
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: standard_d3
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: standard_d3
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              targetInstanceCount: 2
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storage account key
              name: mystorage
      resourceGroupName: rg1

Create cluster with encryption at host

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_DS14_v2",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_DS14_v2",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Standard_DS14_v2",
                        },
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            DiskEncryptionProperties = new AzureNative.HDInsight.Inputs.DiskEncryptionPropertiesArgs
            {
                EncryptionAtHost = true,
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "default8525",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_DS14_v2")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_DS14_v2")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Standard_DS14_v2")),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("diskEncryptionProperties", Map.of("encryptionAtHost", true)),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "default8525"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_DS14_v2",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_DS14_v2",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Standard_DS14_v2",
                    ),
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        disk_encryption_properties=azure_native.hdinsight.DiskEncryptionPropertiesArgs(
            encryption_at_host=True,
        ),
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="default8525",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Standard_DS14_v2",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_DS14_v2",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
                {
                    hardwareProfile: {
                        vmSize: "Standard_DS14_v2",
                    },
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        diskEncryptionProperties: {
            encryptionAtHost: true,
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "default8525",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Standard_DS14_v2
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Standard_DS14_v2
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
            - hardwareProfile:
                vmSize: Standard_DS14_v2
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        diskEncryptionProperties:
          encryptionAtHost: true
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: default8525
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1

Create cluster with encryption in transit

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "Hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Large",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "Small",
                        },
                        Name = "zookeepernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 3,
                    },
                },
            },
            EncryptionInTransitProperties = new AzureNative.HDInsight.Inputs.EncryptionInTransitPropertiesArgs
            {
                IsEncryptionInTransitEnabled = true,
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "default8525",
                        IsDefault = true,
                        Key = "storagekey",
                        Name = "mystorage.blob.core.windows.net",
                    },
                },
            },
            Tier = AzureNative.HDInsight.Tier.Standard,
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "Hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Large")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "Small")),
                            Map.entry("name", "zookeepernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 3)
                        ))),
                    Map.entry("encryptionInTransitProperties", Map.of("isEncryptionInTransitEnabled", true)),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "default8525"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storagekey"),
                        Map.entry("name", "mystorage.blob.core.windows.net")
                    ))),
                    Map.entry("tier", "Standard")
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="Hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 2,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Large",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="Small",
                    ),
                    "name": "zookeepernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": azure_native.hdinsight.LinuxOperatingSystemProfileArgs(
                            password="**********",
                            username="sshuser",
                        ),
                    },
                    "targetInstanceCount": 3,
                },
            ],
        },
        encryption_in_transit_properties=azure_native.hdinsight.EncryptionInTransitPropertiesArgs(
            is_encryption_in_transit_enabled=True,
        ),
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="default8525",
                is_default=True,
                key="storagekey",
                name="mystorage.blob.core.windows.net",
            )],
        },
        tier=azure_native.hdinsight.Tier.STANDARD,
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "Hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                },
                {
                    hardwareProfile: {
                        vmSize: "Large",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
                {
                    hardwareProfile: {
                        vmSize: "Small",
                    },
                    name: "zookeepernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 3,
                },
            ],
        },
        encryptionInTransitProperties: {
            isEncryptionInTransitEnabled: true,
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "default8525",
                isDefault: true,
                key: "storagekey",
                name: "mystorage.blob.core.windows.net",
            }],
        },
        tier: azure_native.hdinsight.Tier.Standard,
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: Hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: Large
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 2
            - hardwareProfile:
                vmSize: Large
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
            - hardwareProfile:
                vmSize: Small
              name: zookeepernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  username: sshuser
              targetInstanceCount: 3
        encryptionInTransitProperties:
          isEncryptionInTransitEnabled: true
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: default8525
              isDefault: true
              key: storagekey
              name: mystorage.blob.core.windows.net
        tier: Standard
      resourceGroupName: rg1

Create cluster with network properties

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var cluster = new AzureNative.HDInsight.Cluster("cluster", new()
    {
        ClusterName = "cluster1",
        Properties = new AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs
        {
            ClusterDefinition = new AzureNative.HDInsight.Inputs.ClusterDefinitionArgs
            {
                Configurations = 
                {
                    { "gateway", 
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                },
                Kind = "hadoop",
            },
            ClusterVersion = "3.6",
            ComputeProfile = new AzureNative.HDInsight.Inputs.ComputeProfileArgs
            {
                Roles = new[]
                {
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "standard_d3",
                        },
                        Name = "headnode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                        VirtualNetworkProfile = new AzureNative.HDInsight.Inputs.VirtualNetworkProfileArgs
                        {
                            Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                            Subnet = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                        },
                    },
                    new AzureNative.HDInsight.Inputs.RoleArgs
                    {
                        HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
                        {
                            VmSize = "standard_d3",
                        },
                        Name = "workernode",
                        OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
                        {
                            LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
                            {
                                Password = "**********",
                                SshProfile = new AzureNative.HDInsight.Inputs.SshProfileArgs
                                {
                                    PublicKeys = new[]
                                    {
                                        new AzureNative.HDInsight.Inputs.SshPublicKeyArgs
                                        {
                                            CertificateData = "**********",
                                        },
                                    },
                                },
                                Username = "sshuser",
                            },
                        },
                        TargetInstanceCount = 2,
                        VirtualNetworkProfile = new AzureNative.HDInsight.Inputs.VirtualNetworkProfileArgs
                        {
                            Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                            Subnet = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                        },
                    },
                },
            },
            NetworkProperties = new AzureNative.HDInsight.Inputs.NetworkPropertiesArgs
            {
                PrivateLink = "Enabled",
                ResourceProviderConnection = "Outbound",
            },
            OsType = AzureNative.HDInsight.OSType.Linux,
            StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
            {
                Storageaccounts = new[]
                {
                    new AzureNative.HDInsight.Inputs.StorageAccountArgs
                    {
                        Container = "containername",
                        IsDefault = true,
                        Key = "storage account key",
                        Name = "mystorage",
                    },
                },
            },
        },
        ResourceGroupName = "rg1",
    });

});

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
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) {
        var cluster = new Cluster("cluster", ClusterArgs.builder()        
            .clusterName("cluster1")
            .properties(Map.ofEntries(
                Map.entry("clusterDefinition", Map.ofEntries(
                    Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
                        Map.entry("kind", "hadoop")
                    )),
                    Map.entry("clusterVersion", "3.6"),
                    Map.entry("computeProfile", Map.of("roles",                     
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
                            Map.entry("name", "headnode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2),
                            Map.entry("virtualNetworkProfile", Map.ofEntries(
                                Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
                                Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
                            ))
                        ),
                        Map.ofEntries(
                            Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
                            Map.entry("name", "workernode"),
                            Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
                                Map.entry("password", "**********"),
                                Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
                                Map.entry("username", "sshuser")
                            ))),
                            Map.entry("targetInstanceCount", 2),
                            Map.entry("virtualNetworkProfile", Map.ofEntries(
                                Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
                                Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
                            ))
                        ))),
                    Map.entry("networkProperties", Map.ofEntries(
                        Map.entry("privateLink", "Enabled"),
                        Map.entry("resourceProviderConnection", "Outbound")
                    )),
                    Map.entry("osType", "Linux"),
                    Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
                        Map.entry("container", "containername"),
                        Map.entry("isDefault", true),
                        Map.entry("key", "storage account key"),
                        Map.entry("name", "mystorage")
                    )))
                ))
                .resourceGroupName("rg1")
                .build());

        }
}
import pulumi
import pulumi_azure_native as azure_native

cluster = azure_native.hdinsight.Cluster("cluster",
    cluster_name="cluster1",
    properties=azure_native.hdinsight.ClusterGetPropertiesResponseArgs(
        cluster_definition=azure_native.hdinsight.ClusterDefinitionArgs(
            configurations={
                "gateway": {
                    "restAuthCredential.isEnabled": True,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind="hadoop",
        ),
        cluster_version="3.6",
        compute_profile={
            "roles": [
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="standard_d3",
                    ),
                    "name": "headnode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "targetInstanceCount": 2,
                    "virtualNetworkProfile": azure_native.hdinsight.VirtualNetworkProfileArgs(
                        id="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    ),
                },
                {
                    "hardwareProfile": azure_native.hdinsight.HardwareProfileArgs(
                        vm_size="standard_d3",
                    ),
                    "name": "workernode",
                    "osProfile": {
                        "linuxOperatingSystemProfile": {
                            "password": "**********",
                            "sshProfile": {
                                "publicKeys": [azure_native.hdinsight.SshPublicKeyArgs(
                                    certificate_data="**********",
                                )],
                            },
                            "username": "sshuser",
                        },
                    },
                    "targetInstanceCount": 2,
                    "virtualNetworkProfile": azure_native.hdinsight.VirtualNetworkProfileArgs(
                        id="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet="/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    ),
                },
            ],
        },
        network_properties=azure_native.hdinsight.NetworkPropertiesArgs(
            private_link="Enabled",
            resource_provider_connection="Outbound",
        ),
        os_type=azure_native.hdinsight.OSType.LINUX,
        storage_profile={
            "storageaccounts": [azure_native.hdinsight.StorageAccountArgs(
                container="containername",
                is_default=True,
                key="storage account key",
                name="mystorage",
            )],
        },
    ),
    resource_group_name="rg1")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const cluster = new azure_native.hdinsight.Cluster("cluster", {
    clusterName: "cluster1",
    properties: {
        clusterDefinition: {
            configurations: {
                gateway: {
                    "restAuthCredential.isEnabled": true,
                    "restAuthCredential.password": "**********",
                    "restAuthCredential.username": "admin",
                },
            },
            kind: "hadoop",
        },
        clusterVersion: "3.6",
        computeProfile: {
            roles: [
                {
                    hardwareProfile: {
                        vmSize: "standard_d3",
                    },
                    name: "headnode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                    virtualNetworkProfile: {
                        id: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    },
                },
                {
                    hardwareProfile: {
                        vmSize: "standard_d3",
                    },
                    name: "workernode",
                    osProfile: {
                        linuxOperatingSystemProfile: {
                            password: "**********",
                            sshProfile: {
                                publicKeys: [{
                                    certificateData: "**********",
                                }],
                            },
                            username: "sshuser",
                        },
                    },
                    targetInstanceCount: 2,
                    virtualNetworkProfile: {
                        id: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
                        subnet: "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet",
                    },
                },
            ],
        },
        networkProperties: {
            privateLink: "Enabled",
            resourceProviderConnection: "Outbound",
        },
        osType: azure_native.hdinsight.OSType.Linux,
        storageProfile: {
            storageaccounts: [{
                container: "containername",
                isDefault: true,
                key: "storage account key",
                name: "mystorage",
            }],
        },
    },
    resourceGroupName: "rg1",
});
resources:
  cluster:
    type: azure-native:hdinsight:Cluster
    properties:
      clusterName: cluster1
      properties:
        clusterDefinition:
          configurations:
            gateway:
              restAuthCredential.isEnabled: true
              restAuthCredential.password: '**********'
              restAuthCredential.username: admin
          kind: hadoop
        clusterVersion: '3.6'
        computeProfile:
          roles:
            - hardwareProfile:
                vmSize: standard_d3
              name: headnode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              targetInstanceCount: 2
              virtualNetworkProfile:
                id: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname
                subnet: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet
            - hardwareProfile:
                vmSize: standard_d3
              name: workernode
              osProfile:
                linuxOperatingSystemProfile:
                  password: '**********'
                  sshProfile:
                    publicKeys:
                      - certificateData: '**********'
                  username: sshuser
              targetInstanceCount: 2
              virtualNetworkProfile:
                id: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname
                subnet: /subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet
        networkProperties:
          privateLink: Enabled
          resourceProviderConnection: Outbound
        osType: Linux
        storageProfile:
          storageaccounts:
            - container: containername
              isDefault: true
              key: storage account key
              name: mystorage
      resourceGroupName: rg1

Create Cluster Resource

new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            cluster_name: Optional[str] = None,
            identity: Optional[ClusterIdentityArgs] = None,
            location: Optional[str] = None,
            properties: Optional[ClusterCreatePropertiesArgs] = None,
            resource_group_name: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = 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: azure-native:hdinsight: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:

ResourceGroupName string

The name of the resource group.

ClusterName string

The name of the cluster.

Identity Pulumi.AzureNative.HDInsight.Inputs.ClusterIdentityArgs

The identity of the cluster, if configured.

Location string

The location of the cluster.

Properties Pulumi.AzureNative.HDInsight.Inputs.ClusterCreatePropertiesArgs

The cluster create parameters.

Tags Dictionary<string, string>

The resource tags.

ResourceGroupName string

The name of the resource group.

ClusterName string

The name of the cluster.

Identity ClusterIdentityArgs

The identity of the cluster, if configured.

Location string

The location of the cluster.

Properties ClusterCreatePropertiesArgs

The cluster create parameters.

Tags map[string]string

The resource tags.

resourceGroupName String

The name of the resource group.

clusterName String

The name of the cluster.

identity ClusterIdentityArgs

The identity of the cluster, if configured.

location String

The location of the cluster.

properties ClusterCreatePropertiesArgs

The cluster create parameters.

tags Map<String,String>

The resource tags.

resourceGroupName string

The name of the resource group.

clusterName string

The name of the cluster.

identity ClusterIdentityArgs

The identity of the cluster, if configured.

location string

The location of the cluster.

properties ClusterCreatePropertiesArgs

The cluster create parameters.

tags {[key: string]: string}

The resource tags.

resource_group_name str

The name of the resource group.

cluster_name str

The name of the cluster.

identity ClusterIdentityArgs

The identity of the cluster, if configured.

location str

The location of the cluster.

properties ClusterCreatePropertiesArgs

The cluster create parameters.

tags Mapping[str, str]

The resource tags.

resourceGroupName String

The name of the resource group.

clusterName String

The name of the cluster.

identity Property Map

The identity of the cluster, if configured.

location String

The location of the cluster.

properties Property Map

The cluster create parameters.

tags Map<String>

The resource tags.

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.

Name string

The name of the resource

Type string

The type of the resource.

Etag string

The ETag for the resource

Id string

The provider-assigned unique ID for this managed resource.

Name string

The name of the resource

Type string

The type of the resource.

Etag string

The ETag for the resource

id String

The provider-assigned unique ID for this managed resource.

name String

The name of the resource

type String

The type of the resource.

etag String

The ETag for the resource

id string

The provider-assigned unique ID for this managed resource.

name string

The name of the resource

type string

The type of the resource.

etag string

The ETag for the resource

id str

The provider-assigned unique ID for this managed resource.

name str

The name of the resource

type str

The type of the resource.

etag str

The ETag for the resource

id String

The provider-assigned unique ID for this managed resource.

name String

The name of the resource

type String

The type of the resource.

etag String

The ETag for the resource

Supporting Types

Autoscale

Capacity AutoscaleCapacity

Parameters for load-based autoscale

Recurrence AutoscaleRecurrence

Parameters for schedule-based autoscale

capacity AutoscaleCapacity

Parameters for load-based autoscale

recurrence AutoscaleRecurrence

Parameters for schedule-based autoscale

capacity AutoscaleCapacity

Parameters for load-based autoscale

recurrence AutoscaleRecurrence

Parameters for schedule-based autoscale

capacity AutoscaleCapacity

Parameters for load-based autoscale

recurrence AutoscaleRecurrence

Parameters for schedule-based autoscale

capacity Property Map

Parameters for load-based autoscale

recurrence Property Map

Parameters for schedule-based autoscale

AutoscaleCapacity

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

maxInstanceCount Integer

The maximum instance count of the cluster

minInstanceCount Integer

The minimum instance count of the cluster

maxInstanceCount number

The maximum instance count of the cluster

minInstanceCount number

The minimum instance count of the cluster

max_instance_count int

The maximum instance count of the cluster

min_instance_count int

The minimum instance count of the cluster

maxInstanceCount Number

The maximum instance count of the cluster

minInstanceCount Number

The minimum instance count of the cluster

AutoscaleCapacityResponse

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

maxInstanceCount Integer

The maximum instance count of the cluster

minInstanceCount Integer

The minimum instance count of the cluster

maxInstanceCount number

The maximum instance count of the cluster

minInstanceCount number

The minimum instance count of the cluster

max_instance_count int

The maximum instance count of the cluster

min_instance_count int

The minimum instance count of the cluster

maxInstanceCount Number

The maximum instance count of the cluster

minInstanceCount Number

The minimum instance count of the cluster

AutoscaleRecurrence

Schedule List<Pulumi.AzureNative.HDInsight.Inputs.AutoscaleSchedule>

Array of schedule-based autoscale rules

TimeZone string

The time zone for the autoscale schedule times

Schedule []AutoscaleSchedule

Array of schedule-based autoscale rules

TimeZone string

The time zone for the autoscale schedule times

schedule List<AutoscaleSchedule>

Array of schedule-based autoscale rules

timeZone String

The time zone for the autoscale schedule times

schedule AutoscaleSchedule[]

Array of schedule-based autoscale rules

timeZone string

The time zone for the autoscale schedule times

schedule Sequence[AutoscaleSchedule]

Array of schedule-based autoscale rules

time_zone str

The time zone for the autoscale schedule times

schedule List<Property Map>

Array of schedule-based autoscale rules

timeZone String

The time zone for the autoscale schedule times

AutoscaleRecurrenceResponse

Schedule List<Pulumi.AzureNative.HDInsight.Inputs.AutoscaleScheduleResponse>

Array of schedule-based autoscale rules

TimeZone string

The time zone for the autoscale schedule times

Schedule []AutoscaleScheduleResponse

Array of schedule-based autoscale rules

TimeZone string

The time zone for the autoscale schedule times

schedule List<AutoscaleScheduleResponse>

Array of schedule-based autoscale rules

timeZone String

The time zone for the autoscale schedule times

schedule AutoscaleScheduleResponse[]

Array of schedule-based autoscale rules

timeZone string

The time zone for the autoscale schedule times

schedule Sequence[AutoscaleScheduleResponse]

Array of schedule-based autoscale rules

time_zone str

The time zone for the autoscale schedule times

schedule List<Property Map>

Array of schedule-based autoscale rules

timeZone String

The time zone for the autoscale schedule times

AutoscaleResponse

Capacity AutoscaleCapacityResponse

Parameters for load-based autoscale

Recurrence AutoscaleRecurrenceResponse

Parameters for schedule-based autoscale

capacity AutoscaleCapacityResponse

Parameters for load-based autoscale

recurrence AutoscaleRecurrenceResponse

Parameters for schedule-based autoscale

capacity AutoscaleCapacityResponse

Parameters for load-based autoscale

recurrence AutoscaleRecurrenceResponse

Parameters for schedule-based autoscale

capacity AutoscaleCapacityResponse

Parameters for load-based autoscale

recurrence AutoscaleRecurrenceResponse

Parameters for schedule-based autoscale

capacity Property Map

Parameters for load-based autoscale

recurrence Property Map

Parameters for schedule-based autoscale

AutoscaleSchedule

Days List<Pulumi.AzureNative.HDInsight.DaysOfWeek>

Days of the week for a schedule-based autoscale rule

TimeAndCapacity Pulumi.AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacity

Time and capacity for a schedule-based autoscale rule

Days []DaysOfWeek

Days of the week for a schedule-based autoscale rule

TimeAndCapacity AutoscaleTimeAndCapacity

Time and capacity for a schedule-based autoscale rule

days List<DaysOfWeek>

Days of the week for a schedule-based autoscale rule

timeAndCapacity AutoscaleTimeAndCapacity

Time and capacity for a schedule-based autoscale rule

days DaysOfWeek[]

Days of the week for a schedule-based autoscale rule

timeAndCapacity AutoscaleTimeAndCapacity

Time and capacity for a schedule-based autoscale rule

days Sequence[DaysOfWeek]

Days of the week for a schedule-based autoscale rule

time_and_capacity AutoscaleTimeAndCapacity

Time and capacity for a schedule-based autoscale rule

days List<"Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday">

Days of the week for a schedule-based autoscale rule

timeAndCapacity Property Map

Time and capacity for a schedule-based autoscale rule

AutoscaleScheduleResponse

Days List<string>

Days of the week for a schedule-based autoscale rule

TimeAndCapacity Pulumi.AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityResponse

Time and capacity for a schedule-based autoscale rule

Days []string

Days of the week for a schedule-based autoscale rule

TimeAndCapacity AutoscaleTimeAndCapacityResponse

Time and capacity for a schedule-based autoscale rule

days List<String>

Days of the week for a schedule-based autoscale rule

timeAndCapacity AutoscaleTimeAndCapacityResponse

Time and capacity for a schedule-based autoscale rule

days string[]

Days of the week for a schedule-based autoscale rule

timeAndCapacity AutoscaleTimeAndCapacityResponse

Time and capacity for a schedule-based autoscale rule

days Sequence[str]

Days of the week for a schedule-based autoscale rule

time_and_capacity AutoscaleTimeAndCapacityResponse

Time and capacity for a schedule-based autoscale rule

days List<String>

Days of the week for a schedule-based autoscale rule

timeAndCapacity Property Map

Time and capacity for a schedule-based autoscale rule

AutoscaleTimeAndCapacity

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

Time string

24-hour time in the form xx:xx

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

Time string

24-hour time in the form xx:xx

maxInstanceCount Integer

The maximum instance count of the cluster

minInstanceCount Integer

The minimum instance count of the cluster

time String

24-hour time in the form xx:xx

maxInstanceCount number

The maximum instance count of the cluster

minInstanceCount number

The minimum instance count of the cluster

time string

24-hour time in the form xx:xx

max_instance_count int

The maximum instance count of the cluster

min_instance_count int

The minimum instance count of the cluster

time str

24-hour time in the form xx:xx

maxInstanceCount Number

The maximum instance count of the cluster

minInstanceCount Number

The minimum instance count of the cluster

time String

24-hour time in the form xx:xx

AutoscaleTimeAndCapacityResponse

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

Time string

24-hour time in the form xx:xx

MaxInstanceCount int

The maximum instance count of the cluster

MinInstanceCount int

The minimum instance count of the cluster

Time string

24-hour time in the form xx:xx

maxInstanceCount Integer

The maximum instance count of the cluster

minInstanceCount Integer

The minimum instance count of the cluster

time String

24-hour time in the form xx:xx

maxInstanceCount number

The maximum instance count of the cluster

minInstanceCount number

The minimum instance count of the cluster

time string

24-hour time in the form xx:xx

max_instance_count int

The maximum instance count of the cluster

min_instance_count int

The minimum instance count of the cluster

time str

24-hour time in the form xx:xx

maxInstanceCount Number

The maximum instance count of the cluster

minInstanceCount Number

The minimum instance count of the cluster

time String

24-hour time in the form xx:xx

ClientGroupInfo

GroupId string

The AAD security group id.

GroupName string

The AAD security group name.

GroupId string

The AAD security group id.

GroupName string

The AAD security group name.

groupId String

The AAD security group id.

groupName String

The AAD security group name.

groupId string

The AAD security group id.

groupName string

The AAD security group name.

group_id str

The AAD security group id.

group_name str

The AAD security group name.

groupId String

The AAD security group id.

groupName String

The AAD security group name.

ClientGroupInfoResponse

GroupId string

The AAD security group id.

GroupName string

The AAD security group name.

GroupId string

The AAD security group id.

GroupName string

The AAD security group name.

groupId String

The AAD security group id.

groupName String

The AAD security group name.

groupId string

The AAD security group id.

groupName string

The AAD security group name.

group_id str

The AAD security group id.

group_name str

The AAD security group name.

groupId String

The AAD security group id.

groupName String

The AAD security group name.

ClusterCreateProperties