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

253 lines (252 loc) • 13.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"; /** * Describes a virtual machine scale set virtual machine. * * Uses Azure REST API version 2024-11-01. In version 2.x of the Azure Native provider, it used API version 2023-03-01. * * Other available API versions: 2022-08-01, 2022-11-01, 2023-03-01, 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native compute [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export declare class VirtualMachineScaleSetVM extends pulumi.CustomResource { /** * Get an existing VirtualMachineScaleSetVM 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): VirtualMachineScaleSetVM; /** * Returns true if the given object is an instance of VirtualMachineScaleSetVM. 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 VirtualMachineScaleSetVM; /** * Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */ readonly additionalCapabilities: pulumi.Output<outputs.compute.AdditionalCapabilitiesResponse | undefined>; /** * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. */ readonly availabilitySet: pulumi.Output<outputs.compute.SubResourceResponse | undefined>; /** * The Azure API version of the resource. */ readonly azureApiVersion: pulumi.Output<string>; /** * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */ readonly diagnosticsProfile: pulumi.Output<outputs.compute.DiagnosticsProfileResponse | undefined>; /** * Etag is property returned in Update/Get response of the VMSS VM, so that customer can supply it in the header to ensure optimistic updates. */ readonly etag: pulumi.Output<string>; /** * Specifies the hardware settings for the virtual machine. */ readonly hardwareProfile: pulumi.Output<outputs.compute.HardwareProfileResponse | undefined>; /** * The identity of the virtual machine, if configured. */ readonly identity: pulumi.Output<outputs.compute.VirtualMachineIdentityResponse | undefined>; /** * The virtual machine instance ID. */ readonly instanceId: pulumi.Output<string>; /** * The virtual machine instance view. */ readonly instanceView: pulumi.Output<outputs.compute.VirtualMachineScaleSetVMInstanceViewResponse>; /** * Specifies whether the latest model has been applied to the virtual machine. */ readonly latestModelApplied: pulumi.Output<boolean>; /** * Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */ readonly licenseType: pulumi.Output<string | undefined>; /** * The geo-location where the resource lives */ readonly location: pulumi.Output<string>; /** * Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine. */ readonly modelDefinitionApplied: pulumi.Output<string>; /** * The name of the resource */ readonly name: pulumi.Output<string>; /** * Specifies the network interfaces of the virtual machine. */ readonly networkProfile: pulumi.Output<outputs.compute.NetworkProfileResponse | undefined>; /** * Specifies the network profile configuration of the virtual machine. */ readonly networkProfileConfiguration: pulumi.Output<outputs.compute.VirtualMachineScaleSetVMNetworkProfileConfigurationResponse | undefined>; /** * Specifies the operating system settings for the virtual machine. */ readonly osProfile: pulumi.Output<outputs.compute.OSProfileResponse | undefined>; /** * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */ readonly plan: pulumi.Output<outputs.compute.PlanResponse | undefined>; /** * Specifies the protection policy of the virtual machine. */ readonly protectionPolicy: pulumi.Output<outputs.compute.VirtualMachineScaleSetVMProtectionPolicyResponse | undefined>; /** * The provisioning state, which only appears in the response. */ readonly provisioningState: pulumi.Output<string>; /** * Specifies the resilient VM deletion status for the virtual machine. */ readonly resilientVMDeletionStatus: pulumi.Output<string | undefined>; /** * The virtual machine child extension resources. */ readonly resources: pulumi.Output<outputs.compute.VirtualMachineExtensionResponse[]>; /** * Specifies the Security related profile settings for the virtual machine. */ readonly securityProfile: pulumi.Output<outputs.compute.SecurityProfileResponse | undefined>; /** * The virtual machine SKU. */ readonly sku: pulumi.Output<outputs.compute.SkuResponse>; /** * Specifies the storage settings for the virtual machine disks. */ readonly storageProfile: pulumi.Output<outputs.compute.StorageProfileResponse | undefined>; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ readonly systemData: pulumi.Output<outputs.compute.SystemDataResponse>; /** * Resource tags. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Specifies the time at which the Virtual Machine resource was created. Minimum api-version: 2021-11-01. */ readonly timeCreated: pulumi.Output<string>; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ readonly type: pulumi.Output<string>; /** * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01 */ readonly userData: pulumi.Output<string | undefined>; /** * Azure VM unique ID. */ readonly vmId: pulumi.Output<string>; /** * The virtual machine zones. */ readonly zones: pulumi.Output<string[]>; /** * Create a VirtualMachineScaleSetVM 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: VirtualMachineScaleSetVMArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a VirtualMachineScaleSetVM resource. */ export interface VirtualMachineScaleSetVMArgs { /** * Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type. */ additionalCapabilities?: pulumi.Input<inputs.compute.AdditionalCapabilitiesArgs>; /** * Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. */ availabilitySet?: pulumi.Input<inputs.compute.SubResourceArgs>; /** * Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15. */ diagnosticsProfile?: pulumi.Input<inputs.compute.DiagnosticsProfileArgs>; /** * Specifies the hardware settings for the virtual machine. */ hardwareProfile?: pulumi.Input<inputs.compute.HardwareProfileArgs>; /** * The identity of the virtual machine, if configured. */ identity?: pulumi.Input<inputs.compute.VirtualMachineIdentityArgs>; /** * The instance ID of the virtual machine. */ instanceId?: pulumi.Input<string>; /** * Specifies that the image or disk that is being used was licensed on-premises. <br><br> Possible values for Windows Server operating system are: <br><br> Windows_Client <br><br> Windows_Server <br><br> Possible values for Linux Server operating system are: <br><br> RHEL_BYOS (for RHEL) <br><br> SLES_BYOS (for SUSE) <br><br> For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing) <br><br> [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux) <br><br> Minimum api-version: 2015-06-15 */ licenseType?: pulumi.Input<string>; /** * The geo-location where the resource lives */ location?: pulumi.Input<string>; /** * Specifies the network interfaces of the virtual machine. */ networkProfile?: pulumi.Input<inputs.compute.NetworkProfileArgs>; /** * Specifies the network profile configuration of the virtual machine. */ networkProfileConfiguration?: pulumi.Input<inputs.compute.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs>; /** * Specifies the operating system settings for the virtual machine. */ osProfile?: pulumi.Input<inputs.compute.OSProfileArgs>; /** * Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. */ plan?: pulumi.Input<inputs.compute.PlanArgs>; /** * Specifies the protection policy of the virtual machine. */ protectionPolicy?: pulumi.Input<inputs.compute.VirtualMachineScaleSetVMProtectionPolicyArgs>; /** * Specifies the resilient VM deletion status for the virtual machine. */ resilientVMDeletionStatus?: pulumi.Input<string | enums.compute.ResilientVMDeletionStatus>; /** * The name of the resource group. The name is case insensitive. */ resourceGroupName: pulumi.Input<string>; /** * Specifies the Security related profile settings for the virtual machine. */ securityProfile?: pulumi.Input<inputs.compute.SecurityProfileArgs>; /** * Specifies the storage settings for the virtual machine disks. */ storageProfile?: pulumi.Input<inputs.compute.StorageProfileArgs>; /** * Resource tags. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01 */ userData?: pulumi.Input<string>; /** * The name of the VM scale set. */ vmScaleSetName: pulumi.Input<string>; }