Cluster Args
    data class ClusterArgs(val clusterName: Output<String>? = null, val identity: Output<ClusterIdentityArgs>? = null, val location: Output<String>? = null, val properties: Output<ClusterCreatePropertiesArgs>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<ClusterArgs> 
The HDInsight cluster. Azure REST API version: 2021-06-01. Prior API version in Azure Native 1.x: 2018-06-01-preview. Other available API versions: 2023-04-15-preview, 2023-06-01-preview, 2023-08-15-preview.
Example Usage
Create HDInsight cluster with Autoscale configuration
using System.Collections.Generic;
using System.Linq;
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[]
                                        {
                                            "Monday",
                                            "Tuesday",
                                            "Wednesday",
                                            "Thursday",
                                            "Friday",
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 3,
                                            MinInstanceCount = 3,
                                            Time = "09:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            "Monday",
                                            "Tuesday",
                                            "Wednesday",
                                            "Thursday",
                                            "Friday",
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 6,
                                            MinInstanceCount = 6,
                                            Time = "18:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            "Saturday",
                                            "Sunday",
                                        },
                                        TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
                                        {
                                            MaxInstanceCount = 2,
                                            MinInstanceCount = 2,
                                            Time = "09:00",
                                        },
                                    },
                                    new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
                                    {
                                        Days = new[]
                                        {
                                            "Saturday",
                                            "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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
ComponentVersion: pulumi.StringMap{
"Hadoop": pulumi.String("2.7"),
},
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
AutoscaleConfiguration: interface{}{
Recurrence: interface{}{
Schedule: hdinsight.AutoscaleScheduleArray{
interface{}{
Days: pulumi.StringArray{
pulumi.String("Monday"),
pulumi.String("Tuesday"),
pulumi.String("Wednesday"),
pulumi.String("Thursday"),
pulumi.String("Friday"),
},
TimeAndCapacity: &hdinsight.AutoscaleTimeAndCapacityArgs{
MaxInstanceCount: pulumi.Int(3),
MinInstanceCount: pulumi.Int(3),
Time: pulumi.String("09:00"),
},
},
interface{}{
Days: pulumi.StringArray{
pulumi.String("Monday"),
pulumi.String("Tuesday"),
pulumi.String("Wednesday"),
pulumi.String("Thursday"),
pulumi.String("Friday"),
},
TimeAndCapacity: &hdinsight.AutoscaleTimeAndCapacityArgs{
MaxInstanceCount: pulumi.Int(6),
MinInstanceCount: pulumi.Int(6),
Time: pulumi.String("18:00"),
},
},
interface{}{
Days: pulumi.StringArray{
pulumi.String("Saturday"),
pulumi.String("Sunday"),
},
TimeAndCapacity: &hdinsight.AutoscaleTimeAndCapacityArgs{
MaxInstanceCount: pulumi.Int(2),
MinInstanceCount: pulumi.Int(2),
Time: pulumi.String("09:00"),
},
},
interface{}{
Days: pulumi.StringArray{
pulumi.String("Saturday"),
pulumi.String("Sunday"),
},
TimeAndCapacity: &hdinsight.AutoscaleTimeAndCapacityArgs{
MaxInstanceCount: pulumi.Int(4),
MinInstanceCount: pulumi.Int(4),
Time: pulumi.String("18:00"),
},
},
},
TimeZone: pulumi.String("China Standard Time"),
},
},
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D4_V2"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
ScriptActions: hdinsight.ScriptActionArray{
},
TargetInstanceCount: pulumi.Int(4),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("hdinsight-autoscale-tes-2019-06-18t05-49-16-591z"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Hadoop cluster with Azure Data Lake Storage Gen 2
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
        Tags =
        {
            { "key1", "val1" },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": "true",
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(4),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
FileSystem: pulumi.String("default"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.dfs.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Hadoop on Linux cluster with SSH password
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
        Tags =
        {
            { "key1", "val1" },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": "true",
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.5"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(4),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Hadoop on Linux cluster with SSH public key
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
        Tags =
        {
            { "key1", "val1" },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.5"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(4),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Kafka cluster with Kafka Rest Proxy
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
ComponentVersion: pulumi.StringMap{
"Kafka": pulumi.String("2.1"),
},
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("kafka"),
},
ClusterVersion: pulumi.String("4.0"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
DataDisksGroups: hdinsight.DataDisksGroupsArray{
&hdinsight.DataDisksGroupsArgs{
DisksPerNode: pulumi.Int(8),
},
},
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D4_v2"),
},
Name: pulumi.String("kafkamanagementnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("kafkauser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
},
},
KafkaRestProperties: interface{}{
ClientGroupInfo: &hdinsight.ClientGroupInfoArgs{
GroupId: pulumi.String("00000000-0000-0000-0000-111111111111"),
GroupName: pulumi.String("Kafka security group name"),
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Secure Hadoop cluster
using System.Collections.Generic;
using System.Linq;
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 = "Linux",
            SecurityProfile = new AzureNative.HDInsight.Inputs.SecurityProfileArgs
            {
                ClusterUsersGroupDNs = new[]
                {
                    "hdiusers",
                },
                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 = "Premium",
        },
        ResourceGroupName = "rg1",
        Tags =
        {
            { "key1", "val1" },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.5"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
ScriptActions: hdinsight.ScriptActionArray{
},
TargetInstanceCount: pulumi.Int(2),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D3_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
ScriptActions: hdinsight.ScriptActionArray{
},
TargetInstanceCount: pulumi.Int(4),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
ScriptActions: hdinsight.ScriptActionArray{
},
TargetInstanceCount: pulumi.Int(3),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
},
},
OsType: pulumi.String("Linux"),
SecurityProfile: &hdinsight.SecurityProfileArgs{
ClusterUsersGroupDNs: pulumi.StringArray{
pulumi.String("hdiusers"),
},
DirectoryType: pulumi.String("ActiveDirectory"),
Domain: pulumi.String("DomainName"),
DomainUserPassword: pulumi.String("**********"),
DomainUsername: pulumi.String("DomainUsername"),
LdapsUrls: pulumi.StringArray{
pulumi.String("ldaps://10.10.0.4:636"),
},
OrganizationalUnitDN: pulumi.String("OU=Hadoop,DC=hdinsight,DC=test"),
},
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storage account key"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Premium"),
},
ResourceGroupName: pulumi.String("rg1"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create Spark on Linux Cluster with SSH password
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
        Tags =
        {
            { "key1", "val1" },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
ComponentVersion: pulumi.StringMap{
"Spark": pulumi.String("2.0"),
},
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Spark"),
},
ClusterVersion: pulumi.String("3.5"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D12_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_D4_V2"),
},
MinInstanceCount: pulumi.Int(1),
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(4),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storageapikey*"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create cluster with TLS 1.2
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
MinSupportedTlsVersion: pulumi.String("1.2"),
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("default8525"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create cluster with availability zones
using System.Collections.Generic;
using System.Linq;
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 =
                {
                    { "ambari-conf",
                    {
                        { "database-name", "{ambari database name}" },
                        { "database-server", "{sql server name}.database.windows.net" },
                        { "database-user-name", "**********" },
                        { "database-user-password", "**********" },
                    } },
                    { "gateway",
                    {
                        { "restAuthCredential.isEnabled", true },
                        { "restAuthCredential.password", "**********" },
                        { "restAuthCredential.username", "admin" },
                    } },
                    { "hive-env",
                    {
                        { "hive_database", "Existing MSSQL Server database with SQL authentication" },
                        { "hive_database_name", "{hive metastore name}" },
                        { "hive_database_type", "mssql" },
                        { "hive_existing_mssql_server_database", "{hive metastore name}" },
                        { "hive_existing_mssql_server_host", "{sql server name}.database.windows.net" },
                        { "hive_hostname", "{sql server name}.database.windows.net" },
                    } },
                    { "hive-site",
                    {
                        { "javax.jdo.option.ConnectionDriverName", "com.microsoft.sqlserver.jdbc.SQLServerDriver" },
                        { "javax.jdo.option.ConnectionPassword", "**********!" },
                        { "javax.jdo.option.ConnectionURL", "jdbc:sqlserver://{sql server name}.database.windows.net;database={hive metastore name};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=300;sendStringParametersAsUnicode=true;prepareSQL=0" },
                        { "javax.jdo.option.ConnectionUserName", "**********" },
                    } },
                    { "oozie-env",
                    {
                        { "oozie_database", "Existing MSSQL Server database with SQL authentication" },
                        { "oozie_database_name", "{oozie metastore name}" },
                        { "oozie_database_type", "mssql" },
                        { "oozie_existing_mssql_server_database", "{oozie metastore name}" },
                        { "oozie_existing_mssql_server_host", "{sql server name}.database.windows.net" },
                        { "oozie_hostname", "{sql server name}.database.windows.net" },
                    } },
                    { "oozie-site",
                    {
                        { "oozie.db.schema.name", "oozie" },
                        { "oozie.service.JPAService.jdbc.driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver" },
                        { "oozie.service.JPAService.jdbc.password", "**********" },
                        { "oozie.service.JPAService.jdbc.url", "jdbc:sqlserver://{sql server name}.database.windows.net;database={oozie metastore name};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=300;sendStringParametersAsUnicode=true;prepareSQL=0" },
                        { "oozie.service.JPAService.jdbc.username", "**********" },
                    } },
                },
                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",
                        },
                    },
                },
            },
            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",
        Zones = new[]
        {
            "1",
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
AmbariConf: map[string]interface{}{
"database-name": "{ambari database name}",
"database-server": "{sql server name}.database.windows.net",
"database-user-name": "**********",
"database-user-password": "**********",
},
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
HiveEnv: map[string]interface{}{
"hive_database": "Existing MSSQL Server database with SQL authentication",
"hive_database_name": "{hive metastore name}",
"hive_database_type": "mssql",
"hive_existing_mssql_server_database": "{hive metastore name}",
"hive_existing_mssql_server_host": "{sql server name}.database.windows.net",
"hive_hostname": "{sql server name}.database.windows.net",
},
HiveSite: map[string]interface{}{
"javax.jdo.option.ConnectionDriverName": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"javax.jdo.option.ConnectionPassword": "**********!",
"javax.jdo.option.ConnectionURL": "jdbc:sqlserver://{sql server name}.database.windows.net;database={hive metastore name};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=300;sendStringParametersAsUnicode=true;prepareSQL=0",
"javax.jdo.option.ConnectionUserName": "**********",
},
OozieEnv: map[string]interface{}{
"oozie_database": "Existing MSSQL Server database with SQL authentication",
"oozie_database_name": "{oozie metastore name}",
"oozie_database_type": "mssql",
"oozie_existing_mssql_server_database": "{oozie metastore name}",
"oozie_existing_mssql_server_host": "{sql server name}.database.windows.net",
"oozie_hostname": "{sql server name}.database.windows.net",
},
OozieSite: map[string]interface{}{
"oozie.db.schema.name": "oozie",
"oozie.service.JPAService.jdbc.driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"oozie.service.JPAService.jdbc.password": "**********",
"oozie.service.JPAService.jdbc.url": "jdbc:sqlserver://{sql server name}.database.windows.net;database={oozie metastore name};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=300;sendStringParametersAsUnicode=true;prepareSQL=0",
"oozie.service.JPAService.jdbc.username": "**********",
},
},
Kind: pulumi.String("hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storage account key"),
Name: pulumi.String("mystorage"),
},
},
},
},
ResourceGroupName: pulumi.String("rg1"),
Zones: pulumi.StringArray{
pulumi.String("1"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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.ofEntries(
                        Map.entry("ambari-conf", ClusterCreatePropertiesArgs.builder()
                            .database_name("{ambari database name}")
                            .database_server("{sql server name}.database.windows.net")
                            .database_user_name("**********")
                            .database_user_password("**********")
                            .build()),
                        Map.entry("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression)),
                            Map.entry("hive-env", ClusterCreatePropertiesArgs.builder()
                                .hive_database("Existing MSSQL Server database with SQL authentication")
                                .hive_database_name("{hive metastore name}")
                                .hive_database_type("mssql")
                                .hive_existing_mssql_server_database("{hive metastore name}")
                                .hive_existing_mssql_server_host("{sql server name}.database.windows.net")
                                .hive_hostname("{sql server name}.database.windows.net")
                                .build()),
                            Map.entry("hive-site", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression)),
                                Map.entry("oozie-env", ClusterCreatePropertiesArgs.builder()
                                    .oozie_database("Existing MSSQL Server database with SQL authentication")
                                    .oozie_database_name("{oozie metastore name}")
                                    .oozie_database_type("mssql")
                                    .oozie_existing_mssql_server_database("{oozie metastore name}")
                                    .oozie_existing_mssql_server_host("{sql server name}.database.windows.net")
                                    .oozie_hostname("{sql server name}.database.windows.net")
                                    .build()),
                                Map.entry("oozie-site", 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("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")
                        .zones("1")
                        .build());
                }
}Content copied to clipboard
Create cluster with compute isolation properties
using System.Collections.Generic;
using System.Linq;
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 = "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",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeIsolationProperties: &hdinsight.ComputeIsolationPropertiesArgs{
EnableComputeIsolation: pulumi.Bool(true),
},
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
},
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storage account key"),
Name: pulumi.String("mystorage"),
},
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create cluster with encryption at host
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_DS14_v2"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_DS14_v2"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Standard_DS14_v2"),
},
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
DiskEncryptionProperties: &hdinsight.DiskEncryptionPropertiesArgs{
EncryptionAtHost: pulumi.Bool(true),
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("default8525"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create cluster with encryption in transit
using System.Collections.Generic;
using System.Linq;
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 = "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 = "Standard",
        },
        ResourceGroupName = "rg1",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("Hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Large"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("Small"),
},
Name: pulumi.String("zookeepernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: &hdinsight.LinuxOperatingSystemProfileArgs{
Password: pulumi.String("**********"),
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(3),
},
},
},
EncryptionInTransitProperties: &hdinsight.EncryptionInTransitPropertiesArgs{
IsEncryptionInTransitEnabled: pulumi.Bool(true),
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("default8525"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storagekey"),
Name: pulumi.String("mystorage.blob.core.windows.net"),
},
},
},
Tier: pulumi.String("Standard"),
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Create cluster with network properties
using System.Collections.Generic;
using System.Linq;
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 = "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",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/hdinsight/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hdinsight.NewCluster(ctx, "cluster", &hdinsight.ClusterArgs{
ClusterName: pulumi.String("cluster1"),
Properties: hdinsight.ClusterGetPropertiesResponse{
ClusterDefinition: &hdinsight.ClusterDefinitionArgs{
Configurations: pulumi.Any{
Gateway: map[string]interface{}{
"restAuthCredential.isEnabled": true,
"restAuthCredential.password": "**********",
"restAuthCredential.username": "admin",
},
},
Kind: pulumi.String("hadoop"),
},
ClusterVersion: pulumi.String("3.6"),
ComputeProfile: interface{}{
Roles: hdinsight.RoleArray{
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("headnode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
interface{}{
HardwareProfile: &hdinsight.HardwareProfileArgs{
VmSize: pulumi.String("standard_d3"),
},
Name: pulumi.String("workernode"),
OsProfile: interface{}{
LinuxOperatingSystemProfile: interface{}{
Password: pulumi.String("**********"),
SshProfile: interface{}{
PublicKeys: hdinsight.SshPublicKeyArray{
&hdinsight.SshPublicKeyArgs{
CertificateData: pulumi.String("**********"),
},
},
},
Username: pulumi.String("sshuser"),
},
},
TargetInstanceCount: pulumi.Int(2),
VirtualNetworkProfile: &hdinsight.VirtualNetworkProfileArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Subnet: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"),
},
},
},
},
NetworkProperties: &hdinsight.NetworkPropertiesArgs{
PrivateLink: pulumi.String("Enabled"),
ResourceProviderConnection: pulumi.String("Outbound"),
},
OsType: pulumi.String("Linux"),
StorageProfile: interface{}{
Storageaccounts: hdinsight.StorageAccountArray{
&hdinsight.StorageAccountArgs{
Container: pulumi.String("containername"),
IsDefault: pulumi.Bool(true),
Key: pulumi.String("storage account key"),
Name: pulumi.String("mystorage"),
},
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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());
        }
}Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:hdinsight:Cluster cluster1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}Content copied to clipboard
Constructors
Link copied to clipboard
                fun ClusterArgs(clusterName: Output<String>? = null, identity: Output<ClusterIdentityArgs>? = null, location: Output<String>? = null, properties: Output<ClusterCreatePropertiesArgs>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null, zones: Output<List<String>>? = null)