@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 10.9 kB
TypeScript
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>;
}