ClusterArgs

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) : ConvertibleToJava<ClusterArgs>

The HDInsight cluster. API Version: 2018-06-01-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[]
{
AzureNative.HDInsight.DaysOfWeek.Monday,
AzureNative.HDInsight.DaysOfWeek.Tuesday,
AzureNative.HDInsight.DaysOfWeek.Wednesday,
AzureNative.HDInsight.DaysOfWeek.Thursday,
AzureNative.HDInsight.DaysOfWeek.Friday,
},
TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
{
MaxInstanceCount = 3,
MinInstanceCount = 3,
Time = "09:00",
},
},
new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
{
Days = new[]
{
AzureNative.HDInsight.DaysOfWeek.Monday,
AzureNative.HDInsight.DaysOfWeek.Tuesday,
AzureNative.HDInsight.DaysOfWeek.Wednesday,
AzureNative.HDInsight.DaysOfWeek.Thursday,
AzureNative.HDInsight.DaysOfWeek.Friday,
},
TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
{
MaxInstanceCount = 6,
MinInstanceCount = 6,
Time = "18:00",
},
},
new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
{
Days = new[]
{
AzureNative.HDInsight.DaysOfWeek.Saturday,
AzureNative.HDInsight.DaysOfWeek.Sunday,
},
TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
{
MaxInstanceCount = 2,
MinInstanceCount = 2,
Time = "09:00",
},
},
new AzureNative.HDInsight.Inputs.AutoscaleScheduleArgs
{
Days = new[]
{
AzureNative.HDInsight.DaysOfWeek.Saturday,
AzureNative.HDInsight.DaysOfWeek.Sunday,
},
TimeAndCapacity = new AzureNative.HDInsight.Inputs.AutoscaleTimeAndCapacityArgs
{
MaxInstanceCount = 4,
MinInstanceCount = 4,
Time = "18:00",
},
},
},
TimeZone = "China Standard Time",
},
},
HardwareProfile = new AzureNative.HDInsight.Inputs.HardwareProfileArgs
{
VmSize = "Standard_D4_V2",
},
Name = "workernode",
OsProfile = new AzureNative.HDInsight.Inputs.OsProfileArgs
{
LinuxOperatingSystemProfile = new AzureNative.HDInsight.Inputs.LinuxOperatingSystemProfileArgs
{
Password = "**********",
Username = "sshuser",
},
},
ScriptActions = new[] {},
TargetInstanceCount = 4,
},
},
},
OsType = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "hdinsight-autoscale-tes-2019-06-18t05-49-16-591z",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
FileSystem = "default",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.dfs.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
Tags =
{
{ "key1", "val1" },
},
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
Tags =
{
{ "key1", "val1" },
},
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
Tags =
{
{ "key1", "val1" },
},
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
SecurityProfile = new AzureNative.HDInsight.Inputs.SecurityProfileArgs
{
ClusterUsersGroupDNs = new[]
{
"hdiusers",
},
DirectoryType = AzureNative.HDInsight.DirectoryType.ActiveDirectory,
Domain = "DomainName",
DomainUserPassword = "**********",
DomainUsername = "DomainUsername",
LdapsUrls = new[]
{
"ldaps://10.10.0.4:636",
},
OrganizationalUnitDN = "OU=Hadoop,DC=hdinsight,DC=test",
},
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storage account key",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Premium,
},
ResourceGroupName = "rg1",
Tags =
{
{ "key1", "val1" },
},
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storageapikey*",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
Tags =
{
{ "key1", "val1" },
},
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "default8525",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storage account key",
Name = "mystorage",
},
},
},
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "default8525",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "default8525",
IsDefault = true,
Key = "storagekey",
Name = "mystorage.blob.core.windows.net",
},
},
},
Tier = AzureNative.HDInsight.Tier.Standard,
},
ResourceGroupName = "rg1",
});
});
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());
}
}

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 = AzureNative.HDInsight.OSType.Linux,
StorageProfile = new AzureNative.HDInsight.Inputs.StorageProfileArgs
{
Storageaccounts = new[]
{
new AzureNative.HDInsight.Inputs.StorageAccountArgs
{
Container = "containername",
IsDefault = true,
Key = "storage account key",
Name = "mystorage",
},
},
},
},
ResourceGroupName = "rg1",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hdinsight.Cluster;
import com.pulumi.azurenative.hdinsight.ClusterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cluster = new Cluster("cluster", ClusterArgs.builder()
.clusterName("cluster1")
.properties(Map.ofEntries(
Map.entry("clusterDefinition", Map.ofEntries(
Map.entry("configurations", Map.of("gateway", ClusterCreatePropertiesArgs.builder()
%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))),
Map.entry("kind", "hadoop")
)),
Map.entry("clusterVersion", "3.6"),
Map.entry("computeProfile", Map.of("roles",
Map.ofEntries(
Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
Map.entry("name", "headnode"),
Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
Map.entry("password", "**********"),
Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
Map.entry("username", "sshuser")
))),
Map.entry("targetInstanceCount", 2),
Map.entry("virtualNetworkProfile", Map.ofEntries(
Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
))
),
Map.ofEntries(
Map.entry("hardwareProfile", Map.of("vmSize", "standard_d3")),
Map.entry("name", "workernode"),
Map.entry("osProfile", Map.of("linuxOperatingSystemProfile", Map.ofEntries(
Map.entry("password", "**********"),
Map.entry("sshProfile", Map.of("publicKeys", Map.of("certificateData", "**********"))),
Map.entry("username", "sshuser")
))),
Map.entry("targetInstanceCount", 2),
Map.entry("virtualNetworkProfile", Map.ofEntries(
Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname"),
Map.entry("subnet", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet")
))
))),
Map.entry("networkProperties", Map.ofEntries(
Map.entry("privateLink", "Enabled"),
Map.entry("resourceProviderConnection", "Outbound")
)),
Map.entry("osType", "Linux"),
Map.entry("storageProfile", Map.of("storageaccounts", Map.ofEntries(
Map.entry("container", "containername"),
Map.entry("isDefault", true),
Map.entry("key", "storage account key"),
Map.entry("name", "mystorage")
)))
))
.resourceGroupName("rg1")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:hdinsight:Cluster cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1

Constructors

Link copied to clipboard
constructor(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)

Properties

Link copied to clipboard
val clusterName: Output<String>? = null

The name of the cluster.

Link copied to clipboard
val identity: Output<ClusterIdentityArgs>? = null

The identity of the cluster, if configured.

Link copied to clipboard
val location: Output<String>? = null

The location of the cluster.

Link copied to clipboard

The cluster create parameters.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

The resource tags.

Functions

Link copied to clipboard
open override fun toJava(): ClusterArgs