MachineArgs

data class MachineArgs(val agentUpgrade: Output<AgentUpgradeArgs>? = null, val clientPublicKey: Output<String>? = null, val expand: Output<String>? = null, val extensions: Output<List<MachineExtensionInstanceViewArgs>>? = null, val identity: Output<IdentityArgs>? = null, val kind: Output<Either<String, ArcKindEnum>>? = null, val licenseProfile: Output<LicenseProfileMachineInstanceViewArgs>? = null, val location: Output<String>? = null, val locationData: Output<LocationDataArgs>? = null, val machineName: Output<String>? = null, val mssqlDiscovered: Output<String>? = null, val osProfile: Output<OSProfileArgs>? = null, val osType: Output<String>? = null, val parentClusterResourceId: Output<String>? = null, val privateLinkScopeResourceId: Output<String>? = null, val resourceGroupName: Output<String>? = null, val serviceStatuses: Output<ServiceStatusesArgs>? = null, val tags: Output<Map<String, String>>? = null, val vmId: Output<String>? = null) : ConvertibleToJava<MachineArgs>

Describes a hybrid machine. Uses Azure REST API version 2024-07-10. In version 2.x of the Azure Native provider, it used API version 2022-12-27. Other available API versions: 2020-08-15-preview, 2021-01-28-preview, 2021-03-25-preview, 2021-04-22-preview, 2021-05-17-preview, 2021-05-20, 2021-06-10-preview, 2021-12-10-preview, 2022-03-10, 2022-05-10-preview, 2022-08-11-preview, 2022-11-10, 2022-12-27, 2022-12-27-preview, 2023-03-15-preview, 2023-06-20-preview, 2023-10-03-preview, 2024-03-31-preview, 2024-05-20-preview, 2024-07-31-preview, 2024-09-10-preview, 2024-11-10-preview, 2025-01-13. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native hybridcompute [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create or Update a Machine

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var machine = new AzureNative.HybridCompute.Machine("machine", new()
{
ClientPublicKey = "string",
Identity = new AzureNative.HybridCompute.Inputs.IdentityArgs
{
Type = AzureNative.HybridCompute.ResourceIdentityType.SystemAssigned,
},
Location = "eastus2euap",
LocationData = new AzureNative.HybridCompute.Inputs.LocationDataArgs
{
Name = "Redmond",
},
MachineName = "myMachine",
OsProfile = new AzureNative.HybridCompute.Inputs.OSProfileArgs
{
WindowsConfiguration = new AzureNative.HybridCompute.Inputs.OSProfileWindowsConfigurationArgs
{
EnableHotpatching = true,
},
},
ParentClusterResourceId = "{AzureStackHCIResourceId}",
PrivateLinkScopeResourceId = "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
ResourceGroupName = "myResourceGroup",
VmId = "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
});
});
package main
import (
hybridcompute "github.com/pulumi/pulumi-azure-native-sdk/hybridcompute/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hybridcompute.NewMachine(ctx, "machine", &hybridcompute.MachineArgs{
ClientPublicKey: pulumi.String("string"),
Identity: &hybridcompute.IdentityArgs{
Type: hybridcompute.ResourceIdentityTypeSystemAssigned,
},
Location: pulumi.String("eastus2euap"),
LocationData: &hybridcompute.LocationDataArgs{
Name: pulumi.String("Redmond"),
},
MachineName: pulumi.String("myMachine"),
OsProfile: &hybridcompute.OSProfileArgs{
WindowsConfiguration: &hybridcompute.OSProfileWindowsConfigurationArgs{
EnableHotpatching: pulumi.Bool(true),
},
},
ParentClusterResourceId: pulumi.String("{AzureStackHCIResourceId}"),
PrivateLinkScopeResourceId: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"),
ResourceGroupName: pulumi.String("myResourceGroup"),
VmId: pulumi.String("b7a098cc-b0b8-46e8-a205-62f301a62a8f"),
})
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.hybridcompute.Machine;
import com.pulumi.azurenative.hybridcompute.MachineArgs;
import com.pulumi.azurenative.hybridcompute.inputs.IdentityArgs;
import com.pulumi.azurenative.hybridcompute.inputs.LocationDataArgs;
import com.pulumi.azurenative.hybridcompute.inputs.OSProfileArgs;
import com.pulumi.azurenative.hybridcompute.inputs.OSProfileWindowsConfigurationArgs;
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 machine = new Machine("machine", MachineArgs.builder()
.clientPublicKey("string")
.identity(IdentityArgs.builder()
.type("SystemAssigned")
.build())
.location("eastus2euap")
.locationData(LocationDataArgs.builder()
.name("Redmond")
.build())
.machineName("myMachine")
.osProfile(OSProfileArgs.builder()
.windowsConfiguration(OSProfileWindowsConfigurationArgs.builder()
.enableHotpatching(true)
.build())
.build())
.parentClusterResourceId("{AzureStackHCIResourceId}")
.privateLinkScopeResourceId("/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName")
.resourceGroupName("myResourceGroup")
.vmId("b7a098cc-b0b8-46e8-a205-62f301a62a8f")
.build());
}
}

Import

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

$ pulumi import azure-native:hybridcompute:Machine myMachine /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}

Constructors

Link copied to clipboard
constructor(agentUpgrade: Output<AgentUpgradeArgs>? = null, clientPublicKey: Output<String>? = null, expand: Output<String>? = null, extensions: Output<List<MachineExtensionInstanceViewArgs>>? = null, identity: Output<IdentityArgs>? = null, kind: Output<Either<String, ArcKindEnum>>? = null, licenseProfile: Output<LicenseProfileMachineInstanceViewArgs>? = null, location: Output<String>? = null, locationData: Output<LocationDataArgs>? = null, machineName: Output<String>? = null, mssqlDiscovered: Output<String>? = null, osProfile: Output<OSProfileArgs>? = null, osType: Output<String>? = null, parentClusterResourceId: Output<String>? = null, privateLinkScopeResourceId: Output<String>? = null, resourceGroupName: Output<String>? = null, serviceStatuses: Output<ServiceStatusesArgs>? = null, tags: Output<Map<String, String>>? = null, vmId: Output<String>? = null)

Properties

Link copied to clipboard
val agentUpgrade: Output<AgentUpgradeArgs>? = null

The info of the machine w.r.t Agent Upgrade

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

Public Key that the client provides to be used during initial resource onboarding

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

Expands referenced resources.

Link copied to clipboard

Machine Extensions information (deprecated field)

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

Identity for the resource.

Link copied to clipboard
val kind: Output<Either<String, ArcKindEnum>>? = null

Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware etc.

Link copied to clipboard

Specifies the License related properties for a machine.

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

The geo-location where the resource lives

Link copied to clipboard
val locationData: Output<LocationDataArgs>? = null

Metadata pertaining to the geographic location of the resource.

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

The name of the hybrid machine.

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

Specifies whether any MS SQL instance is discovered on the machine.

Link copied to clipboard
val osProfile: Output<OSProfileArgs>? = null

Specifies the operating system settings for the hybrid machine.

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

The type of Operating System (windows/linux).

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

The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.

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

The resource id of the private link scope this machine is assigned to, if any.

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

The name of the resource group. The name is case insensitive.

Link copied to clipboard

Statuses of dependent services that are reported back to ARM.

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

Resource tags.

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

Specifies the hybrid machine unique ID.

Functions

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