BareMetalMachine

class BareMetalMachine : KotlinCustomResource

Uses Azure REST API version 2025-02-01. In version 2.x of the Azure Native provider, it used API version 2023-10-01-preview. Other available API versions: 2024-07-01, 2024-10-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native networkcloud [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create or update bare metal machine

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var bareMetalMachine = new AzureNative.NetworkCloud.BareMetalMachine("bareMetalMachine", new()
{
BareMetalMachineName = "bareMetalMachineName",
BmcConnectionString = "bmcconnectionstring",
BmcCredentials = new AzureNative.NetworkCloud.Inputs.AdministrativeCredentialsArgs
{
Password = "{password}",
Username = "bmcuser",
},
BmcMacAddress = "00:00:4f:00:57:00",
BootMacAddress = "00:00:4e:00:58:af",
ExtendedLocation = new AzureNative.NetworkCloud.Inputs.ExtendedLocationArgs
{
Name = "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName",
Type = "CustomLocation",
},
Location = "location",
MachineDetails = "User-provided machine details.",
MachineName = "r01c001",
MachineSkuId = "684E-3B16-399E",
RackId = "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName",
RackSlot = 1,
ResourceGroupName = "resourceGroupName",
SerialNumber = "BM1219XXX",
Tags =
{
{ "key1", "myvalue1" },
{ "key2", "myvalue2" },
},
});
});
package main
import (
networkcloud "github.com/pulumi/pulumi-azure-native-sdk/networkcloud/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := networkcloud.NewBareMetalMachine(ctx, "bareMetalMachine", &networkcloud.BareMetalMachineArgs{
BareMetalMachineName: pulumi.String("bareMetalMachineName"),
BmcConnectionString: pulumi.String("bmcconnectionstring"),
BmcCredentials: &networkcloud.AdministrativeCredentialsArgs{
Password: pulumi.String("{password}"),
Username: pulumi.String("bmcuser"),
},
BmcMacAddress: pulumi.String("00:00:4f:00:57:00"),
BootMacAddress: pulumi.String("00:00:4e:00:58:af"),
ExtendedLocation: &networkcloud.ExtendedLocationArgs{
Name: pulumi.String("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName"),
Type: pulumi.String("CustomLocation"),
},
Location: pulumi.String("location"),
MachineDetails: pulumi.String("User-provided machine details."),
MachineName: pulumi.String("r01c001"),
MachineSkuId: pulumi.String("684E-3B16-399E"),
RackId: pulumi.String("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName"),
RackSlot: pulumi.Float64(1),
ResourceGroupName: pulumi.String("resourceGroupName"),
SerialNumber: pulumi.String("BM1219XXX"),
Tags: pulumi.StringMap{
"key1": pulumi.String("myvalue1"),
"key2": pulumi.String("myvalue2"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.networkcloud.BareMetalMachine;
import com.pulumi.azurenative.networkcloud.BareMetalMachineArgs;
import com.pulumi.azurenative.networkcloud.inputs.AdministrativeCredentialsArgs;
import com.pulumi.azurenative.networkcloud.inputs.ExtendedLocationArgs;
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 bareMetalMachine = new BareMetalMachine("bareMetalMachine", BareMetalMachineArgs.builder()
.bareMetalMachineName("bareMetalMachineName")
.bmcConnectionString("bmcconnectionstring")
.bmcCredentials(AdministrativeCredentialsArgs.builder()
.password("{password}")
.username("bmcuser")
.build())
.bmcMacAddress("00:00:4f:00:57:00")
.bootMacAddress("00:00:4e:00:58:af")
.extendedLocation(ExtendedLocationArgs.builder()
.name("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName")
.type("CustomLocation")
.build())
.location("location")
.machineDetails("User-provided machine details.")
.machineName("r01c001")
.machineSkuId("684E-3B16-399E")
.rackId("/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName")
.rackSlot(1.0)
.resourceGroupName("resourceGroupName")
.serialNumber("BM1219XXX")
.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:BareMetalMachine bareMetalMachineName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}

Properties

Link copied to clipboard

The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard

The connection string for the baseboard management controller including IP address and protocol.

Link copied to clipboard

The credentials of the baseboard management controller on this bare metal machine.

Link copied to clipboard
val bmcMacAddress: Output<String>

The MAC address of the BMC device.

Link copied to clipboard
val bootMacAddress: Output<String>

The MAC address of a NIC connected to the PXE network.

Link copied to clipboard
val clusterId: Output<String>

The resource ID of the cluster this bare metal machine is associated with.

Link copied to clipboard
val cordonStatus: Output<String>

The cordon status of the bare metal machine.

Link copied to clipboard
val detailedStatus: Output<String>

The more detailed status of the bare metal machine.

Link copied to clipboard

The descriptive message about the current detailed status.

Link copied to clipboard
val etag: Output<String>

Resource ETag.

Link copied to clipboard

The extended location of the cluster associated with the resource.

Link copied to clipboard

The hardware inventory, including information acquired from the model/sku information and from the ironic inspector.

Link copied to clipboard

The details of the latest hardware validation performed for this bare metal machine.

Link copied to clipboard

Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the HybridAksClusters that have nodes hosted on this bare metal machine.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

The name of this machine represented by the host object in the Cluster's Kubernetes control plane.

Link copied to clipboard

The version of Kubernetes running on this machine.

Link copied to clipboard
val location: Output<String>

The geo-location where the resource lives

Link copied to clipboard

The cluster version that has been applied to this machine during deployment or a version update.

Link copied to clipboard
val machineDetails: Output<String>

The custom details provided by the customer.

Link copied to clipboard
val machineName: Output<String>

The OS-level hostname assigned to this machine.

Link copied to clipboard
val machineRoles: Output<List<String>>

The list of roles that are assigned to the cluster node running on this machine.

Link copied to clipboard
val machineSkuId: Output<String>

The unique internal identifier of the bare metal machine SKU.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard
val oamIpv4Address: Output<String>

The IPv4 address that is assigned to the bare metal machine during the cluster deployment.

Link copied to clipboard
val oamIpv6Address: Output<String>

The IPv6 address that is assigned to the bare metal machine during the cluster deployment.

Link copied to clipboard
val osImage: Output<String>

The image that is currently provisioned to the OS disk.

Link copied to clipboard
val powerState: Output<String>

The power state derived from the baseboard management controller.

Link copied to clipboard

The provisioning state of the bare metal machine.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val rackId: Output<String>

The resource ID of the rack where this bare metal machine resides.

Link copied to clipboard
val rackSlot: Output<Double>

The rack slot in which this bare metal machine is located, ordered from the bottom up i.e. the lowest slot is 1.

Link copied to clipboard
val readyState: Output<String>

The indicator of whether the bare metal machine is ready to receive workloads.

Link copied to clipboard

The runtime protection status of the bare metal machine.

Link copied to clipboard

The list of statuses that represent secret rotation activity.

Link copied to clipboard
val serialNumber: Output<String>

The serial number of the bare metal machine.

Link copied to clipboard
val serviceTag: Output<String>

The discovered value of the machine's service tag.

Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

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

Resource tags.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the VirtualMachines that are hosted on this bare metal machine.