Cluster Args
API Version: 2022-12-12-preview.
Example Usage
Create or update cluster
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var cluster = new AzureNative.NetworkCloud.Cluster("cluster", new()
{
AggregatorOrSingleRackDefinition = new AzureNative.NetworkCloud.Inputs.RackDefinitionArgs
{
BareMetalMachineConfigurationData = new[]
{
new AzureNative.NetworkCloud.Inputs.BareMetalMachineConfigurationDataArgs
{
BmcCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
BmcMacAddress = "AA:BB:CC:DD:EE:FF",
BootMacAddress = "00:BB:CC:DD:EE:FF",
MachineDetails = "extraDetails",
MachineName = "bmmName1",
RackSlot = 1,
SerialNumber = "BM1219XXX",
},
new AzureNative.NetworkCloud.Inputs.BareMetalMachineConfigurationDataArgs
{
BmcCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
BmcMacAddress = "AA:BB:CC:DD:EE:00",
BootMacAddress = "00:BB:CC:DD:EE:00",
MachineDetails = "extraDetails",
MachineName = "bmmName2",
RackSlot = 2,
SerialNumber = "BM1219YYY",
},
},
NetworkRackId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName",
RackLocation = "Foo Datacenter, Floor 3, Aisle 9, Rack 2",
RackSerialNumber = "AA1234",
RackSkuId = "/subscriptions/subscriptionId/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName",
StorageApplianceConfigurationData = new[]
{
new AzureNative.NetworkCloud.Inputs.StorageApplianceConfigurationDataArgs
{
AdminCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
RackSlot = 1,
SerialNumber = "BM1219XXX",
StorageApplianceName = "vmName",
},
},
},
AnalyticsWorkspaceId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName",
ClusterLocation = "Foo Street, 3rd Floor, row 9",
ClusterName = "clusterName",
ClusterServicePrincipal = new AzureNative.NetworkCloud.Inputs.ServicePrincipalInformationArgs
{
ApplicationId = "12345678-1234-1234-1234-123456789012",
Password = "{password}",
PrincipalId = "00000008-0004-0004-0004-000000000012",
TenantId = "80000000-4000-4000-4000-120000000000",
},
ClusterType = "SingleRack",
ClusterVersion = "1.0.0",
ComputeDeploymentThreshold = new AzureNative.NetworkCloud.Inputs.ValidationThresholdArgs
{
Grouping = "PerCluster",
Type = "PercentSuccess",
Value = 90,
},
ComputeRackDefinitions = new[]
{
new AzureNative.NetworkCloud.Inputs.RackDefinitionArgs
{
BareMetalMachineConfigurationData = new[]
{
new AzureNative.NetworkCloud.Inputs.BareMetalMachineConfigurationDataArgs
{
BmcCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
BmcMacAddress = "AA:BB:CC:DD:EE:FF",
BootMacAddress = "00:BB:CC:DD:EE:FF",
MachineDetails = "extraDetails",
MachineName = "bmmName1",
RackSlot = 1,
SerialNumber = "BM1219XXX",
},
new AzureNative.NetworkCloud.Inputs.BareMetalMachineConfigurationDataArgs
{
BmcCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
BmcMacAddress = "AA:BB:CC:DD:EE:00",
BootMacAddress = "00:BB:CC:DD:EE:00",
MachineDetails = "extraDetails",
MachineName = "bmmName2",
RackSlot = 2,
SerialNumber = "BM1219YYY",
},
},
NetworkRackId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName",
RackLocation = "Foo Datacenter, Floor 3, Aisle 9, Rack 2",
RackSerialNumber = "AA1234",
RackSkuId = "/subscriptions/subscriptionId/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName",
StorageApplianceConfigurationData = new[]
{
new AzureNative.NetworkCloud.Inputs.StorageApplianceConfigurationDataArgs
{
AdminCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "username",
},
RackSlot = 1,
SerialNumber = "BM1219XXX",
StorageApplianceName = "vmName",
},
},
},
},
ExtendedLocation = new AzureNative.NetworkCloud.Inputs.ExtendedLocationArgs
{
Name = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName",
Type = "CustomLocation",
},
Location = "location",
ManagedResourceGroupConfiguration = new AzureNative.NetworkCloud.Inputs.ManagedResourceGroupConfigurationArgs
{
Location = "East US",
Name = "my-managed-rg",
},
NetworkFabricId = "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName",
ResourceGroupName = "resourceGroupName",
Tags =
{
{ "key1", "myvalue1" },
{ "key2", "myvalue2" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.networkcloud.Cluster;
import com.pulumi.azurenative.networkcloud.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()
.aggregatorOrSingleRackDefinition(Map.ofEntries(
Map.entry("bareMetalMachineConfigurationData",
Map.ofEntries(
Map.entry("bmcCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("bmcMacAddress", "AA:BB:CC:DD:EE:FF"),
Map.entry("bootMacAddress", "00:BB:CC:DD:EE:FF"),
Map.entry("machineDetails", "extraDetails"),
Map.entry("machineName", "bmmName1"),
Map.entry("rackSlot", 1),
Map.entry("serialNumber", "BM1219XXX")
),
Map.ofEntries(
Map.entry("bmcCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("bmcMacAddress", "AA:BB:CC:DD:EE:00"),
Map.entry("bootMacAddress", "00:BB:CC:DD:EE:00"),
Map.entry("machineDetails", "extraDetails"),
Map.entry("machineName", "bmmName2"),
Map.entry("rackSlot", 2),
Map.entry("serialNumber", "BM1219YYY")
)),
Map.entry("networkRackId", "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName"),
Map.entry("rackLocation", "Foo Datacenter, Floor 3, Aisle 9, Rack 2"),
Map.entry("rackSerialNumber", "AA1234"),
Map.entry("rackSkuId", "/subscriptions/subscriptionId/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName"),
Map.entry("storageApplianceConfigurationData", Map.ofEntries(
Map.entry("adminCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("rackSlot", 1),
Map.entry("serialNumber", "BM1219XXX"),
Map.entry("storageApplianceName", "vmName")
))
))
.analyticsWorkspaceId("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName")
.clusterLocation("Foo Street, 3rd Floor, row 9")
.clusterName("clusterName")
.clusterServicePrincipal(Map.ofEntries(
Map.entry("applicationId", "12345678-1234-1234-1234-123456789012"),
Map.entry("password", "{password}"),
Map.entry("principalId", "00000008-0004-0004-0004-000000000012"),
Map.entry("tenantId", "80000000-4000-4000-4000-120000000000")
))
.clusterType("SingleRack")
.clusterVersion("1.0.0")
.computeDeploymentThreshold(Map.ofEntries(
Map.entry("grouping", "PerCluster"),
Map.entry("type", "PercentSuccess"),
Map.entry("value", 90)
))
.computeRackDefinitions(Map.ofEntries(
Map.entry("bareMetalMachineConfigurationData",
Map.ofEntries(
Map.entry("bmcCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("bmcMacAddress", "AA:BB:CC:DD:EE:FF"),
Map.entry("bootMacAddress", "00:BB:CC:DD:EE:FF"),
Map.entry("machineDetails", "extraDetails"),
Map.entry("machineName", "bmmName1"),
Map.entry("rackSlot", 1),
Map.entry("serialNumber", "BM1219XXX")
),
Map.ofEntries(
Map.entry("bmcCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("bmcMacAddress", "AA:BB:CC:DD:EE:00"),
Map.entry("bootMacAddress", "00:BB:CC:DD:EE:00"),
Map.entry("machineDetails", "extraDetails"),
Map.entry("machineName", "bmmName2"),
Map.entry("rackSlot", 2),
Map.entry("serialNumber", "BM1219YYY")
)),
Map.entry("networkRackId", "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName"),
Map.entry("rackLocation", "Foo Datacenter, Floor 3, Aisle 9, Rack 2"),
Map.entry("rackSerialNumber", "AA1234"),
Map.entry("rackSkuId", "/subscriptions/subscriptionId/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName"),
Map.entry("storageApplianceConfigurationData", Map.ofEntries(
Map.entry("adminCredentials", Map.ofEntries(
Map.entry("password", "{password}"),
Map.entry("username", "username")
)),
Map.entry("rackSlot", 1),
Map.entry("serialNumber", "BM1219XXX"),
Map.entry("storageApplianceName", "vmName")
))
))
.extendedLocation(Map.ofEntries(
Map.entry("name", "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName"),
Map.entry("type", "CustomLocation")
))
.location("location")
.managedResourceGroupConfiguration(Map.ofEntries(
Map.entry("location", "East US"),
Map.entry("name", "my-managed-rg")
))
.networkFabricId("/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName")
.resourceGroupName("resourceGroupName")
.tags(Map.ofEntries(
Map.entry("key1", "myvalue1"),
Map.entry("key2", "myvalue2")
))
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:networkcloud:Cluster clusterName /subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName
Constructors
Properties
The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster.
The resource ID of the Log Analytics Workspace that will be used for storing relevant logs.
The customer-provided location information to identify where the cluster resides.
The name of the cluster.
The service principal to be used by the cluster during Arc Appliance installation.
The type of rack configuration for the cluster.
The current runtime version of the cluster.
The validation threshold indicating the allowable failures of compute machines during environment validation and deployment.
The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster.
The extended location of the cluster manager associated with the cluster.
The configuration of the managed resource group associated with the resource.
The resource ID of the Network Fabric associated with the cluster.
The name of the resource group. The name is case insensitive.