UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

263 lines (262 loc) • 10.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * 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](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export declare class VirtualMachine extends pulumi.CustomResource { /** * Get an existing VirtualMachine resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): VirtualMachine; /** * Returns true if the given object is an instance of VirtualMachine. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VirtualMachine; /** * The name of the administrator to which the ssh public keys will be added into the authorized keys. */ readonly adminUsername: pulumi.Output<string>; /** * The cluster availability zone containing this virtual machine. */ readonly availabilityZone: pulumi.Output<string>; /** * The Azure API version of the resource. */ readonly azureApiVersion: pulumi.Output<string>; /** * The resource ID of the bare metal machine that hosts the virtual machine. */ readonly bareMetalMachineId: pulumi.Output<string>; /** * Selects the boot method for the virtual machine. */ readonly bootMethod: pulumi.Output<string | undefined>; /** * The cloud service network that provides platform-level services for the virtual machine. */ readonly cloudServicesNetworkAttachment: pulumi.Output<outputs.networkcloud.NetworkAttachmentResponse>; /** * The resource ID of the cluster the virtual machine is created for. */ readonly clusterId: pulumi.Output<string>; /** * The extended location to use for creation of a VM console resource. */ readonly consoleExtendedLocation: pulumi.Output<outputs.networkcloud.ExtendedLocationResponse | undefined>; /** * The number of CPU cores in the virtual machine. */ readonly cpuCores: pulumi.Output<number>; /** * The more detailed status of the virtual machine. */ readonly detailedStatus: pulumi.Output<string>; /** * The descriptive message about the current detailed status. */ readonly detailedStatusMessage: pulumi.Output<string>; /** * Resource ETag. */ readonly etag: pulumi.Output<string>; /** * The extended location of the cluster associated with the resource. */ readonly extendedLocation: pulumi.Output<outputs.networkcloud.ExtendedLocationResponse>; /** * Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine. */ readonly isolateEmulatorThread: pulumi.Output<string | undefined>; /** * The geo-location where the resource lives */ readonly location: pulumi.Output<string>; /** * The memory size of the virtual machine. Allocations are measured in gibibytes. */ readonly memorySizeGB: pulumi.Output<number>; /** * The name of the resource */ readonly name: pulumi.Output<string>; /** * The list of network attachments to the virtual machine. */ readonly networkAttachments: pulumi.Output<outputs.networkcloud.NetworkAttachmentResponse[] | undefined>; /** * The Base64 encoded cloud-init network data. */ readonly networkData: pulumi.Output<string | undefined>; /** * The scheduling hints for the virtual machine. */ readonly placementHints: pulumi.Output<outputs.networkcloud.VirtualMachinePlacementHintResponse[] | undefined>; /** * The power state of the virtual machine. */ readonly powerState: pulumi.Output<string>; /** * The provisioning state of the virtual machine. */ readonly provisioningState: pulumi.Output<string>; /** * The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. */ readonly sshPublicKeys: pulumi.Output<outputs.networkcloud.SshPublicKeyResponse[] | undefined>; /** * The storage profile that specifies size and other parameters about the disks related to the virtual machine. */ readonly storageProfile: pulumi.Output<outputs.networkcloud.StorageProfileResponse>; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ readonly systemData: pulumi.Output<outputs.networkcloud.SystemDataResponse>; /** * Resource tags. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ readonly type: pulumi.Output<string>; /** * The Base64 encoded cloud-init user data. */ readonly userData: pulumi.Output<string | undefined>; /** * Field Deprecated, use virtualizationModel instead. The type of the virtio interface. */ readonly virtioInterface: pulumi.Output<string | undefined>; /** * The type of the device model to use. */ readonly vmDeviceModel: pulumi.Output<string | undefined>; /** * The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image. */ readonly vmImage: pulumi.Output<string>; /** * The credentials used to login to the image repository that has access to the specified image. */ readonly vmImageRepositoryCredentials: pulumi.Output<outputs.networkcloud.ImageRepositoryCredentialsResponse | undefined>; /** * The resource IDs of volumes that are attached to the virtual machine. */ readonly volumes: pulumi.Output<string[]>; /** * Create a VirtualMachine resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VirtualMachineArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a VirtualMachine resource. */ export interface VirtualMachineArgs { /** * The name of the administrator to which the ssh public keys will be added into the authorized keys. */ adminUsername: pulumi.Input<string>; /** * Selects the boot method for the virtual machine. */ bootMethod?: pulumi.Input<string | enums.networkcloud.VirtualMachineBootMethod>; /** * The cloud service network that provides platform-level services for the virtual machine. */ cloudServicesNetworkAttachment: pulumi.Input<inputs.networkcloud.NetworkAttachmentArgs>; /** * The extended location to use for creation of a VM console resource. */ consoleExtendedLocation?: pulumi.Input<inputs.networkcloud.ExtendedLocationArgs>; /** * The number of CPU cores in the virtual machine. */ cpuCores: pulumi.Input<number>; /** * The extended location of the cluster associated with the resource. */ extendedLocation: pulumi.Input<inputs.networkcloud.ExtendedLocationArgs>; /** * Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine. */ isolateEmulatorThread?: pulumi.Input<string | enums.networkcloud.VirtualMachineIsolateEmulatorThread>; /** * The geo-location where the resource lives */ location?: pulumi.Input<string>; /** * The memory size of the virtual machine. Allocations are measured in gibibytes. */ memorySizeGB: pulumi.Input<number>; /** * The list of network attachments to the virtual machine. */ networkAttachments?: pulumi.Input<pulumi.Input<inputs.networkcloud.NetworkAttachmentArgs>[]>; /** * The Base64 encoded cloud-init network data. */ networkData?: pulumi.Input<string>; /** * The scheduling hints for the virtual machine. */ placementHints?: pulumi.Input<pulumi.Input<inputs.networkcloud.VirtualMachinePlacementHintArgs>[]>; /** * The name of the resource group. The name is case insensitive. */ resourceGroupName: pulumi.Input<string>; /** * The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. */ sshPublicKeys?: pulumi.Input<pulumi.Input<inputs.networkcloud.SshPublicKeyArgs>[]>; /** * The storage profile that specifies size and other parameters about the disks related to the virtual machine. */ storageProfile: pulumi.Input<inputs.networkcloud.StorageProfileArgs>; /** * Resource tags. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The Base64 encoded cloud-init user data. */ userData?: pulumi.Input<string>; /** * Field Deprecated, use virtualizationModel instead. The type of the virtio interface. */ virtioInterface?: pulumi.Input<string | enums.networkcloud.VirtualMachineVirtioInterfaceType>; /** * The name of the virtual machine. */ virtualMachineName?: pulumi.Input<string>; /** * The type of the device model to use. */ vmDeviceModel?: pulumi.Input<string | enums.networkcloud.VirtualMachineDeviceModelType>; /** * The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image. */ vmImage: pulumi.Input<string>; /** * The credentials used to login to the image repository that has access to the specified image. */ vmImageRepositoryCredentials?: pulumi.Input<inputs.networkcloud.ImageRepositoryCredentialsArgs>; }