Module compute

This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource AvailabilitySet

class AvailabilitySet extends CustomResource

Manages an Availability Set for Virtual Machines.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAvailabilitySet = new azure.compute.AvailabilitySet("exampleAvailabilitySet", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    tags: {
        environment: "Production",
    },
});

constructor

new AvailabilitySet(name: string, args: AvailabilitySetArgs, opts?: pulumi.CustomResourceOptions)

Create a AvailabilitySet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AvailabilitySetState, opts?: pulumi.CustomResourceOptions): AvailabilitySet

Get an existing AvailabilitySet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AvailabilitySet

Returns true if the given object is an instance of AvailabilitySet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property managed

public managed: pulumi.Output<boolean | undefined>;

Specifies whether the availability set is managed or not. Possible values are true (to specify aligned) or false (to specify classic). Default is true.

property name

public name: pulumi.Output<string>;

Specifies the name of the availability set. Changing this forces a new resource to be created.

property platformFaultDomainCount

public platformFaultDomainCount: pulumi.Output<number | undefined>;

Specifies the number of fault domains that are used. Defaults to 3.

property platformUpdateDomainCount

public platformUpdateDomainCount: pulumi.Output<number | undefined>;

Specifies the number of update domains that are used. Defaults to 5.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource BastionHost

class BastionHost extends CustomResource

Manages a Bastion Host.

Note: Bastion Hosts are a preview feature in Azure, and therefore are only supported in a select number of regions. Read more.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["192.168.1.0/24"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "192.168.1.224/27",
});
const examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    allocationMethod: "Static",
    sku: "Standard",
});
const exampleBastionHost = new azure.compute.BastionHost("exampleBastionHost", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    ip_configuration: {
        name: "configuration",
        subnetId: exampleSubnet.id,
        publicIpAddressId: examplePublicIp.id,
    },
});

constructor

new BastionHost(name: string, args: BastionHostArgs, opts?: pulumi.CustomResourceOptions)

Create a BastionHost resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BastionHostState, opts?: pulumi.CustomResourceOptions): BastionHost

Get an existing BastionHost resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is BastionHost

Returns true if the given object is an instance of BastionHost. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property dnsName

public dnsName: pulumi.Output<string>;

The FQDN for the Bastion Host.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipConfiguration

public ipConfiguration: pulumi.Output<BastionHostIpConfiguration | undefined>;

A ipConfiguration block as defined below.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Bastion Host. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the Bastion Host.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DataDiskAttachment

class DataDiskAttachment extends CustomResource

Manages attaching a Disk to a Virtual Machine.

NOTE: Data Disks can be attached either directly on the azure.compute.VirtualMachine resource, or using the azure.compute.DataDiskAttachment resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.

Please Note: only Managed Disks are supported via this separate resource, Unmanaged Disks can be attached using the storageDataDisk block in the azure.compute.VirtualMachine resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const config = new pulumi.Config();
const prefix = config.get("prefix") || "example";
const vmName = `${prefix}-vm`;
const mainResourceGroup = new azure.core.ResourceGroup("mainResourceGroup", {location: "West Europe"});
const mainVirtualNetwork = new azure.network.VirtualNetwork("mainVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
});
const internal = new azure.network.Subnet("internal", {
    resourceGroupName: mainResourceGroup.name,
    virtualNetworkName: mainVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const mainNetworkInterface = new azure.network.NetworkInterface("mainNetworkInterface", {
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
    ip_configuration: [{
        name: "internal",
        subnetId: internal.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const exampleVirtualMachine = new azure.compute.VirtualMachine("exampleVirtualMachine", {
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
    networkInterfaceIds: [mainNetworkInterface.id],
    vmSize: "Standard_F2",
    storage_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
    storage_os_disk: {
        name: "myosdisk1",
        caching: "ReadWrite",
        createOption: "FromImage",
        managedDiskType: "Standard_LRS",
    },
    os_profile: {
        computerName: vmName,
        adminUsername: "testadmin",
        adminPassword: "Password1234!",
    },
    os_profile_linux_config: {
        disablePasswordAuthentication: false,
    },
});
const exampleManagedDisk = new azure.compute.ManagedDisk("exampleManagedDisk", {
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: 10,
});
const exampleDataDiskAttachment = new azure.compute.DataDiskAttachment("exampleDataDiskAttachment", {
    managedDiskId: exampleManagedDisk.id,
    virtualMachineId: exampleVirtualMachine.id,
    lun: "10",
    caching: "ReadWrite",
});

constructor

new DataDiskAttachment(name: string, args: DataDiskAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a DataDiskAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataDiskAttachmentState, opts?: pulumi.CustomResourceOptions): DataDiskAttachment

Get an existing DataDiskAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DataDiskAttachment

Returns true if the given object is an instance of DataDiskAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property caching

public caching: pulumi.Output<string>;

Specifies the caching requirements for this Data Disk. Possible values include None, ReadOnly and ReadWrite.

property createOption

public createOption: pulumi.Output<string | undefined>;

The Create Option of the Data Disk, such as Empty or Attach. Defaults to Attach. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lun

public lun: pulumi.Output<number>;

The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.

property managedDiskId

public managedDiskId: pulumi.Output<string>;

The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualMachineId

public virtualMachineId: pulumi.Output<string>;

The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.

property writeAcceleratorEnabled

public writeAcceleratorEnabled: pulumi.Output<boolean | undefined>;

Specifies if Write Accelerator is enabled on the disk. This can only be enabled on Premium_LRS managed disks with no caching and M-Series VMs. Defaults to false.

Resource DedicatedHost

class DedicatedHost extends CustomResource

Manage a Dedicated Host within a Dedicated Host Group.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup("exampleDedicatedHostGroup", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    platformFaultDomainCount: 2,
});
const exampleDedicatedHost = new azure.compute.DedicatedHost("exampleDedicatedHost", {
    location: exampleResourceGroup.location,
    dedicatedHostGroupId: exampleDedicatedHostGroup.id,
    skuName: "DSv3-Type1",
    platformFaultDomain: 1,
});

constructor

new DedicatedHost(name: string, args: DedicatedHostArgs, opts?: pulumi.CustomResourceOptions)

Create a DedicatedHost resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DedicatedHostState, opts?: pulumi.CustomResourceOptions): DedicatedHost

Get an existing DedicatedHost resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DedicatedHost

Returns true if the given object is an instance of DedicatedHost. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoReplaceOnFailure

public autoReplaceOnFailure: pulumi.Output<boolean | undefined>;

Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to true.

property dedicatedHostGroupId

public dedicatedHostGroupId: pulumi.Output<string>;

Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property licenseType

public licenseType: pulumi.Output<string | undefined>;

Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are None, Windows_Server_Hybrid and Windows_Server_Perpetual. Defaults to None.

property location

public location: pulumi.Output<string>;

Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.

property platformFaultDomain

public platformFaultDomain: pulumi.Output<number>;

Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.

property skuName

public skuName: pulumi.Output<string>;

Specify the sku name of the Dedicated Host. Possible values are DSv3-Type1, DSv3-Type2, ESv3-Type1, ESv3-Type2,FSv2-Type2. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DedicatedHostGroup

class DedicatedHostGroup extends CustomResource

Manage a Dedicated Host Group.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup("exampleDedicatedHostGroup", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    platformFaultDomainCount: 1,
});

constructor

new DedicatedHostGroup(name: string, args: DedicatedHostGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a DedicatedHostGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DedicatedHostGroupState, opts?: pulumi.CustomResourceOptions): DedicatedHostGroup

Get an existing DedicatedHostGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DedicatedHostGroup

Returns true if the given object is an instance of DedicatedHostGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.

property platformFaultDomainCount

public platformFaultDomainCount: pulumi.Output<number>;

The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zones

public zones: pulumi.Output<string | undefined>;

A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.

Resource DiskEncryptionSet

class DiskEncryptionSet extends CustomResource

Manages a Disk Encryption Set.

NOTE: At this time the Key Vault used to store the Active Key for this Disk Encryption Set must have both Soft Delete & Purge Protection enabled - which are not yet supported by this provider.

constructor

new DiskEncryptionSet(name: string, args: DiskEncryptionSetArgs, opts?: pulumi.CustomResourceOptions)

Create a DiskEncryptionSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DiskEncryptionSetState, opts?: pulumi.CustomResourceOptions): DiskEncryptionSet

Get an existing DiskEncryptionSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DiskEncryptionSet

Returns true if the given object is an instance of DiskEncryptionSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<DiskEncryptionSetIdentity>;

A identity block defined below.

property keyVaultKeyId

public keyVaultKeyId: pulumi.Output<string>;

Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret).

property location

public location: pulumi.Output<string>;

Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

The name of the Disk Encryption Set. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the Disk Encryption Set.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Extension

class Extension extends CustomResource

Manages a Virtual Machine Extension to provide post deployment configuration and run automated tasks.

NOTE: Custom Script Extensions for Linux & Windows require that the commandToExecute returns a 0 exit code to be classified as successfully deployed. You can achieve this by appending exit 0 to the end of your commandToExecute.

NOTE: Custom Script Extensions require that the Azure Virtual Machine Guest Agent is running on the Virtual Machine.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    ip_configuration: [{
        name: "testconfiguration1",
        subnetId: exampleSubnet.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    tags: {
        environment: "staging",
    },
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});
const exampleVirtualMachine = new azure.compute.VirtualMachine("exampleVirtualMachine", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    networkInterfaceIds: [exampleNetworkInterface.id],
    vmSize: "Standard_F2",
    storage_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
    storage_os_disk: {
        name: "myosdisk1",
        vhdUri: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/myosdisk1.vhd`,
        caching: "ReadWrite",
        createOption: "FromImage",
    },
    os_profile: {
        computerName: "hostname",
        adminUsername: "testadmin",
        adminPassword: "Password1234!",
    },
    os_profile_linux_config: {
        disablePasswordAuthentication: false,
    },
    tags: {
        environment: "staging",
    },
});
const exampleExtension = new azure.compute.Extension("exampleExtension", {
    virtualMachineId: exampleVirtualMachine.id,
    publisher: "Microsoft.Azure.Extensions",
    type: "CustomScript",
    typeHandlerVersion: "2.0",
    settings: `	{
		"commandToExecute": "hostname && uptime"
	}
`,
    tags: {
        environment: "Production",
    },
});

constructor

new Extension(name: string, args: ExtensionArgs, opts?: pulumi.CustomResourceOptions)

Create a Extension resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ExtensionState, opts?: pulumi.CustomResourceOptions): Extension

Get an existing Extension resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Extension

Returns true if the given object is an instance of Extension. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoUpgradeMinorVersion

public autoUpgradeMinorVersion: pulumi.Output<boolean | undefined>;

Specifies if the platform deploys the latest minor version update to the typeHandlerVersion specified.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the virtual machine extension peering. Changing this forces a new resource to be created.

property protectedSettings

public protectedSettings: pulumi.Output<string | undefined>;

The protectedSettings passed to the extension, like settings, these are specified as a JSON object in a string.

property publisher

public publisher: pulumi.Output<string>;

The publisher of the extension, available publishers can be found by using the Azure CLI.

property settings

public settings: pulumi.Output<string | undefined>;

The settings passed to the extension, these are specified as a JSON object in a string.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property type

public type: pulumi.Output<string>;

The type of extension, available types for a publisher can be found using the Azure CLI.

property typeHandlerVersion

public typeHandlerVersion: pulumi.Output<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualMachineId

public virtualMachineId: pulumi.Output<string>;

The ID of the Virtual Machine. Changing this forces a new resource to be created

Resource Image

class Image extends CustomResource

Manages a custom virtual machine image that can be used to create virtual machines.

Example Usage

Creating From VHD
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleImage = new azure.compute.Image("exampleImage", {
    location: "West US",
    resourceGroupName: exampleResourceGroup.name,
    os_disk: {
        osType: "Linux",
        osState: "Generalized",
        blobUri: "{blob_uri}",
        sizeGb: 30,
    },
});
Creating From Virtual Machine (VM Must Be Generalized Beforehand)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleImage = new azure.compute.Image("exampleImage", {
    location: "West US",
    resourceGroupName: exampleResourceGroup.name,
    sourceVirtualMachineId: "{vm_id}",
});

constructor

new Image(name: string, args: ImageArgs, opts?: pulumi.CustomResourceOptions)

Create a Image resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageState, opts?: pulumi.CustomResourceOptions): Image

Get an existing Image resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Image

Returns true if the given object is an instance of Image. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property dataDisks

public dataDisks: pulumi.Output<ImageDataDisk[] | undefined>;

One or more dataDisk elements as defined below.

property hyperVGeneration

public hyperVGeneration: pulumi.Output<string | undefined>;

The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. The default is V1.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the image. Changing this forces a new resource to be created.

property osDisk

public osDisk: pulumi.Output<ImageOsDisk | undefined>;

One or more osDisk elements as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the image. Changing this forces a new resource to be created.

property sourceVirtualMachineId

public sourceVirtualMachineId: pulumi.Output<string | undefined>;

The Virtual Machine ID from which to create the image.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneResilient

public zoneResilient: pulumi.Output<boolean | undefined>;

Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.

Resource LinuxVirtualMachine

class LinuxVirtualMachine extends CustomResource

Manages a Linux Virtual Machine.

Disclaimers

Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the features configuration within the Provider configuration block.

Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the azure.compute.VirtualMachine resource instead.

Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the azure.compute.VirtualMachine resource instead.

In this release there’s a known issue where the publicIpAddress and publicIpAddresses fields may not be fully populated for Dynamic Public IP’s.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * from "fs";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    ip_configuration: [{
        name: "internal",
        subnetId: exampleSubnet.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("exampleLinuxVirtualMachine", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    size: "Standard_F2",
    adminUsername: "adminuser",
    networkInterfaceIds: [exampleNetworkInterface.id],
    admin_ssh_key: [{
        username: "adminuser",
        publicKey: fs.readFileSync("~/.ssh/id_rsa.pub"),
    }],
    os_disk: {
        caching: "ReadWrite",
        storageAccountType: "Standard_LRS",
    },
    source_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
});

constructor

new LinuxVirtualMachine(name: string, args: LinuxVirtualMachineArgs, opts?: pulumi.CustomResourceOptions)

Create a LinuxVirtualMachine resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LinuxVirtualMachineState, opts?: pulumi.CustomResourceOptions): LinuxVirtualMachine

Get an existing LinuxVirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LinuxVirtualMachine

Returns true if the given object is an instance of LinuxVirtualMachine. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property additionalCapabilities

public additionalCapabilities: pulumi.Output<LinuxVirtualMachineAdditionalCapabilities | undefined>;

A additionalCapabilities block as defined below.

property adminPassword

public adminPassword: pulumi.Output<string | undefined>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

public adminSshKeys: pulumi.Output<LinuxVirtualMachineAdminSshKey[] | undefined>;

One or more adminSshKey blocks as defined below.

property adminUsername

public adminUsername: pulumi.Output<string>;

The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.

property allowExtensionOperations

public allowExtensionOperations: pulumi.Output<boolean | undefined>;

Should Extension Operations be allowed on this Virtual Machine? Changing this forces a new resource to be created.

property availabilitySetId

public availabilitySetId: pulumi.Output<string | undefined>;

Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<LinuxVirtualMachineBootDiagnostics | undefined>;

A bootDiagnostics block as defined below.

property computerName

public computerName: pulumi.Output<string>;

Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerName, then you must specify computerName. Changing this forces a new resource to be created.

property customData

public customData: pulumi.Output<string | undefined>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.

property dedicatedHostId

public dedicatedHostId: pulumi.Output<string | undefined>;

The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.

property disablePasswordAuthentication

public disablePasswordAuthentication: pulumi.Output<boolean | undefined>;

Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property evictionPolicy

public evictionPolicy: pulumi.Output<string | undefined>;

Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<LinuxVirtualMachineIdentity | undefined>;

An identity block as defined below.

property location

public location: pulumi.Output<string>;

The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.

property maxBidPrice

public maxBidPrice: pulumi.Output<number | undefined>;

The maximum price you’re willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the evictionPolicy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.

property name

public name: pulumi.Output<string>;

The name of the Linux Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

public networkInterfaceIds: pulumi.Output<string[]>;

. A list of Network Interface ID’s which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.

property osDisk

public osDisk: pulumi.Output<LinuxVirtualMachineOsDisk>;

A osDisk block as defined below.

property plan

public plan: pulumi.Output<LinuxVirtualMachinePlan | undefined>;

A plan block as defined below. Changing this forces a new resource to be created.

property priority

public priority: pulumi.Output<string | undefined>;

Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

property privateIpAddress

public privateIpAddress: pulumi.Output<string>;

The Primary Private IP Address assigned to this Virtual Machine.

property privateIpAddresses

public privateIpAddresses: pulumi.Output<string[]>;

A list of Private IP Addresses assigned to this Virtual Machine.

property provisionVmAgent

public provisionVmAgent: pulumi.Output<boolean | undefined>;

Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.

property publicIpAddress

public publicIpAddress: pulumi.Output<string>;

The Primary Public IP Address assigned to this Virtual Machine.

property publicIpAddresses

public publicIpAddresses: pulumi.Output<string[]>;

A list of the Public IP Addresses assigned to this Virtual Machine.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.

property secrets

public secrets: pulumi.Output<LinuxVirtualMachineSecret[] | undefined>;

One or more secret blocks as defined below.

property size

public size: pulumi.Output<string>;

The SKU which should be used for this Virtual Machine, such as Standard_F2.

property sourceImageId

public sourceImageId: pulumi.Output<string | undefined>;

The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.

property sourceImageReference

public sourceImageReference: pulumi.Output<LinuxVirtualMachineSourceImageReference | undefined>;

A sourceImageReference block as defined below. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags which should be assigned to this Virtual Machine.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualMachineId

public virtualMachineId: pulumi.Output<string>;

A 128-bit identifier which uniquely identifies this Virtual Machine.

property virtualMachineScaleSetId

public virtualMachineScaleSetId: pulumi.Output<string | undefined>;

Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.

property zone

public zone: pulumi.Output<string>;

The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

Resource LinuxVirtualMachineScaleSet

class LinuxVirtualMachineScaleSet extends CustomResource

Manages a Linux Virtual Machine Scale Set.

Disclaimers

Note This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the features configuration within the Provider configuration block.

Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the azure.compute.ScaleSet resource instead

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * from "fs";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    addressSpaces: ["10.0.0.0/16"],
});
const internal = new azure.network.Subnet("internal", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    sku: "Standard_F2",
    instances: 1,
    adminUsername: "adminuser",
    admin_ssh_key: [{
        username: "adminuser",
        publicKey: fs.readFileSync("~/.ssh/id_rsa.pub"),
    }],
    source_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
    os_disk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
    network_interface: [{
        name: "example",
        primary: true,
        ip_configuration: [{
            name: "internal",
            primary: true,
            subnetId: internal.id,
        }],
    }],
});

constructor

new LinuxVirtualMachineScaleSet(name: string, args: LinuxVirtualMachineScaleSetArgs, opts?: pulumi.CustomResourceOptions)

Create a LinuxVirtualMachineScaleSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LinuxVirtualMachineScaleSetState, opts?: pulumi.CustomResourceOptions): LinuxVirtualMachineScaleSet

Get an existing LinuxVirtualMachineScaleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LinuxVirtualMachineScaleSet

Returns true if the given object is an instance of LinuxVirtualMachineScaleSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property additionalCapabilities

public additionalCapabilities: pulumi.Output<LinuxVirtualMachineScaleSetAdditionalCapabilities | undefined>;

A additionalCapabilities block as defined below.

property adminPassword

public adminPassword: pulumi.Output<string | undefined>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

public adminSshKeys: pulumi.Output<LinuxVirtualMachineScaleSetAdminSshKey[] | undefined>;

One or more adminSshKey blocks as defined below.

property adminUsername

public adminUsername: pulumi.Output<string>;

The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.

property automaticInstanceRepair

public automaticInstanceRepair: pulumi.Output<LinuxVirtualMachineScaleSetAutomaticInstanceRepair>;

A automaticInstanceRepair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid healthProbeId or an Application Health Extension.

property automaticOsUpgradePolicy

public automaticOsUpgradePolicy: pulumi.Output<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy | undefined>;

A automaticOsUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<LinuxVirtualMachineScaleSetBootDiagnostics | undefined>;

A bootDiagnostics block as defined below.

property computerNamePrefix

public computerNamePrefix: pulumi.Output<string>;

The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerNamePrefix, then you must specify computerNamePrefix.

property customData

public customData: pulumi.Output<string | undefined>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

property dataDisks

public dataDisks: pulumi.Output<LinuxVirtualMachineScaleSetDataDisk[] | undefined>;

One or more dataDisk blocks as defined below.

property disablePasswordAuthentication

public disablePasswordAuthentication: pulumi.Output<boolean | undefined>;

Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.

property doNotRunExtensionsOnOverprovisionedMachines

public doNotRunExtensionsOnOverprovisionedMachines: pulumi.Output<boolean | undefined>;

Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.

property evictionPolicy

public evictionPolicy: pulumi.Output<string | undefined>;

The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.

property healthProbeId

public healthProbeId: pulumi.Output<string | undefined>;

The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<LinuxVirtualMachineScaleSetIdentity | undefined>;

A identity block as defined below.

property instances

public instances: pulumi.Output<number>;

The number of Virtual Machines in the Scale Set.

property location

public location: pulumi.Output<string>;

The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property maxBidPrice

public maxBidPrice: pulumi.Output<number | undefined>;

The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the evictionPolicy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.

property name

public name: pulumi.Output<string>;

The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.

property networkInterfaces

public networkInterfaces: pulumi.Output<LinuxVirtualMachineScaleSetNetworkInterface[]>;

One or more networkInterface blocks as defined below.

property osDisk

public osDisk: pulumi.Output<LinuxVirtualMachineScaleSetOsDisk>;

An osDisk block as defined below.

property overprovision

public overprovision: pulumi.Output<boolean | undefined>;

Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to false.

property plan

public plan: pulumi.Output<LinuxVirtualMachineScaleSetPlan | undefined>;

property priority

public priority: pulumi.Output<string | undefined>;

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

property provisionVmAgent

public provisionVmAgent: pulumi.Output<boolean | undefined>;

Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.

property rollingUpgradePolicy

public rollingUpgradePolicy: pulumi.Output<LinuxVirtualMachineScaleSetRollingUpgradePolicy | undefined>;

A rollingUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property scaleInPolicy

public scaleInPolicy: pulumi.Output<string | undefined>;

The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

property secrets

public secrets: pulumi.Output<LinuxVirtualMachineScaleSetSecret[] | undefined>;

One or more secret blocks as defined below.

property singlePlacementGroup

public singlePlacementGroup: pulumi.Output<boolean | undefined>;

Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.

property sku

public sku: pulumi.Output<string>;

The Virtual Machine SKU for the Scale Set, such as Standard_F2.

property sourceImageId

public sourceImageId: pulumi.Output<string | undefined>;

The ID of an Image which each Virtual Machine in this Scale Set should be based on.

property sourceImageReference

public sourceImageReference: pulumi.Output<LinuxVirtualMachineScaleSetSourceImageReference | undefined>;

A sourceImageReference block as defined below.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags which should be assigned to this Virtual Machine Scale Set.

property terminateNotification

public terminateNotification: pulumi.Output<LinuxVirtualMachineScaleSetTerminateNotification>;

A terminateNotification block as defined below.

property uniqueId

public uniqueId: pulumi.Output<string>;

The Unique ID for this Linux Virtual Machine Scale Set.

property upgradeMode

public upgradeMode: pulumi.Output<string | undefined>;

Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneBalance

public zoneBalance: pulumi.Output<boolean | undefined>;

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

property zones

public zones: pulumi.Output<string[] | undefined>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

Resource ManagedDisk

class ManagedDisk extends CustomResource

Manages a managed disk.

Example Usage

With Create Empty
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US 2"});
const exampleManagedDisk = new azure.compute.ManagedDisk("exampleManagedDisk", {
    location: "West US 2",
    resourceGroupName: exampleResourceGroup.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: "1",
    tags: {
        environment: "staging",
    },
});
With Create Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {location: "West US 2"});
const source = new azure.compute.ManagedDisk("source", {
    location: "West US 2",
    resourceGroupName: example.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: "1",
    tags: {
        environment: "staging",
    },
});
const copy = new azure.compute.ManagedDisk("copy", {
    location: "West US 2",
    resourceGroupName: example.name,
    storageAccountType: "Standard_LRS",
    createOption: "Copy",
    sourceResourceId: source.id,
    diskSizeGb: "1",
    tags: {
        environment: "staging",
    },
});

constructor

new ManagedDisk(name: string, args: ManagedDiskArgs, opts?: pulumi.CustomResourceOptions)

Create a ManagedDisk resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ManagedDiskState, opts?: pulumi.CustomResourceOptions): ManagedDisk

Get an existing ManagedDisk resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ManagedDisk

Returns true if the given object is an instance of ManagedDisk. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property createOption

public createOption: pulumi.Output<string>;

The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

property diskEncryptionSetId

public diskEncryptionSetId: pulumi.Output<string | undefined>;

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.

property diskIopsReadWrite

public diskIopsReadWrite: pulumi.Output<number>;

The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.

property diskMbpsReadWrite

public diskMbpsReadWrite: pulumi.Output<number>;

The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.

property diskSizeGb

public diskSizeGb: pulumi.Output<number>;

Specifies the size of the managed disk to create in gigabytes. If createOption is Copy or FromImage, then the value must be equal to or greater than the source’s size. The size can only be increased.

property encryptionSettings

public encryptionSettings: pulumi.Output<ManagedDiskEncryptionSettings | undefined>;

A encryptionSettings block as defined below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageReferenceId

public imageReferenceId: pulumi.Output<string | undefined>;

ID of an existing platform/marketplace disk image to copy when createOption is FromImage.

property location

public location: pulumi.Output<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Managed Disk. Changing this forces a new resource to be created.

property osType

public osType: pulumi.Output<string | undefined>;

Specify a value when the source of an Import or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group where the Managed Disk should exist.

property sourceResourceId

public sourceResourceId: pulumi.Output<string | undefined>;

The ID of an existing Managed Disk to copy createOption is Copy or the recovery point to restore when createOption is Restore

property sourceUri

public sourceUri: pulumi.Output<string>;

URI to a valid VHD file to be used when createOption is Import.

property storageAccountId

public storageAccountId: pulumi.Output<string | undefined>;

The ID of the Storage Account where the sourceUri is located. Required when createOption is set to Import. Changing this forces a new resource to be created.

property storageAccountType

public storageAccountType: pulumi.Output<string>;

The type of storage to use for the managed disk. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS or UltraSSD_LRS.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zones

public zones: pulumi.Output<string | undefined>;

A collection containing the availability zone to allocate the Managed Disk in.

Resource OrchestratedVirtualMachineScaleSet

class OrchestratedVirtualMachineScaleSet extends CustomResource

Manages an Orchestrated Virtual Machine Scale Set.

Note: Orchestrated Virtual Machine Scale Sets are in Public Preview - more details can be found in the Azure Documentation.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleOrchestratedVirtualMachineScaleSet = new azure.compute.OrchestratedVirtualMachineScaleSet("exampleOrchestratedVirtualMachineScaleSet", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    platformFaultDomainCount: 5,
    singlePlacementGroup: true,
    zones: ["1"],
});

constructor

new OrchestratedVirtualMachineScaleSet(name: string, args: OrchestratedVirtualMachineScaleSetArgs, opts?: pulumi.CustomResourceOptions)

Create a OrchestratedVirtualMachineScaleSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrchestratedVirtualMachineScaleSetState, opts?: pulumi.CustomResourceOptions): OrchestratedVirtualMachineScaleSet

Get an existing OrchestratedVirtualMachineScaleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is OrchestratedVirtualMachineScaleSet

Returns true if the given object is an instance of OrchestratedVirtualMachineScaleSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

The name of the Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property platformFaultDomainCount

public platformFaultDomainCount: pulumi.Output<number>;

Specifies the number of fault domains that are used by this Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property singlePlacementGroup

public singlePlacementGroup: pulumi.Output<boolean>;

Should the Orchestrated Virtual Machine Scale Set use single placement group? Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.

property uniqueId

public uniqueId: pulumi.Output<string>;

The Unique ID for the Orchestrated Virtual Machine Scale Set.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zones

public zones: pulumi.Output<string | undefined>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

Resource ScaleSet

class ScaleSet extends CustomResource

Manages a virtual machine scale set.

## Disclaimers

Note: The azure.compute.ScaleSet resource has been superseded by the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources. The existing azure.compute.ScaleSet resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * from "fs";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US 2"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    allocationMethod: "Static",
    domainNameLabel: exampleResourceGroup.name,
    tags: {
        environment: "staging",
    },
});
const exampleLoadBalancer = new azure.lb.LoadBalancer("exampleLoadBalancer", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    frontend_ip_configuration: [{
        name: "PublicIPAddress",
        publicIpAddressId: examplePublicIp.id,
    }],
});
const bpepool = new azure.lb.BackendAddressPool("bpepool", {
    resourceGroupName: exampleResourceGroup.name,
    loadbalancerId: exampleLoadBalancer.id,
});
const lbnatpool = new azure.lb.NatPool("lbnatpool", {
    resourceGroupName: exampleResourceGroup.name,
    loadbalancerId: exampleLoadBalancer.id,
    protocol: "Tcp",
    frontendPortStart: 50000,
    frontendPortEnd: 50119,
    backendPort: 22,
    frontendIpConfigurationName: "PublicIPAddress",
});
const exampleProbe = new azure.lb.Probe("exampleProbe", {
    resourceGroupName: exampleResourceGroup.name,
    loadbalancerId: exampleLoadBalancer.id,
    protocol: "Http",
    requestPath: "/health",
    port: 8080,
});
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    automaticOsUpgrade: true,
    upgradePolicyMode: "Rolling",
    rolling_upgrade_policy: {
        maxBatchInstancePercent: 20,
        maxUnhealthyInstancePercent: 20,
        maxUnhealthyUpgradedInstancePercent: 5,
        pauseTimeBetweenBatches: "PT0S",
    },
    healthProbeId: exampleProbe.id,
    sku: {
        name: "Standard_F2",
        tier: "Standard",
        capacity: 2,
    },
    storage_profile_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
    storage_profile_os_disk: {
        name: "",
        caching: "ReadWrite",
        createOption: "FromImage",
        managedDiskType: "Standard_LRS",
    },
    storage_profile_data_disk: [{
        lun: 0,
        caching: "ReadWrite",
        createOption: "Empty",
        diskSizeGb: 10,
    }],
    os_profile: {
        computerNamePrefix: "testvm",
        adminUsername: "myadmin",
    },
    os_profile_linux_config: {
        disablePasswordAuthentication: true,
        ssh_keys: [{
            path: "/home/myadmin/.ssh/authorized_keys",
            keyData: fs.readFileSync("~/.ssh/demo_key.pub"),
        }],
    },
    network_profile: [{
        name: "mynetworkprofile",
        primary: true,
        ip_configuration: [{
            name: "TestIPConfiguration",
            primary: true,
            subnetId: exampleSubnet.id,
            loadBalancerBackendAddressPoolIds: [bpepool.id],
            loadBalancerInboundNatRulesIds: [lbnatpool.id],
        }],
    }],
    tags: {
        environment: "staging",
    },
});
With Unmanaged Disks
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * from "fs";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: "West US",
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: "westus",
    accountTier: "Standard",
    accountReplicationType: "LRS",
    tags: {
        environment: "staging",
    },
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {
    location: "West US",
    resourceGroupName: exampleResourceGroup.name,
    upgradePolicyMode: "Manual",
    sku: {
        name: "Standard_F2",
        tier: "Standard",
        capacity: 2,
    },
    os_profile: {
        computerNamePrefix: "testvm",
        adminUsername: "myadmin",
    },
    os_profile_linux_config: {
        disablePasswordAuthentication: true,
        ssh_keys: [{
            path: "/home/myadmin/.ssh/authorized_keys",
            keyData: fs.readFileSync("~/.ssh/demo_key.pub"),
        }],
    },
    network_profile: [{
        name: "TestNetworkProfile",
        primary: true,
        ip_configuration: [{
            name: "TestIPConfiguration",
            primary: true,
            subnetId: exampleSubnet.id,
        }],
    }],
    storage_profile_os_disk: {
        name: "osDiskProfile",
        caching: "ReadWrite",
        createOption: "FromImage",
        vhdContainers: [pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}`],
    },
    storage_profile_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
});

Example of storageProfileImageReference with id

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleImage = new azure.compute.Image("exampleImage", {});
// ...
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {storage_profile_image_reference: {
    id: exampleImage.id,
}});
// ...

constructor

new ScaleSet(name: string, args: ScaleSetArgs, opts?: pulumi.CustomResourceOptions)

Create a ScaleSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScaleSetState, opts?: pulumi.CustomResourceOptions): ScaleSet

Get an existing ScaleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScaleSet

Returns true if the given object is an instance of ScaleSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property automaticOsUpgrade

public automaticOsUpgrade: pulumi.Output<boolean | undefined>;

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgradePolicyMode is set to Rolling. Defaults to false.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<ScaleSetBootDiagnostics | undefined>;

A boot diagnostics profile block as referenced below.

property evictionPolicy

public evictionPolicy: pulumi.Output<string | undefined>;

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete.

property extensions

public extensions: pulumi.Output<ScaleSetExtension[] | undefined>;

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

property healthProbeId

public healthProbeId: pulumi.Output<string | undefined>;

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgradePolicyMode.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<ScaleSetIdentity>;

property licenseType

public licenseType: pulumi.Output<string>;

Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

property networkProfiles

public networkProfiles: pulumi.Output<ScaleSetNetworkProfile[]>;

A collection of network profile block as documented below.

property osProfile

public osProfile: pulumi.Output<ScaleSetOsProfile>;

A Virtual Machine OS Profile block as documented below.

property osProfileLinuxConfig

public osProfileLinuxConfig: pulumi.Output<ScaleSetOsProfileLinuxConfig>;

A Linux config block as documented below.

property osProfileSecrets

public osProfileSecrets: pulumi.Output<ScaleSetOsProfileSecret[] | undefined>;

A collection of Secret blocks as documented below.

property osProfileWindowsConfig

public osProfileWindowsConfig: pulumi.Output<ScaleSetOsProfileWindowsConfig | undefined>;

A Windows config block as documented below.

property overprovision

public overprovision: pulumi.Output<boolean | undefined>;

Specifies whether the virtual machine scale set should be overprovisioned.

property plan

public plan: pulumi.Output<ScaleSetPlan | undefined>;

A plan block as documented below.

property priority

public priority: pulumi.Output<string | undefined>;

Specifies the priority for the Virtual Machines in the Scale Set. Defaults to Regular. Possible values are Low and Regular.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

property rollingUpgradePolicy

public rollingUpgradePolicy: pulumi.Output<ScaleSetRollingUpgradePolicy | undefined>;

A rollingUpgradePolicy block as defined below. This is only applicable when the upgradePolicyMode is Rolling.

property singlePlacementGroup

public singlePlacementGroup: pulumi.Output<boolean | undefined>;

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

property sku

public sku: pulumi.Output<ScaleSetSku>;

A sku block as documented below.

property storageProfileDataDisks

public storageProfileDataDisks: pulumi.Output<ScaleSetStorageProfileDataDisk[] | undefined>;

A storage profile data disk block as documented below

property storageProfileImageReference

public storageProfileImageReference: pulumi.Output<ScaleSetStorageProfileImageReference>;

A storage profile image reference block as documented below.

property storageProfileOsDisk

public storageProfileOsDisk: pulumi.Output<ScaleSetStorageProfileOsDisk>;

A storage profile os disk block as documented below

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property upgradePolicyMode

public upgradePolicyMode: pulumi.Output<string>;

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zones

public zones: pulumi.Output<string[] | undefined>;

A collection of availability zones to spread the Virtual Machines over.

Resource SharedImage

class SharedImage extends CustomResource

Manages a Shared Image within a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleSharedImageGallery = new azure.compute.SharedImageGallery("exampleSharedImageGallery", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    description: "Shared images and things.",
    tags: {
        Hello: "There",
        World: "Example",
    },
});
const exampleSharedImage = new azure.compute.SharedImage("exampleSharedImage", {
    galleryName: exampleSharedImageGallery.name,
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    osType: "Linux",
    identifier: {
        publisher: "PublisherName",
        offer: "OfferName",
        sku: "ExampleSku",
    },
});

constructor

new SharedImage(name: string, args: SharedImageArgs, opts?: pulumi.CustomResourceOptions)

Create a SharedImage resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SharedImageState, opts?: pulumi.CustomResourceOptions): SharedImage

Get an existing SharedImage resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SharedImage

Returns true if the given object is an instance of SharedImage. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of this Shared Image.

property eula

public eula: pulumi.Output<string | undefined>;

The End User Licence Agreement for the Shared Image.

property galleryName

public galleryName: pulumi.Output<string>;

Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.

property hyperVGeneration

public hyperVGeneration: pulumi.Output<string | undefined>;

The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identifier

public identifier: pulumi.Output<SharedImageIdentifier>;

An identifier block as defined below.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Shared Image. Changing this forces a new resource to be created.

property osType

public osType: pulumi.Output<string>;

The type of Operating System present in this Shared Image. Possible values are Linux and Windows.

property privacyStatementUri

public privacyStatementUri: pulumi.Output<string | undefined>;

The URI containing the Privacy Statement associated with this Shared Image.

property releaseNoteUri

public releaseNoteUri: pulumi.Output<string | undefined>;

The URI containing the Release Notes associated with this Shared Image.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the Shared Image.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SharedImageGallery

class SharedImageGallery extends CustomResource

Manages a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleSharedImageGallery = new azure.compute.SharedImageGallery("exampleSharedImageGallery", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    description: "Shared images and things.",
    tags: {
        Hello: "There",
        World: "Example",
    },
});

constructor

new SharedImageGallery(name: string, args: SharedImageGalleryArgs, opts?: pulumi.CustomResourceOptions)

Create a SharedImageGallery resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SharedImageGalleryState, opts?: pulumi.CustomResourceOptions): SharedImageGallery

Get an existing SharedImageGallery resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SharedImageGallery

Returns true if the given object is an instance of SharedImageGallery. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description for this Shared Image Gallery.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the Shared Image Gallery.

property uniqueName

public uniqueName: pulumi.Output<string>;

The Unique Name for this Shared Image Gallery.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SharedImageVersion

class SharedImageVersion extends CustomResource

Manages a Version of a Shared Image within a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const existingImage = azure.compute.getImage({
    name: "search-api",
    resourceGroupName: "packerimages",
});
const existingSharedImage = azure.compute.getSharedImage({
    name: "existing-image",
    galleryName: "existing_gallery",
    resourceGroupName: "existing-resources",
});
const example = new azure.compute.SharedImageVersion("example", {
    galleryName: existingSharedImage.then(existingSharedImage => existingSharedImage.galleryName),
    imageName: existingSharedImage.then(existingSharedImage => existingSharedImage.name),
    resourceGroupName: existingSharedImage.then(existingSharedImage => existingSharedImage.resourceGroupName),
    location: existingSharedImage.then(existingSharedImage => existingSharedImage.location),
    managedImageId: existingImage.then(existingImage => existingImage.id),
    target_region: [{
        name: existingSharedImage.then(existingSharedImage => existingSharedImage.location),
        regionalReplicaCount: "5",
        storageAccountType: "Standard_LRS",
    }],
});

constructor

new SharedImageVersion(name: string, args: SharedImageVersionArgs, opts?: pulumi.CustomResourceOptions)

Create a SharedImageVersion resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SharedImageVersionState, opts?: pulumi.CustomResourceOptions): SharedImageVersion

Get an existing SharedImageVersion resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SharedImageVersion

Returns true if the given object is an instance of SharedImageVersion. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property excludeFromLatest

public excludeFromLatest: pulumi.Output<boolean | undefined>;

Should this Image Version be excluded from the latest filter? If set to true this Image Version won’t be returned for the latest version. Defaults to false.

property galleryName

public galleryName: pulumi.Output<string>;

The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageName

public imageName: pulumi.Output<string>;

The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.

property location

public location: pulumi.Output<string>;

The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property managedImageId

public managedImageId: pulumi.Output<string>;

The ID of the Managed Image which should be used for this Shared Image Version. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

The version number for this Image Version, such as 1.0.0. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A collection of tags which should be applied to this resource.

property targetRegions

public targetRegions: pulumi.Output<SharedImageVersionTargetRegion[]>;

One or more targetRegion blocks as documented below.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Snapshot

class Snapshot extends CustomResource

Manages a Disk Snapshot.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleManagedDisk = new azure.compute.ManagedDisk("exampleManagedDisk", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: "10",
});
const exampleSnapshot = new azure.compute.Snapshot("exampleSnapshot", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    createOption: "Copy",
    sourceUri: exampleManagedDisk.id,
});

constructor

new Snapshot(name: string, args: SnapshotArgs, opts?: pulumi.CustomResourceOptions)

Create a Snapshot resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SnapshotState, opts?: pulumi.CustomResourceOptions): Snapshot

Get an existing Snapshot resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Snapshot

Returns true if the given object is an instance of Snapshot. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property createOption

public createOption: pulumi.Output<string>;

Indicates how the snapshot is to be created. Possible values are Copy or Import. Changing this forces a new resource to be created.

property diskSizeGb

public diskSizeGb: pulumi.Output<number>;

The size of the Snapshotted Disk in GB.

property encryptionSettings

public encryptionSettings: pulumi.Output<SnapshotEncryptionSettings | undefined>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.

property sourceResourceId

public sourceResourceId: pulumi.Output<string | undefined>;

Specifies a reference to an existing snapshot, when createOption is Copy. Changing this forces a new resource to be created.

property sourceUri

public sourceUri: pulumi.Output<string | undefined>;

Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.

property storageAccountId

public storageAccountId: pulumi.Output<string | undefined>;

Specifies the ID of an storage account. Used with sourceUri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VirtualMachine

class VirtualMachine extends CustomResource

Manages a Virtual Machine.

Disclaimers

Note: The azure.compute.VirtualMachine resource has been superseded by the azure.compute.LinuxVirtualMachine and azure.compute.WindowsVirtualMachine resources. The existing azure.compute.VirtualMachine resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to the azure.compute.LinuxVirtualMachine and azure.compute.WindowsVirtualMachine resources.

Note: Data Disks can be attached either directly on the azure.compute.VirtualMachine resource, or using the azure.compute.DataDiskAttachment resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.

Example Usage

From An Azure Platform Image)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const config = new pulumi.Config();
const prefix = config.get("prefix") || "tfvmex";
const mainResourceGroup = new azure.core.ResourceGroup("mainResourceGroup", {location: "West US 2"});
const mainVirtualNetwork = new azure.network.VirtualNetwork("mainVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
});
const internal = new azure.network.Subnet("internal", {
    resourceGroupName: mainResourceGroup.name,
    virtualNetworkName: mainVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const mainNetworkInterface = new azure.network.NetworkInterface("mainNetworkInterface", {
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
    ip_configuration: [{
        name: "testconfiguration1",
        subnetId: internal.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const mainVirtualMachine = new azure.compute.VirtualMachine("mainVirtualMachine", {
    location: mainResourceGroup.location,
    resourceGroupName: mainResourceGroup.name,
    networkInterfaceIds: [mainNetworkInterface.id],
    vmSize: "Standard_DS1_v2",
    storage_image_reference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
    storage_os_disk: {
        name: "myosdisk1",
        caching: "ReadWrite",
        createOption: "FromImage",
        managedDiskType: "Standard_LRS",
    },
    os_profile: {
        computerName: "hostname",
        adminUsername: "testadmin",
        adminPassword: "Password1234!",
    },
    os_profile_linux_config: {
        disablePasswordAuthentication: false,
    },
    tags: {
        environment: "staging",
    },
});

constructor

new VirtualMachine(name: string, args: VirtualMachineArgs, opts?: pulumi.CustomResourceOptions)

Create a VirtualMachine resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMachineState, opts?: pulumi.CustomResourceOptions): VirtualMachine

Get an existing VirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is 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.

property additionalCapabilities

public additionalCapabilities: pulumi.Output<VirtualMachineAdditionalCapabilities | undefined>;

A additionalCapabilities block.

property availabilitySetId

public availabilitySetId: pulumi.Output<string>;

The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<VirtualMachineBootDiagnostics | undefined>;

A bootDiagnostics block.

property deleteDataDisksOnTermination

public deleteDataDisksOnTermination: pulumi.Output<boolean | undefined>;

Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to false.

property deleteOsDiskOnTermination

public deleteOsDiskOnTermination: pulumi.Output<boolean | undefined>;

Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to false.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<VirtualMachineIdentity>;

A identity block.

property licenseType

public licenseType: pulumi.Output<string>;

Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are Windows_Client and Windows_Server.

property location

public location: pulumi.Output<string>;

Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

public networkInterfaceIds: pulumi.Output<string[]>;

A list of Network Interface ID’s which should be associated with the Virtual Machine.

property osProfile

public osProfile: pulumi.Output<VirtualMachineOsProfile | undefined>;

An osProfile block. Required when createOption in the storageOsDisk block is set to FromImage.

property osProfileLinuxConfig

public osProfileLinuxConfig: pulumi.Output<VirtualMachineOsProfileLinuxConfig | undefined>;

A osProfileLinuxConfig block.

property osProfileSecrets

public osProfileSecrets: pulumi.Output<VirtualMachineOsProfileSecret[] | undefined>;

One or more osProfileSecrets blocks.

property osProfileWindowsConfig

public osProfileWindowsConfig: pulumi.Output<VirtualMachineOsProfileWindowsConfig | undefined>;

A osProfileWindowsConfig block.

property plan

public plan: pulumi.Output<VirtualMachinePlan | undefined>;

A plan block.

property primaryNetworkInterfaceId

public primaryNetworkInterfaceId: pulumi.Output<string | undefined>;

The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property storageDataDisks

public storageDataDisks: pulumi.Output<VirtualMachineStorageDataDisk[]>;

One or more storageDataDisk blocks.

property storageImageReference

public storageImageReference: pulumi.Output<VirtualMachineStorageImageReference>;

A storageImageReference block.

property storageOsDisk

public storageOsDisk: pulumi.Output<VirtualMachineStorageOsDisk>;

A storageOsDisk block.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the Virtual Machine.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vmSize

public vmSize: pulumi.Output<string>;

Specifies the size of the Virtual Machine.

property zones

public zones: pulumi.Output<string | undefined>;

A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.

Resource VirtualMachineScaleSetExtension

class VirtualMachineScaleSetExtension extends CustomResource

Manages an Extension for a Virtual Machine Scale Set.

NOTE: This resource is not intended to be used with the azure.compute.ScaleSet resource - instead it’s intended for this to be used with the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", {});
//...
const exampleVirtualMachineScaleSetExtension = new azure.compute.VirtualMachineScaleSetExtension("exampleVirtualMachineScaleSetExtension", {
    virtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.id,
    publisher: "Microsoft.Azure.Extensions",
    type: "CustomScript",
    typeHandlerVersion: "2.0",
    settings: JSON.stringify({
        commandToExecute: `echo $HOSTNAME`,
    }),
});

constructor

new VirtualMachineScaleSetExtension(name: string, args: VirtualMachineScaleSetExtensionArgs, opts?: pulumi.CustomResourceOptions)

Create a VirtualMachineScaleSetExtension resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VirtualMachineScaleSetExtensionState, opts?: pulumi.CustomResourceOptions): VirtualMachineScaleSetExtension

Get an existing VirtualMachineScaleSetExtension resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VirtualMachineScaleSetExtension

Returns true if the given object is an instance of VirtualMachineScaleSetExtension. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoUpgradeMinorVersion

public autoUpgradeMinorVersion: pulumi.Output<boolean | undefined>;

Should the latest version of the Extension be used at Deployment Time, if one is available? This won’t auto-update the extension on existing installation. Defaults to true.

property forceUpdateTag

public forceUpdateTag: pulumi.Output<string | undefined>;

A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn’t changed.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.

property protectedSettings

public protectedSettings: pulumi.Output<string | undefined>;

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

property provisionAfterExtensions

public provisionAfterExtensions: pulumi.Output<string[] | undefined>;

An ordered list of Extension names which this should be provisioned after.

property publisher

public publisher: pulumi.Output<string>;

Specifies the Publisher of the Extension. Changing this forces a new resource to be created.

property settings

public settings: pulumi.Output<string | undefined>;

A JSON String which specifies Settings for the Extension.

property type

public type: pulumi.Output<string>;

Specifies the Type of the Extension. Changing this forces a new resource to be created.

property typeHandlerVersion

public typeHandlerVersion: pulumi.Output<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualMachineScaleSetId

public virtualMachineScaleSetId: pulumi.Output<string>;

The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.

Resource WindowsVirtualMachine

class WindowsVirtualMachine extends CustomResource

Manages a Windows Virtual Machine.

Disclaimers

Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the features configuration within the Provider configuration block.

Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the azure.compute.VirtualMachine resource instead.

Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the azure.compute.VirtualMachine resource instead.

In this release there’s a known issue where the publicIpAddress and publicIpAddresses fields may not be fully populated for Dynamic Public IP’s.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    ip_configuration: [{
        name: "internal",
        subnetId: exampleSubnet.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const exampleWindowsVirtualMachine = new azure.compute.WindowsVirtualMachine("exampleWindowsVirtualMachine", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    size: "Standard_F2",
    adminUsername: "adminuser",
    adminPassword: `P@$$w0rd1234!`,
    networkInterfaceIds: [exampleNetworkInterface.id],
    os_disk: {
        caching: "ReadWrite",
        storageAccountType: "Standard_LRS",
    },
    source_image_reference: {
        publisher: "MicrosoftWindowsServer",
        offer: "WindowsServer",
        sku: "2016-Datacenter",
        version: "latest",
    },
});

constructor

new WindowsVirtualMachine(name: string, args: WindowsVirtualMachineArgs, opts?: pulumi.CustomResourceOptions)

Create a WindowsVirtualMachine resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WindowsVirtualMachineState, opts?: pulumi.CustomResourceOptions): WindowsVirtualMachine

Get an existing WindowsVirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is WindowsVirtualMachine

Returns true if the given object is an instance of WindowsVirtualMachine. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property additionalCapabilities

public additionalCapabilities: pulumi.Output<WindowsVirtualMachineAdditionalCapabilities | undefined>;

A additionalCapabilities block as defined below.

property additionalUnattendContents

public additionalUnattendContents: pulumi.Output<WindowsVirtualMachineAdditionalUnattendContent[] | undefined>;

One or more additionalUnattendContent blocks as defined below. Changing this forces a new resource to be created.

property adminPassword

public adminPassword: pulumi.Output<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminUsername

public adminUsername: pulumi.Output<string>;

The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.

property allowExtensionOperations

public allowExtensionOperations: pulumi.Output<boolean | undefined>;

Should Extension Operations be allowed on this Virtual Machine? Changing this forces a new resource to be created.

property availabilitySetId

public availabilitySetId: pulumi.Output<string | undefined>;

Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<WindowsVirtualMachineBootDiagnostics | undefined>;

A bootDiagnostics block as defined below.

property computerName

public computerName: pulumi.Output<string>;

Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerName, then you must specify computerName. Changing this forces a new resource to be created.

property customData

public customData: pulumi.Output<string | undefined>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.

property dedicatedHostId

public dedicatedHostId: pulumi.Output<string | undefined>;

The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.

property enableAutomaticUpdates

public enableAutomaticUpdates: pulumi.Output<boolean | undefined>;

Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.

property evictionPolicy

public evictionPolicy: pulumi.Output<string | undefined>;

Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<WindowsVirtualMachineIdentity | undefined>;

An identity block as defined below.

property licenseType

public licenseType: pulumi.Output<string | undefined>;

Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None, Windows_Client and Windows_Server. Changing this forces a new resource to be created.

property location

public location: pulumi.Output<string>;

The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.

property maxBidPrice

public maxBidPrice: pulumi.Output<number | undefined>;

The maximum price you’re willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the evictionPolicy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.

property name

public name: pulumi.Output<string>;

The name of the Windows Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

public networkInterfaceIds: pulumi.Output<string[]>;

. A list of Network Interface ID’s which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.

property osDisk

public osDisk: pulumi.Output<WindowsVirtualMachineOsDisk>;

A osDisk block as defined below.

property plan

public plan: pulumi.Output<WindowsVirtualMachinePlan | undefined>;

A plan block as defined below. Changing this forces a new resource to be created.

property priority

public priority: pulumi.Output<string | undefined>;

Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

property privateIpAddress

public privateIpAddress: pulumi.Output<string>;

The Primary Private IP Address assigned to this Virtual Machine.

property privateIpAddresses

public privateIpAddresses: pulumi.Output<string[]>;

A list of Private IP Addresses assigned to this Virtual Machine.

property provisionVmAgent

public provisionVmAgent: pulumi.Output<boolean | undefined>;

Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.

property publicIpAddress

public publicIpAddress: pulumi.Output<string>;

The Primary Public IP Address assigned to this Virtual Machine.

property publicIpAddresses

public publicIpAddresses: pulumi.Output<string[]>;

A list of the Public IP Addresses assigned to this Virtual Machine.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.

property secrets

public secrets: pulumi.Output<WindowsVirtualMachineSecret[] | undefined>;

One or more secret blocks as defined below.

property size

public size: pulumi.Output<string>;

The SKU which should be used for this Virtual Machine, such as Standard_F2.

property sourceImageId

public sourceImageId: pulumi.Output<string | undefined>;

The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.

property sourceImageReference

public sourceImageReference: pulumi.Output<WindowsVirtualMachineSourceImageReference | undefined>;

A sourceImageReference block as defined below. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags which should be assigned to this Virtual Machine.

property timezone

public timezone: pulumi.Output<string | undefined>;

Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property virtualMachineId

public virtualMachineId: pulumi.Output<string>;

A 128-bit identifier which uniquely identifies this Virtual Machine.

property virtualMachineScaleSetId

public virtualMachineScaleSetId: pulumi.Output<string | undefined>;

Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.

property winrmListeners

public winrmListeners: pulumi.Output<WindowsVirtualMachineWinrmListener[] | undefined>;

One or more winrmListener blocks as defined below.

property zone

public zone: pulumi.Output<string>;

The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

Resource WindowsVirtualMachineScaleSet

class WindowsVirtualMachineScaleSet extends CustomResource

Manages a Windows Virtual Machine Scale Set.

Disclaimers

Note This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the features configuration within the Provider configuration block.

Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the azure.compute.ScaleSet resource instead

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    addressSpaces: ["10.0.0.0/16"],
});
const internal = new azure.network.Subnet("internal", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
});
const exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    sku: "Standard_F2",
    instances: 1,
    adminPassword: "P@55w0rd1234!",
    adminUsername: "adminuser",
    source_image_reference: {
        publisher: "MicrosoftWindowsServer",
        offer: "WindowsServer",
        sku: "2016-Datacenter-Server-Core",
        version: "latest",
    },
    os_disk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
    network_interface: [{
        name: "example",
        primary: true,
        ip_configuration: [{
            name: "internal",
            primary: true,
            subnetId: internal.id,
        }],
    }],
});

constructor

new WindowsVirtualMachineScaleSet(name: string, args: WindowsVirtualMachineScaleSetArgs, opts?: pulumi.CustomResourceOptions)

Create a WindowsVirtualMachineScaleSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WindowsVirtualMachineScaleSetState, opts?: pulumi.CustomResourceOptions): WindowsVirtualMachineScaleSet

Get an existing WindowsVirtualMachineScaleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is WindowsVirtualMachineScaleSet

Returns true if the given object is an instance of WindowsVirtualMachineScaleSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property additionalCapabilities

public additionalCapabilities: pulumi.Output<WindowsVirtualMachineScaleSetAdditionalCapabilities | undefined>;

A additionalCapabilities block as defined below.

property additionalUnattendContents

public additionalUnattendContents: pulumi.Output<WindowsVirtualMachineScaleSetAdditionalUnattendContent[] | undefined>;

One or more additionalUnattendContent blocks as defined below.

property adminPassword

public adminPassword: pulumi.Output<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminUsername

public adminUsername: pulumi.Output<string>;

The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.

property automaticInstanceRepair

public automaticInstanceRepair: pulumi.Output<WindowsVirtualMachineScaleSetAutomaticInstanceRepair>;

A automaticInstanceRepair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid healthProbeId or an Application Health Extension.

property automaticOsUpgradePolicy

public automaticOsUpgradePolicy: pulumi.Output<WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy | undefined>;

A automaticOsUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic.

property bootDiagnostics

public bootDiagnostics: pulumi.Output<WindowsVirtualMachineScaleSetBootDiagnostics | undefined>;

A bootDiagnostics block as defined below.

property computerNamePrefix

public computerNamePrefix: pulumi.Output<string>;

The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerNamePrefix, then you must specify computerNamePrefix.

property customData

public customData: pulumi.Output<string | undefined>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

property dataDisks

public dataDisks: pulumi.Output<WindowsVirtualMachineScaleSetDataDisk[] | undefined>;

One or more dataDisk blocks as defined below.

property doNotRunExtensionsOnOverprovisionedMachines

public doNotRunExtensionsOnOverprovisionedMachines: pulumi.Output<boolean | undefined>;

Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.

property enableAutomaticUpdates

public enableAutomaticUpdates: pulumi.Output<boolean | undefined>;

Are automatic updates enabled for this Virtual Machine? Defaults to true.

property evictionPolicy

public evictionPolicy: pulumi.Output<string | undefined>;

The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.

property healthProbeId

public healthProbeId: pulumi.Output<string | undefined>;

The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<WindowsVirtualMachineScaleSetIdentity | undefined>;

A identity block as defined below.

property instances

public instances: pulumi.Output<number>;

The number of Virtual Machines in the Scale Set.

property licenseType

public licenseType: pulumi.Output<string | undefined>;

Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server. Changing this forces a new resource to be created.

property location

public location: pulumi.Output<string>;

The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property maxBidPrice

public maxBidPrice: pulumi.Output<number | undefined>;

The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the evictionPolicy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

property name

public name: pulumi.Output<string>;

The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.

property networkInterfaces

public networkInterfaces: pulumi.Output<WindowsVirtualMachineScaleSetNetworkInterface[]>;

One or more networkInterface blocks as defined below.

property osDisk

public osDisk: pulumi.Output<WindowsVirtualMachineScaleSetOsDisk>;

An osDisk block as defined below.

property overprovision

public overprovision: pulumi.Output<boolean | undefined>;

Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to false.

property plan

public plan: pulumi.Output<WindowsVirtualMachineScaleSetPlan | undefined>;

property priority

public priority: pulumi.Output<string | undefined>;

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

property provisionVmAgent

public provisionVmAgent: pulumi.Output<boolean | undefined>;

Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.

property proximityPlacementGroupId

public proximityPlacementGroupId: pulumi.Output<string | undefined>;

The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.

property rollingUpgradePolicy

public rollingUpgradePolicy: pulumi.Output<WindowsVirtualMachineScaleSetRollingUpgradePolicy | undefined>;

A rollingUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property scaleInPolicy

public scaleInPolicy: pulumi.Output<string | undefined>;

The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

property secrets

public secrets: pulumi.Output<WindowsVirtualMachineScaleSetSecret[] | undefined>;

One or more secret blocks as defined below.

property singlePlacementGroup

public singlePlacementGroup: pulumi.Output<boolean | undefined>;

Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.

property sku

public sku: pulumi.Output<string>;

The Virtual Machine SKU for the Scale Set, such as Standard_F2.

property sourceImageId

public sourceImageId: pulumi.Output<string | undefined>;

The ID of an Image which each Virtual Machine in this Scale Set should be based on.

property sourceImageReference

public sourceImageReference: pulumi.Output<WindowsVirtualMachineScaleSetSourceImageReference | undefined>;

A sourceImageReference block as defined below.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags which should be assigned to this Virtual Machine Scale Set.

property terminateNotification

public terminateNotification: pulumi.Output<WindowsVirtualMachineScaleSetTerminateNotification>;

A terminateNotification block as defined below.

property timezone

public timezone: pulumi.Output<string | undefined>;

Specifies the time zone of the virtual machine, the possible values are defined here.

property uniqueId

public uniqueId: pulumi.Output<string>;

The Unique ID for this Windows Virtual Machine Scale Set.

property upgradeMode

public upgradeMode: pulumi.Output<string | undefined>;

Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property winrmListeners

public winrmListeners: pulumi.Output<WindowsVirtualMachineScaleSetWinrmListener[] | undefined>;

One or more winrmListener blocks as defined below.

property zoneBalance

public zoneBalance: pulumi.Output<boolean | undefined>;

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

property zones

public zones: pulumi.Output<string[] | undefined>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

Functions

Function getAvailabilitySet

getAvailabilitySet(args: GetAvailabilitySetArgs, opts?: pulumi.InvokeOptions): Promise<GetAvailabilitySetResult>

Use this data source to access information about an existing Availability Set.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getAvailabilitySet({
    name: "tf-appsecuritygroup",
    resourceGroupName: "my-resource-group",
});
export const availabilitySetId = example.then(example => example.id);

Function getDedicatedHost

getDedicatedHost(args: GetDedicatedHostArgs, opts?: pulumi.InvokeOptions): Promise<GetDedicatedHostResult>

Use this data source to access information about an existing Dedicated Host.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getDedicatedHost({
    name: "example-host",
    dedicatedHostGroupName: "example-host-group",
    resourceGroupName: "example-resources",
});
export const dedicatedHostId = example.then(example => example.id);

Function getDedicatedHostGroup

getDedicatedHostGroup(args: GetDedicatedHostGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetDedicatedHostGroupResult>

Use this data source to access information about an existing Dedicated Host Group.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getDedicatedHostGroup({
    name: "example-dedicated-host-group",
    resourceGroupName: "example-rg",
});
export const id = example.then(example => example.id);

Function getDiskEncryptionSet

getDiskEncryptionSet(args: GetDiskEncryptionSetArgs, opts?: pulumi.InvokeOptions): Promise<GetDiskEncryptionSetResult>

Use this data source to access information about an existing Disk Encryption Set.

Function getImage

getImage(args: GetImageArgs, opts?: pulumi.InvokeOptions): Promise<GetImageResult>

Use this data source to access information about an existing Image.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const search = azure.compute.getImage({
    name: "search-api",
    resourceGroupName: "packerimages",
});
export const imageId = search.then(search => search.id);

Function getManagedDisk

getManagedDisk(args: GetManagedDiskArgs, opts?: pulumi.InvokeOptions): Promise<GetManagedDiskResult>

Use this data source to access information about an existing Managed Disk.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const existing = azure.compute.getManagedDisk({
    name: "example-datadisk",
    resourceGroupName: "example-resources",
});
export const id = existing.then(existing => existing.id);

Function getPlatformImage

getPlatformImage(args: GetPlatformImageArgs, opts?: pulumi.InvokeOptions): Promise<GetPlatformImageResult>

Use this data source to access information about a Platform Image.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getPlatformImage({
    location: "West Europe",
    publisher: "Canonical",
    offer: "UbuntuServer",
    sku: "16.04-LTS",
});
export const id = example.then(example => example.id);

Function getSharedImage

getSharedImage(args: GetSharedImageArgs, opts?: pulumi.InvokeOptions): Promise<GetSharedImageResult>

Use this data source to access information about an existing Shared Image within a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.compute.getSharedImage({
    galleryName: "my-image-gallery",
    name: "my-image",
    resourceGroupName: "example-resources",
}, { async: true }));

Function getSharedImageGallery

getSharedImageGallery(args: GetSharedImageGalleryArgs, opts?: pulumi.InvokeOptions): Promise<GetSharedImageGalleryResult>

Use this data source to access information about an existing Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.compute.getSharedImageGallery({
    name: "my-image-gallery",
    resourceGroupName: "example-resources",
}, { async: true }));

Function getSharedImageVersion

getSharedImageVersion(args: GetSharedImageVersionArgs, opts?: pulumi.InvokeOptions): Promise<GetSharedImageVersionResult>

Use this data source to access information about an existing Version of a Shared Image within a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.compute.getSharedImageVersion({
    galleryName: "my-image-gallery",
    imageName: "my-image",
    name: "1.0.0",
    resourceGroupName: "example-resources",
}, { async: true }));

Function getSharedImageVersions

getSharedImageVersions(args: GetSharedImageVersionsArgs, opts?: pulumi.InvokeOptions): Promise<GetSharedImageVersionsResult>

Use this data source to access information about existing Versions of a Shared Image within a Shared Image Gallery.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.compute.getSharedImageVersions({
    galleryName: "my-image-gallery",
    imageName: "my-image",
    resourceGroupName: "example-resources",
}, { async: true }));

Function getSnapshot

getSnapshot(args: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotResult>

Use this data source to access information about an existing Snapshot.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = pulumi.output(azure.compute.getSnapshot({
    name: "my-snapshot",
    resourceGroupName: "my-resource-group",
}, { async: true }));

Function getVirtualMachine

getVirtualMachine(args: GetVirtualMachineArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualMachineResult>

Use this data source to access information about an existing Virtual Machine.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getVirtualMachine({
    name: "production",
    resourceGroupName: "networking",
});
export const virtualMachineId = example.then(example => example.id);

Function getVirtualMachineScaleSet

getVirtualMachineScaleSet(args: GetVirtualMachineScaleSetArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualMachineScaleSetResult>

Use this data source to access information about an existing Virtual Machine Scale Set.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.compute.getVirtualMachineScaleSet({
    name: "existing",
    resourceGroupName: "existing",
});
export const id = example.then(example => example.id);

Others

interface AvailabilitySetArgs

interface AvailabilitySetArgs

The set of arguments for constructing a AvailabilitySet resource.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property managed

managed?: pulumi.Input<boolean>;

Specifies whether the availability set is managed or not. Possible values are true (to specify aligned) or false (to specify classic). Default is true.

property name

name?: pulumi.Input<string>;

Specifies the name of the availability set. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount?: pulumi.Input<number>;

Specifies the number of fault domains that are used. Defaults to 3.

property platformUpdateDomainCount

platformUpdateDomainCount?: pulumi.Input<number>;

Specifies the number of update domains that are used. Defaults to 5.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface AvailabilitySetState

interface AvailabilitySetState

Input properties used for looking up and filtering AvailabilitySet resources.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property managed

managed?: pulumi.Input<boolean>;

Specifies whether the availability set is managed or not. Possible values are true (to specify aligned) or false (to specify classic). Default is true.

property name

name?: pulumi.Input<string>;

Specifies the name of the availability set. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount?: pulumi.Input<number>;

Specifies the number of fault domains that are used. Defaults to 3.

property platformUpdateDomainCount

platformUpdateDomainCount?: pulumi.Input<number>;

Specifies the number of update domains that are used. Defaults to 5.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the availability set. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface BastionHostArgs

interface BastionHostArgs

The set of arguments for constructing a BastionHost resource.

property ipConfiguration

ipConfiguration?: pulumi.Input<BastionHostIpConfiguration>;

A ipConfiguration block as defined below.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Bastion Host. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the Bastion Host.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface BastionHostState

interface BastionHostState

Input properties used for looking up and filtering BastionHost resources.

property dnsName

dnsName?: pulumi.Input<string>;

The FQDN for the Bastion Host.

property ipConfiguration

ipConfiguration?: pulumi.Input<BastionHostIpConfiguration>;

A ipConfiguration block as defined below.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Bastion Host. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the Bastion Host.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface DataDiskAttachmentArgs

interface DataDiskAttachmentArgs

The set of arguments for constructing a DataDiskAttachment resource.

property caching

caching: pulumi.Input<string>;

Specifies the caching requirements for this Data Disk. Possible values include None, ReadOnly and ReadWrite.

property createOption

createOption?: pulumi.Input<string>;

The Create Option of the Data Disk, such as Empty or Attach. Defaults to Attach. Changing this forces a new resource to be created.

property lun

lun: pulumi.Input<number>;

The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.

property managedDiskId

managedDiskId: pulumi.Input<string>;

The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.

property virtualMachineId

virtualMachineId: pulumi.Input<string>;

The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.

property writeAcceleratorEnabled

writeAcceleratorEnabled?: pulumi.Input<boolean>;

Specifies if Write Accelerator is enabled on the disk. This can only be enabled on Premium_LRS managed disks with no caching and M-Series VMs. Defaults to false.

interface DataDiskAttachmentState

interface DataDiskAttachmentState

Input properties used for looking up and filtering DataDiskAttachment resources.

property caching

caching?: pulumi.Input<string>;

Specifies the caching requirements for this Data Disk. Possible values include None, ReadOnly and ReadWrite.

property createOption

createOption?: pulumi.Input<string>;

The Create Option of the Data Disk, such as Empty or Attach. Defaults to Attach. Changing this forces a new resource to be created.

property lun

lun?: pulumi.Input<number>;

The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.

property managedDiskId

managedDiskId?: pulumi.Input<string>;

The ID of an existing Managed Disk which should be attached. Changing this forces a new resource to be created.

property virtualMachineId

virtualMachineId?: pulumi.Input<string>;

The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.

property writeAcceleratorEnabled

writeAcceleratorEnabled?: pulumi.Input<boolean>;

Specifies if Write Accelerator is enabled on the disk. This can only be enabled on Premium_LRS managed disks with no caching and M-Series VMs. Defaults to false.

interface DedicatedHostArgs

interface DedicatedHostArgs

The set of arguments for constructing a DedicatedHost resource.

property autoReplaceOnFailure

autoReplaceOnFailure?: pulumi.Input<boolean>;

Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to true.

property dedicatedHostGroupId

dedicatedHostGroupId: pulumi.Input<string>;

Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are None, Windows_Server_Hybrid and Windows_Server_Perpetual. Defaults to None.

property location

location?: pulumi.Input<string>;

Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.

property platformFaultDomain

platformFaultDomain: pulumi.Input<number>;

Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.

property skuName

skuName: pulumi.Input<string>;

Specify the sku name of the Dedicated Host. Possible values are DSv3-Type1, DSv3-Type2, ESv3-Type1, ESv3-Type2,FSv2-Type2. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface DedicatedHostGroupArgs

interface DedicatedHostGroupArgs

The set of arguments for constructing a DedicatedHostGroup resource.

property location

location?: pulumi.Input<string>;

The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount: pulumi.Input<number>;

The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zones

zones?: pulumi.Input<string>;

A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.

interface DedicatedHostGroupState

interface DedicatedHostGroupState

Input properties used for looking up and filtering DedicatedHostGroup resources.

property location

location?: pulumi.Input<string>;

The Azure location where the Dedicated Host Group exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Dedicated Host Group. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount?: pulumi.Input<number>;

The number of fault domains that the Dedicated Host Group spans. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

Specifies the name of the resource group the Dedicated Host Group is located in. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zones

zones?: pulumi.Input<string>;

A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.

interface DedicatedHostState

interface DedicatedHostState

Input properties used for looking up and filtering DedicatedHost resources.

property autoReplaceOnFailure

autoReplaceOnFailure?: pulumi.Input<boolean>;

Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to true.

property dedicatedHostGroupId

dedicatedHostGroupId?: pulumi.Input<string>;

Specifies the ID of the Dedicated Host Group where the Dedicated Host should exist. Changing this forces a new resource to be created.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the software license type that will be applied to the VMs deployed on the Dedicated Host. Possible values are None, Windows_Server_Hybrid and Windows_Server_Perpetual. Defaults to None.

property location

location?: pulumi.Input<string>;

Specify the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of this Dedicated Host. Changing this forces a new resource to be created.

property platformFaultDomain

platformFaultDomain?: pulumi.Input<number>;

Specify the fault domain of the Dedicated Host Group in which to create the Dedicated Host. Changing this forces a new resource to be created.

property skuName

skuName?: pulumi.Input<string>;

Specify the sku name of the Dedicated Host. Possible values are DSv3-Type1, DSv3-Type2, ESv3-Type1, ESv3-Type2,FSv2-Type2. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface DiskEncryptionSetArgs

interface DiskEncryptionSetArgs

The set of arguments for constructing a DiskEncryptionSet resource.

property identity

identity: pulumi.Input<DiskEncryptionSetIdentity>;

A identity block defined below.

property keyVaultKeyId

keyVaultKeyId: pulumi.Input<string>;

Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret).

property location

location?: pulumi.Input<string>;

Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The name of the Disk Encryption Set. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Disk Encryption Set.

interface DiskEncryptionSetState

interface DiskEncryptionSetState

Input properties used for looking up and filtering DiskEncryptionSet resources.

property identity

identity?: pulumi.Input<DiskEncryptionSetIdentity>;

A identity block defined below.

property keyVaultKeyId

keyVaultKeyId?: pulumi.Input<string>;

Specifies the URL to a Key Vault Key (either from a Key Vault Key, or the Key URL for the Key Vault Secret).

property location

location?: pulumi.Input<string>;

Specifies the Azure Region where the Disk Encryption Set exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The name of the Disk Encryption Set. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

Specifies the name of the Resource Group where the Disk Encryption Set should exist. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Disk Encryption Set.

interface ExtensionArgs

interface ExtensionArgs

The set of arguments for constructing a Extension resource.

property autoUpgradeMinorVersion

autoUpgradeMinorVersion?: pulumi.Input<boolean>;

Specifies if the platform deploys the latest minor version update to the typeHandlerVersion specified.

property name

name?: pulumi.Input<string>;

The name of the virtual machine extension peering. Changing this forces a new resource to be created.

property protectedSettings

protectedSettings?: pulumi.Input<string>;

The protectedSettings passed to the extension, like settings, these are specified as a JSON object in a string.

property publisher

publisher: pulumi.Input<string>;

The publisher of the extension, available publishers can be found by using the Azure CLI.

property settings

settings?: pulumi.Input<string>;

The settings passed to the extension, these are specified as a JSON object in a string.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property type

type: pulumi.Input<string>;

The type of extension, available types for a publisher can be found using the Azure CLI.

property typeHandlerVersion

typeHandlerVersion: pulumi.Input<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property virtualMachineId

virtualMachineId: pulumi.Input<string>;

The ID of the Virtual Machine. Changing this forces a new resource to be created

interface ExtensionState

interface ExtensionState

Input properties used for looking up and filtering Extension resources.

property autoUpgradeMinorVersion

autoUpgradeMinorVersion?: pulumi.Input<boolean>;

Specifies if the platform deploys the latest minor version update to the typeHandlerVersion specified.

property name

name?: pulumi.Input<string>;

The name of the virtual machine extension peering. Changing this forces a new resource to be created.

property protectedSettings

protectedSettings?: pulumi.Input<string>;

The protectedSettings passed to the extension, like settings, these are specified as a JSON object in a string.

property publisher

publisher?: pulumi.Input<string>;

The publisher of the extension, available publishers can be found by using the Azure CLI.

property settings

settings?: pulumi.Input<string>;

The settings passed to the extension, these are specified as a JSON object in a string.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property type

type?: pulumi.Input<string>;

The type of extension, available types for a publisher can be found using the Azure CLI.

property typeHandlerVersion

typeHandlerVersion?: pulumi.Input<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property virtualMachineId

virtualMachineId?: pulumi.Input<string>;

The ID of the Virtual Machine. Changing this forces a new resource to be created

interface GetAvailabilitySetArgs

interface GetAvailabilitySetArgs

A collection of arguments for invoking getAvailabilitySet.

property name

name: string;

The name of the Availability Set.

property resourceGroupName

resourceGroupName: string;

The name of the resource group in which the Availability Set exists.

interface GetAvailabilitySetResult

interface GetAvailabilitySetResult

A collection of values returned by getAvailabilitySet.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The supported Azure location where the Availability Set exists.

property managed

managed: boolean;

Whether the availability set is managed or not.

property name

name: string;

property platformFaultDomainCount

platformFaultDomainCount: string;

The number of fault domains that are used.

property platformUpdateDomainCount

platformUpdateDomainCount: string;

The number of update domains that are used.

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the resource.

interface GetDedicatedHostArgs

interface GetDedicatedHostArgs

A collection of arguments for invoking getDedicatedHost.

property dedicatedHostGroupName

dedicatedHostGroupName: string;

Specifies the name of the Dedicated Host Group the Dedicated Host is located in.

property name

name: string;

Specifies the name of the Dedicated Host.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the resource group the Dedicated Host is located in.

interface GetDedicatedHostGroupArgs

interface GetDedicatedHostGroupArgs

A collection of arguments for invoking getDedicatedHostGroup.

property name

name: string;

Specifies the name of the Dedicated Host Group.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the resource group the Dedicated Host Group is located in.

interface GetDedicatedHostGroupResult

interface GetDedicatedHostGroupResult

A collection of values returned by getDedicatedHostGroup.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The Azure location where the Dedicated Host Group exists.

property name

name: string;

property platformFaultDomainCount

platformFaultDomainCount: number;

The number of fault domains that the Dedicated Host Group spans.

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the resource.

property zones

zones: string[];

The Availability Zones in which this Dedicated Host Group is located.

interface GetDedicatedHostResult

interface GetDedicatedHostResult

A collection of values returned by getDedicatedHost.

property dedicatedHostGroupName

dedicatedHostGroupName: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The location where the Dedicated Host exists.

property name

name: string;

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the Dedicated Host.

interface GetDiskEncryptionSetArgs

interface GetDiskEncryptionSetArgs

A collection of arguments for invoking getDiskEncryptionSet.

property name

name: string;

The name of the Disk Encryption Set exists.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group where the Disk Encryption Set exists.

interface GetDiskEncryptionSetResult

interface GetDiskEncryptionSetResult

A collection of values returned by getDiskEncryptionSet.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The location where the Disk Encryption Set exists.

property name

name: string;

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the Disk Encryption Set.

interface GetImageArgs

interface GetImageArgs

A collection of arguments for invoking getImage.

property name

name?: undefined | string;

The name of the Image.

property nameRegex

nameRegex?: undefined | string;

Regex pattern of the image to match.

property resourceGroupName

resourceGroupName: string;

The Name of the Resource Group where this Image exists.

property sortDescending

sortDescending?: undefined | false | true;

By default when matching by regex, images are sorted by name in ascending order and the first match is chosen, to sort descending, set this flag.

interface GetImageResult

interface GetImageResult

A collection of values returned by getImage.

property dataDisks

dataDisks: GetImageDataDisk[];

a collection of dataDisk blocks as defined below.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

the Azure Location where this Image exists.

property name

name?: undefined | string;

the name of the Image.

property nameRegex

nameRegex?: undefined | string;

property osDisks

osDisks: GetImageOsDisk[];

a osDisk block as defined below.

property resourceGroupName

resourceGroupName: string;

property sortDescending

sortDescending?: undefined | false | true;

property tags

tags: {[key: string]: string};

a mapping of tags to assigned to the resource.

property zoneResilient

zoneResilient: boolean;

is zone resiliency enabled?

interface GetManagedDiskArgs

interface GetManagedDiskArgs

A collection of arguments for invoking getManagedDisk.

property name

name: string;

Specifies the name of the Managed Disk.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the Resource Group where this Managed Disk exists.

property tags

tags?: undefined | {[key: string]: string};

A mapping of tags assigned to the resource.

property zones

zones?: string[];

A list of Availability Zones where the Managed Disk exists.

interface GetManagedDiskResult

interface GetManagedDiskResult

A collection of values returned by getManagedDisk.

property createOption

createOption: string;

property diskEncryptionSetId

diskEncryptionSetId: string;

The ID of the Disk Encryption Set used to encrypt this Managed Disk.

property diskIopsReadWrite

diskIopsReadWrite: number;

The number of IOPS allowed for this disk, where one operation can transfer between 4k and 256k bytes.

property diskMbpsReadWrite

diskMbpsReadWrite: number;

The bandwidth allowed for this disk.

property diskSizeGb

diskSizeGb: number;

The size of the Managed Disk in gigabytes.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property osType

osType: string;

The operating system used for this Managed Disk.

property resourceGroupName

resourceGroupName: string;

property sourceResourceId

sourceResourceId: string;

The ID of an existing Managed Disk which this Disk was created from.

property sourceUri

sourceUri: string;

The Source URI for this Managed Disk.

property storageAccountId

storageAccountId: string;

The ID of the Storage Account where the sourceUri is located.

property storageAccountType

storageAccountType: string;

The storage account type for the Managed Disk.

property tags

tags?: undefined | {[key: string]: string};

A mapping of tags assigned to the resource.

property zones

zones: string[];

A list of Availability Zones where the Managed Disk exists.

interface GetPlatformImageArgs

interface GetPlatformImageArgs

A collection of arguments for invoking getPlatformImage.

property location

location: string;

Specifies the Location to pull information about this Platform Image from.

property offer

offer: string;

Specifies the Offer associated with the Platform Image.

property publisher

publisher: string;

Specifies the Publisher associated with the Platform Image.

property sku

sku: string;

Specifies the SKU of the Platform Image.

property version

version?: undefined | string;

The version of the Platform Image.

interface GetPlatformImageResult

interface GetPlatformImageResult

A collection of values returned by getPlatformImage.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

property offer

offer: string;

property publisher

publisher: string;

property sku

sku: string;

property version

version: string;

interface GetSharedImageArgs

interface GetSharedImageArgs

A collection of arguments for invoking getSharedImage.

property galleryName

galleryName: string;

The name of the Shared Image Gallery in which the Shared Image exists.

property name

name: string;

The name of the Shared Image.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group in which the Shared Image Gallery exists.

interface GetSharedImageGalleryArgs

interface GetSharedImageGalleryArgs

A collection of arguments for invoking getSharedImageGallery.

property name

name: string;

The name of the Shared Image Gallery.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group in which the Shared Image Gallery exists.

interface GetSharedImageGalleryResult

interface GetSharedImageGalleryResult

A collection of values returned by getSharedImageGallery.

property description

description: string;

A description for the Shared Image Gallery.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

property name

name: string;

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags which are assigned to the Shared Image Gallery.

property uniqueName

uniqueName: string;

The unique name assigned to the Shared Image Gallery.

interface GetSharedImageResult

interface GetSharedImageResult

A collection of values returned by getSharedImage.

property description

description: string;

The description of this Shared Image.

property eula

eula: string;

The End User Licence Agreement for the Shared Image.

property galleryName

galleryName: string;

property hyperVGeneration

hyperVGeneration: string;

The generation of HyperV that the Virtual Machine used to create the Shared Image is based on.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property identifiers

identifiers: GetSharedImageIdentifier[];

An identifier block as defined below.

property location

location: string;

The supported Azure location where the Shared Image Gallery exists.

property name

name: string;

property osType

osType: string;

The type of Operating System present in this Shared Image.

property privacyStatementUri

privacyStatementUri: string;

The URI containing the Privacy Statement for this Shared Image.

property releaseNoteUri

releaseNoteUri: string;

The URI containing the Release Notes for this Shared Image.

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the Shared Image.

interface GetSharedImageVersionArgs

interface GetSharedImageVersionArgs

A collection of arguments for invoking getSharedImageVersion.

property galleryName

galleryName: string;

The name of the Shared Image in which the Shared Image exists.

property imageName

imageName: string;

The name of the Shared Image in which this Version exists.

property name

name: string;

The name of the Image Version.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group in which the Shared Image Gallery exists.

interface GetSharedImageVersionResult

interface GetSharedImageVersionResult

A collection of values returned by getSharedImageVersion.

property excludeFromLatest

excludeFromLatest: boolean;

Is this Image Version excluded from the latest filter?

property galleryName

galleryName: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property imageName

imageName: string;

property location

location: string;

The supported Azure location where the Shared Image Gallery exists.

property managedImageId

managedImageId: string;

The ID of the Managed Image which was the source of this Shared Image Version.

property name

name: string;

The Azure Region in which this Image Version exists.

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags assigned to the Shared Image.

property targetRegions

targetRegions: GetSharedImageVersionTargetRegion[];

One or more targetRegion blocks as documented below.

interface GetSharedImageVersionsArgs

interface GetSharedImageVersionsArgs

A collection of arguments for invoking getSharedImageVersions.

property galleryName

galleryName: string;

The name of the Shared Image in which the Shared Image exists.

property imageName

imageName: string;

The name of the Shared Image in which this Version exists.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group in which the Shared Image Gallery exists.

property tagsFilter

tagsFilter?: undefined | {[key: string]: string};

A mapping of tags to filter the list of images against.

interface GetSharedImageVersionsResult

interface GetSharedImageVersionsResult

A collection of values returned by getSharedImageVersions.

property galleryName

galleryName: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property imageName

imageName: string;

property images

images: GetSharedImageVersionsImage[];

An images block as defined below:

property resourceGroupName

resourceGroupName: string;

property tagsFilter

tagsFilter?: undefined | {[key: string]: string};

interface GetSnapshotArgs

interface GetSnapshotArgs

A collection of arguments for invoking getSnapshot.

property name

name: string;

Specifies the name of the Snapshot.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the resource group the Snapshot is located in.

interface GetSnapshotResult

interface GetSnapshotResult

A collection of values returned by getSnapshot.

property creationOption

creationOption: string;

property diskSizeGb

diskSizeGb: number;

The size of the Snapshotted Disk in GB.

property encryptionSettings

encryptionSettings: GetSnapshotEncryptionSetting[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property osType

osType: string;

property resourceGroupName

resourceGroupName: string;

property sourceResourceId

sourceResourceId: string;

The reference to an existing snapshot.

property sourceUri

sourceUri: string;

The URI to a Managed or Unmanaged Disk.

property storageAccountId

storageAccountId: string;

The ID of an storage account.

property timeCreated

timeCreated: string;

interface GetVirtualMachineArgs

interface GetVirtualMachineArgs

A collection of arguments for invoking getVirtualMachine.

property name

name: string;

Specifies the name of the Virtual Machine.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the resource group the Virtual Machine is located in.

interface GetVirtualMachineResult

interface GetVirtualMachineResult

A collection of values returned by getVirtualMachine.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property identities

identities: GetVirtualMachineIdentity[];

A identity block as defined below.

property location

location: string;

property name

name: string;

property resourceGroupName

resourceGroupName: string;

interface GetVirtualMachineScaleSetArgs

interface GetVirtualMachineScaleSetArgs

A collection of arguments for invoking getVirtualMachineScaleSet.

property name

name: string;

The name of this Virtual Machine Scale Set.

property resourceGroupName

resourceGroupName: string;

The name of the Resource Group where the Virtual Machine Scale Set exists.

interface GetVirtualMachineScaleSetResult

interface GetVirtualMachineScaleSetResult

A collection of values returned by getVirtualMachineScaleSet.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property identities

identities: GetVirtualMachineScaleSetIdentity[];

A identity block as defined below.

property location

location: string;

property name

name: string;

property resourceGroupName

resourceGroupName: string;

interface ImageArgs

interface ImageArgs

The set of arguments for constructing a Image resource.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<ImageDataDisk>[]>;

One or more dataDisk elements as defined below.

property hyperVGeneration

hyperVGeneration?: pulumi.Input<string>;

The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. The default is V1.

property location

location?: pulumi.Input<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the image. Changing this forces a new resource to be created.

property osDisk

osDisk?: pulumi.Input<ImageOsDisk>;

One or more osDisk elements as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the image. Changing this forces a new resource to be created.

property sourceVirtualMachineId

sourceVirtualMachineId?: pulumi.Input<string>;

The Virtual Machine ID from which to create the image.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zoneResilient

zoneResilient?: pulumi.Input<boolean>;

Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.

interface ImageState

interface ImageState

Input properties used for looking up and filtering Image resources.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<ImageDataDisk>[]>;

One or more dataDisk elements as defined below.

property hyperVGeneration

hyperVGeneration?: pulumi.Input<string>;

The HyperVGenerationType of the VirtualMachine created from the image as V1, V2. The default is V1.

property location

location?: pulumi.Input<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the image. Changing this forces a new resource to be created.

property osDisk

osDisk?: pulumi.Input<ImageOsDisk>;

One or more osDisk elements as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the image. Changing this forces a new resource to be created.

property sourceVirtualMachineId

sourceVirtualMachineId?: pulumi.Input<string>;

The Virtual Machine ID from which to create the image.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zoneResilient

zoneResilient?: pulumi.Input<boolean>;

Is zone resiliency enabled? Defaults to false. Changing this forces a new resource to be created.

interface LinuxVirtualMachineArgs

interface LinuxVirtualMachineArgs

The set of arguments for constructing a LinuxVirtualMachine resource.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<LinuxVirtualMachineAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property adminPassword

adminPassword?: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

adminSshKeys?: pulumi.Input<pulumi.Input<LinuxVirtualMachineAdminSshKey>[]>;

One or more adminSshKey blocks as defined below.

property adminUsername

adminUsername: pulumi.Input<string>;

The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.

property allowExtensionOperations

allowExtensionOperations?: pulumi.Input<boolean>;

Should Extension Operations be allowed on this Virtual Machine? Changing this forces a new resource to be created.

property availabilitySetId

availabilitySetId?: pulumi.Input<string>;

Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<LinuxVirtualMachineBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerName

computerName?: pulumi.Input<string>;

Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerName, then you must specify computerName. Changing this forces a new resource to be created.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.

property dedicatedHostId

dedicatedHostId?: pulumi.Input<string>;

The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.

property disablePasswordAuthentication

disablePasswordAuthentication?: pulumi.Input<boolean>;

Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.

property identity

identity?: pulumi.Input<LinuxVirtualMachineIdentity>;

An identity block as defined below.

property location

location?: pulumi.Input<string>;

The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the evictionPolicy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Linux Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

networkInterfaceIds: pulumi.Input<pulumi.Input<string>[]>;

. A list of Network Interface ID’s which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.

property osDisk

osDisk: pulumi.Input<LinuxVirtualMachineOsDisk>;

A osDisk block as defined below.

property plan

plan?: pulumi.Input<LinuxVirtualMachinePlan>;

A plan block as defined below. Changing this forces a new resource to be created.

property priority

priority?: pulumi.Input<string>;

Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.

property secrets

secrets?: pulumi.Input<pulumi.Input<LinuxVirtualMachineSecret>[]>;

One or more secret blocks as defined below.

property size

size: pulumi.Input<string>;

The SKU which should be used for this Virtual Machine, such as Standard_F2.

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.

property sourceImageReference

sourceImageReference?: pulumi.Input<LinuxVirtualMachineSourceImageReference>;

A sourceImageReference block as defined below. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Virtual Machine.

property virtualMachineScaleSetId

virtualMachineScaleSetId?: pulumi.Input<string>;

Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.

property zone

zone?: pulumi.Input<string>;

The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

interface LinuxVirtualMachineScaleSetArgs

interface LinuxVirtualMachineScaleSetArgs

The set of arguments for constructing a LinuxVirtualMachineScaleSet resource.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<LinuxVirtualMachineScaleSetAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property adminPassword

adminPassword?: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

adminSshKeys?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetAdminSshKey>[]>;

One or more adminSshKey blocks as defined below.

property adminUsername

adminUsername: pulumi.Input<string>;

The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.

property automaticInstanceRepair

automaticInstanceRepair?: pulumi.Input<LinuxVirtualMachineScaleSetAutomaticInstanceRepair>;

A automaticInstanceRepair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid healthProbeId or an Application Health Extension.

property automaticOsUpgradePolicy

automaticOsUpgradePolicy?: pulumi.Input<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy>;

A automaticOsUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<LinuxVirtualMachineScaleSetBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerNamePrefix

computerNamePrefix?: pulumi.Input<string>;

The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerNamePrefix, then you must specify computerNamePrefix.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetDataDisk>[]>;

One or more dataDisk blocks as defined below.

property disablePasswordAuthentication

disablePasswordAuthentication?: pulumi.Input<boolean>;

Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.

property doNotRunExtensionsOnOverprovisionedMachines

doNotRunExtensionsOnOverprovisionedMachines?: pulumi.Input<boolean>;

Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.

property healthProbeId

healthProbeId?: pulumi.Input<string>;

The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property identity

identity?: pulumi.Input<LinuxVirtualMachineScaleSetIdentity>;

A identity block as defined below.

property instances

instances: pulumi.Input<number>;

The number of Virtual Machines in the Scale Set.

property location

location?: pulumi.Input<string>;

The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the evictionPolicy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.

property networkInterfaces

networkInterfaces: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetNetworkInterface>[]>;

One or more networkInterface blocks as defined below.

property osDisk

osDisk: pulumi.Input<LinuxVirtualMachineScaleSetOsDisk>;

An osDisk block as defined below.

property overprovision

overprovision?: pulumi.Input<boolean>;

Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to false.

property plan

plan?: pulumi.Input<LinuxVirtualMachineScaleSetPlan>;

property priority

priority?: pulumi.Input<string>;

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.

property rollingUpgradePolicy

rollingUpgradePolicy?: pulumi.Input<LinuxVirtualMachineScaleSetRollingUpgradePolicy>;

A rollingUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property scaleInPolicy

scaleInPolicy?: pulumi.Input<string>;

The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

property secrets

secrets?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetSecret>[]>;

One or more secret blocks as defined below.

property singlePlacementGroup

singlePlacementGroup?: pulumi.Input<boolean>;

Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.

property sku

sku: pulumi.Input<string>;

The Virtual Machine SKU for the Scale Set, such as Standard_F2.

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The ID of an Image which each Virtual Machine in this Scale Set should be based on.

property sourceImageReference

sourceImageReference?: pulumi.Input<LinuxVirtualMachineScaleSetSourceImageReference>;

A sourceImageReference block as defined below.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Virtual Machine Scale Set.

property terminateNotification

terminateNotification?: pulumi.Input<LinuxVirtualMachineScaleSetTerminateNotification>;

A terminateNotification block as defined below.

property upgradeMode

upgradeMode?: pulumi.Input<string>;

Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.

property zoneBalance

zoneBalance?: pulumi.Input<boolean>;

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

property zones

zones?: pulumi.Input<pulumi.Input<string>[]>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

interface LinuxVirtualMachineScaleSetState

interface LinuxVirtualMachineScaleSetState

Input properties used for looking up and filtering LinuxVirtualMachineScaleSet resources.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<LinuxVirtualMachineScaleSetAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property adminPassword

adminPassword?: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

adminSshKeys?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetAdminSshKey>[]>;

One or more adminSshKey blocks as defined below.

property adminUsername

adminUsername?: pulumi.Input<string>;

The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.

property automaticInstanceRepair

automaticInstanceRepair?: pulumi.Input<LinuxVirtualMachineScaleSetAutomaticInstanceRepair>;

A automaticInstanceRepair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid healthProbeId or an Application Health Extension.

property automaticOsUpgradePolicy

automaticOsUpgradePolicy?: pulumi.Input<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy>;

A automaticOsUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<LinuxVirtualMachineScaleSetBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerNamePrefix

computerNamePrefix?: pulumi.Input<string>;

The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerNamePrefix, then you must specify computerNamePrefix.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetDataDisk>[]>;

One or more dataDisk blocks as defined below.

property disablePasswordAuthentication

disablePasswordAuthentication?: pulumi.Input<boolean>;

Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.

property doNotRunExtensionsOnOverprovisionedMachines

doNotRunExtensionsOnOverprovisionedMachines?: pulumi.Input<boolean>;

Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.

property healthProbeId

healthProbeId?: pulumi.Input<string>;

The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property identity

identity?: pulumi.Input<LinuxVirtualMachineScaleSetIdentity>;

A identity block as defined below.

property instances

instances?: pulumi.Input<number>;

The number of Virtual Machines in the Scale Set.

property location

location?: pulumi.Input<string>;

The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the evictionPolicy. Defaults to -1, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.

property networkInterfaces

networkInterfaces?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetNetworkInterface>[]>;

One or more networkInterface blocks as defined below.

property osDisk

osDisk?: pulumi.Input<LinuxVirtualMachineScaleSetOsDisk>;

An osDisk block as defined below.

property overprovision

overprovision?: pulumi.Input<boolean>;

Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to false.

property plan

plan?: pulumi.Input<LinuxVirtualMachineScaleSetPlan>;

property priority

priority?: pulumi.Input<string>;

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.

property rollingUpgradePolicy

rollingUpgradePolicy?: pulumi.Input<LinuxVirtualMachineScaleSetRollingUpgradePolicy>;

A rollingUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property scaleInPolicy

scaleInPolicy?: pulumi.Input<string>;

The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

property secrets

secrets?: pulumi.Input<pulumi.Input<LinuxVirtualMachineScaleSetSecret>[]>;

One or more secret blocks as defined below.

property singlePlacementGroup

singlePlacementGroup?: pulumi.Input<boolean>;

Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.

property sku

sku?: pulumi.Input<string>;

The Virtual Machine SKU for the Scale Set, such as Standard_F2.

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The ID of an Image which each Virtual Machine in this Scale Set should be based on.

property sourceImageReference

sourceImageReference?: pulumi.Input<LinuxVirtualMachineScaleSetSourceImageReference>;

A sourceImageReference block as defined below.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Virtual Machine Scale Set.

property terminateNotification

terminateNotification?: pulumi.Input<LinuxVirtualMachineScaleSetTerminateNotification>;

A terminateNotification block as defined below.

property uniqueId

uniqueId?: pulumi.Input<string>;

The Unique ID for this Linux Virtual Machine Scale Set.

property upgradeMode

upgradeMode?: pulumi.Input<string>;

Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.

property zoneBalance

zoneBalance?: pulumi.Input<boolean>;

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

property zones

zones?: pulumi.Input<pulumi.Input<string>[]>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

interface LinuxVirtualMachineState

interface LinuxVirtualMachineState

Input properties used for looking up and filtering LinuxVirtualMachine resources.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<LinuxVirtualMachineAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property adminPassword

adminPassword?: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminSshKeys

adminSshKeys?: pulumi.Input<pulumi.Input<LinuxVirtualMachineAdminSshKey>[]>;

One or more adminSshKey blocks as defined below.

property adminUsername

adminUsername?: pulumi.Input<string>;

The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.

property allowExtensionOperations

allowExtensionOperations?: pulumi.Input<boolean>;

Should Extension Operations be allowed on this Virtual Machine? Changing this forces a new resource to be created.

property availabilitySetId

availabilitySetId?: pulumi.Input<string>;

Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<LinuxVirtualMachineBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerName

computerName?: pulumi.Input<string>;

Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerName, then you must specify computerName. Changing this forces a new resource to be created.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.

property dedicatedHostId

dedicatedHostId?: pulumi.Input<string>;

The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.

property disablePasswordAuthentication

disablePasswordAuthentication?: pulumi.Input<boolean>;

Should Password Authentication be disabled on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.

property identity

identity?: pulumi.Input<LinuxVirtualMachineIdentity>;

An identity block as defined below.

property location

location?: pulumi.Input<string>;

The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the evictionPolicy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Linux Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

networkInterfaceIds?: pulumi.Input<pulumi.Input<string>[]>;

. A list of Network Interface ID’s which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.

property osDisk

osDisk?: pulumi.Input<LinuxVirtualMachineOsDisk>;

A osDisk block as defined below.

property plan

plan?: pulumi.Input<LinuxVirtualMachinePlan>;

A plan block as defined below. Changing this forces a new resource to be created.

property priority

priority?: pulumi.Input<string>;

Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

The Primary Private IP Address assigned to this Virtual Machine.

property privateIpAddresses

privateIpAddresses?: pulumi.Input<pulumi.Input<string>[]>;

A list of Private IP Addresses assigned to this Virtual Machine.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.

property publicIpAddress

publicIpAddress?: pulumi.Input<string>;

The Primary Public IP Address assigned to this Virtual Machine.

property publicIpAddresses

publicIpAddresses?: pulumi.Input<pulumi.Input<string>[]>;

A list of the Public IP Addresses assigned to this Virtual Machine.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.

property secrets

secrets?: pulumi.Input<pulumi.Input<LinuxVirtualMachineSecret>[]>;

One or more secret blocks as defined below.

property size

size?: pulumi.Input<string>;

The SKU which should be used for this Virtual Machine, such as Standard_F2.

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.

property sourceImageReference

sourceImageReference?: pulumi.Input<LinuxVirtualMachineSourceImageReference>;

A sourceImageReference block as defined below. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Virtual Machine.

property virtualMachineId

virtualMachineId?: pulumi.Input<string>;

A 128-bit identifier which uniquely identifies this Virtual Machine.

property virtualMachineScaleSetId

virtualMachineScaleSetId?: pulumi.Input<string>;

Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.

property zone

zone?: pulumi.Input<string>;

The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

interface ManagedDiskArgs

interface ManagedDiskArgs

The set of arguments for constructing a ManagedDisk resource.

property createOption

createOption: pulumi.Input<string>;

The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

property diskEncryptionSetId

diskEncryptionSetId?: pulumi.Input<string>;

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.

property diskIopsReadWrite

diskIopsReadWrite?: pulumi.Input<number>;

The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.

property diskMbpsReadWrite

diskMbpsReadWrite?: pulumi.Input<number>;

The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.

property diskSizeGb

diskSizeGb?: pulumi.Input<number>;

Specifies the size of the managed disk to create in gigabytes. If createOption is Copy or FromImage, then the value must be equal to or greater than the source’s size. The size can only be increased.

property encryptionSettings

encryptionSettings?: pulumi.Input<ManagedDiskEncryptionSettings>;

A encryptionSettings block as defined below.

property imageReferenceId

imageReferenceId?: pulumi.Input<string>;

ID of an existing platform/marketplace disk image to copy when createOption is FromImage.

property location

location?: pulumi.Input<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Managed Disk. Changing this forces a new resource to be created.

property osType

osType?: pulumi.Input<string>;

Specify a value when the source of an Import or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group where the Managed Disk should exist.

property sourceResourceId

sourceResourceId?: pulumi.Input<string>;

The ID of an existing Managed Disk to copy createOption is Copy or the recovery point to restore when createOption is Restore

property sourceUri

sourceUri?: pulumi.Input<string>;

URI to a valid VHD file to be used when createOption is Import.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

The ID of the Storage Account where the sourceUri is located. Required when createOption is set to Import. Changing this forces a new resource to be created.

property storageAccountType

storageAccountType: pulumi.Input<string>;

The type of storage to use for the managed disk. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS or UltraSSD_LRS.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zones

zones?: pulumi.Input<string>;

A collection containing the availability zone to allocate the Managed Disk in.

interface ManagedDiskState

interface ManagedDiskState

Input properties used for looking up and filtering ManagedDisk resources.

property createOption

createOption?: pulumi.Input<string>;

The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

property diskEncryptionSetId

diskEncryptionSetId?: pulumi.Input<string>;

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.

property diskIopsReadWrite

diskIopsReadWrite?: pulumi.Input<number>;

The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.

property diskMbpsReadWrite

diskMbpsReadWrite?: pulumi.Input<number>;

The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.

property diskSizeGb

diskSizeGb?: pulumi.Input<number>;

Specifies the size of the managed disk to create in gigabytes. If createOption is Copy or FromImage, then the value must be equal to or greater than the source’s size. The size can only be increased.

property encryptionSettings

encryptionSettings?: pulumi.Input<ManagedDiskEncryptionSettings>;

A encryptionSettings block as defined below.

property imageReferenceId

imageReferenceId?: pulumi.Input<string>;

ID of an existing platform/marketplace disk image to copy when createOption is FromImage.

property location

location?: pulumi.Input<string>;

Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Managed Disk. Changing this forces a new resource to be created.

property osType

osType?: pulumi.Input<string>;

Specify a value when the source of an Import or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group where the Managed Disk should exist.

property sourceResourceId

sourceResourceId?: pulumi.Input<string>;

The ID of an existing Managed Disk to copy createOption is Copy or the recovery point to restore when createOption is Restore

property sourceUri

sourceUri?: pulumi.Input<string>;

URI to a valid VHD file to be used when createOption is Import.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

The ID of the Storage Account where the sourceUri is located. Required when createOption is set to Import. Changing this forces a new resource to be created.

property storageAccountType

storageAccountType?: pulumi.Input<string>;

The type of storage to use for the managed disk. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS or UltraSSD_LRS.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property zones

zones?: pulumi.Input<string>;

A collection containing the availability zone to allocate the Managed Disk in.

interface OrchestratedVirtualMachineScaleSetArgs

interface OrchestratedVirtualMachineScaleSetArgs

The set of arguments for constructing a OrchestratedVirtualMachineScaleSet resource.

property location

location?: pulumi.Input<string>;

The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The name of the Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount: pulumi.Input<number>;

Specifies the number of fault domains that are used by this Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property singlePlacementGroup

singlePlacementGroup: pulumi.Input<boolean>;

Should the Orchestrated Virtual Machine Scale Set use single placement group? Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.

property zones

zones?: pulumi.Input<string>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

interface OrchestratedVirtualMachineScaleSetState

interface OrchestratedVirtualMachineScaleSetState

Input properties used for looking up and filtering OrchestratedVirtualMachineScaleSet resources.

property location

location?: pulumi.Input<string>;

The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The name of the Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property platformFaultDomainCount

platformFaultDomainCount?: pulumi.Input<number>;

Specifies the number of fault domains that are used by this Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group in which the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property singlePlacementGroup

singlePlacementGroup?: pulumi.Input<boolean>;

Should the Orchestrated Virtual Machine Scale Set use single placement group? Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.

property uniqueId

uniqueId?: pulumi.Input<string>;

The Unique ID for the Orchestrated Virtual Machine Scale Set.

property zones

zones?: pulumi.Input<string>;

A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.

interface ScaleSetArgs

interface ScaleSetArgs

The set of arguments for constructing a ScaleSet resource.

property automaticOsUpgrade

automaticOsUpgrade?: pulumi.Input<boolean>;

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgradePolicyMode is set to Rolling. Defaults to false.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<ScaleSetBootDiagnostics>;

A boot diagnostics profile block as referenced below.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete.

property extensions

extensions?: pulumi.Input<pulumi.Input<ScaleSetExtension>[]>;

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

property healthProbeId

healthProbeId?: pulumi.Input<string>;

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgradePolicyMode.

property identity

identity?: pulumi.Input<ScaleSetIdentity>;

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

property networkProfiles

networkProfiles: pulumi.Input<pulumi.Input<ScaleSetNetworkProfile>[]>;

A collection of network profile block as documented below.

property osProfile

osProfile: pulumi.Input<ScaleSetOsProfile>;

A Virtual Machine OS Profile block as documented below.

property osProfileLinuxConfig

osProfileLinuxConfig?: pulumi.Input<ScaleSetOsProfileLinuxConfig>;

A Linux config block as documented below.

property osProfileSecrets

osProfileSecrets?: pulumi.Input<pulumi.Input<ScaleSetOsProfileSecret>[]>;

A collection of Secret blocks as documented below.

property osProfileWindowsConfig

osProfileWindowsConfig?: pulumi.Input<ScaleSetOsProfileWindowsConfig>;

A Windows config block as documented below.

property overprovision

overprovision?: pulumi.Input<boolean>;

Specifies whether the virtual machine scale set should be overprovisioned.

property plan

plan?: pulumi.Input<ScaleSetPlan>;

A plan block as documented below.

property priority

priority?: pulumi.Input<string>;

Specifies the priority for the Virtual Machines in the Scale Set. Defaults to Regular. Possible values are Low and Regular.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

property rollingUpgradePolicy

rollingUpgradePolicy?: pulumi.Input<ScaleSetRollingUpgradePolicy>;

A rollingUpgradePolicy block as defined below. This is only applicable when the upgradePolicyMode is Rolling.

property singlePlacementGroup

singlePlacementGroup?: pulumi.Input<boolean>;

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

property sku

sku: pulumi.Input<ScaleSetSku>;

A sku block as documented below.

property storageProfileDataDisks

storageProfileDataDisks?: pulumi.Input<pulumi.Input<ScaleSetStorageProfileDataDisk>[]>;

A storage profile data disk block as documented below

property storageProfileImageReference

storageProfileImageReference?: pulumi.Input<ScaleSetStorageProfileImageReference>;

A storage profile image reference block as documented below.

property storageProfileOsDisk

storageProfileOsDisk: pulumi.Input<ScaleSetStorageProfileOsDisk>;

A storage profile os disk block as documented below

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property upgradePolicyMode

upgradePolicyMode: pulumi.Input<string>;

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

property zones

zones?: pulumi.Input<pulumi.Input<string>[]>;

A collection of availability zones to spread the Virtual Machines over.

interface ScaleSetState

interface ScaleSetState

Input properties used for looking up and filtering ScaleSet resources.

property automaticOsUpgrade

automaticOsUpgrade?: pulumi.Input<boolean>;

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgradePolicyMode is set to Rolling. Defaults to false.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<ScaleSetBootDiagnostics>;

A boot diagnostics profile block as referenced below.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete.

property extensions

extensions?: pulumi.Input<pulumi.Input<ScaleSetExtension>[]>;

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

property healthProbeId

healthProbeId?: pulumi.Input<string>;

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgradePolicyMode.

property identity

identity?: pulumi.Input<ScaleSetIdentity>;

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

property networkProfiles

networkProfiles?: pulumi.Input<pulumi.Input<ScaleSetNetworkProfile>[]>;

A collection of network profile block as documented below.

property osProfile

osProfile?: pulumi.Input<ScaleSetOsProfile>;

A Virtual Machine OS Profile block as documented below.

property osProfileLinuxConfig

osProfileLinuxConfig?: pulumi.Input<ScaleSetOsProfileLinuxConfig>;

A Linux config block as documented below.

property osProfileSecrets

osProfileSecrets?: pulumi.Input<pulumi.Input<ScaleSetOsProfileSecret>[]>;

A collection of Secret blocks as documented below.

property osProfileWindowsConfig

osProfileWindowsConfig?: pulumi.Input<ScaleSetOsProfileWindowsConfig>;

A Windows config block as documented below.

property overprovision

overprovision?: pulumi.Input<boolean>;

Specifies whether the virtual machine scale set should be overprovisioned.

property plan

plan?: pulumi.Input<ScaleSetPlan>;

A plan block as documented below.

property priority

priority?: pulumi.Input<string>;

Specifies the priority for the Virtual Machines in the Scale Set. Defaults to Regular. Possible values are Low and Regular.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

property rollingUpgradePolicy

rollingUpgradePolicy?: pulumi.Input<ScaleSetRollingUpgradePolicy>;

A rollingUpgradePolicy block as defined below. This is only applicable when the upgradePolicyMode is Rolling.

property singlePlacementGroup

singlePlacementGroup?: pulumi.Input<boolean>;

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

property sku

sku?: pulumi.Input<ScaleSetSku>;

A sku block as documented below.

property storageProfileDataDisks

storageProfileDataDisks?: pulumi.Input<pulumi.Input<ScaleSetStorageProfileDataDisk>[]>;

A storage profile data disk block as documented below

property storageProfileImageReference

storageProfileImageReference?: pulumi.Input<ScaleSetStorageProfileImageReference>;

A storage profile image reference block as documented below.

property storageProfileOsDisk

storageProfileOsDisk?: pulumi.Input<ScaleSetStorageProfileOsDisk>;

A storage profile os disk block as documented below

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

property upgradePolicyMode

upgradePolicyMode?: pulumi.Input<string>;

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

property zones

zones?: pulumi.Input<pulumi.Input<string>[]>;

A collection of availability zones to spread the Virtual Machines over.

interface SharedImageArgs

interface SharedImageArgs

The set of arguments for constructing a SharedImage resource.

property description

description?: pulumi.Input<string>;

A description of this Shared Image.

property eula

eula?: pulumi.Input<string>;

The End User Licence Agreement for the Shared Image.

property galleryName

galleryName: pulumi.Input<string>;

Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.

property hyperVGeneration

hyperVGeneration?: pulumi.Input<string>;

The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.

property identifier

identifier: pulumi.Input<SharedImageIdentifier>;

An identifier block as defined below.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Shared Image. Changing this forces a new resource to be created.

property osType

osType: pulumi.Input<string>;

The type of Operating System present in this Shared Image. Possible values are Linux and Windows.

property privacyStatementUri

privacyStatementUri?: pulumi.Input<string>;

The URI containing the Privacy Statement associated with this Shared Image.

property releaseNoteUri

releaseNoteUri?: pulumi.Input<string>;

The URI containing the Release Notes associated with this Shared Image.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Shared Image.

interface SharedImageGalleryArgs

interface SharedImageGalleryArgs

The set of arguments for constructing a SharedImageGallery resource.

property description

description?: pulumi.Input<string>;

A description for this Shared Image Gallery.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Shared Image Gallery.

interface SharedImageGalleryState

interface SharedImageGalleryState

Input properties used for looking up and filtering SharedImageGallery resources.

property description

description?: pulumi.Input<string>;

A description for this Shared Image Gallery.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Shared Image Gallery. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the Shared Image Gallery. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Shared Image Gallery.

property uniqueName

uniqueName?: pulumi.Input<string>;

The Unique Name for this Shared Image Gallery.

interface SharedImageState

interface SharedImageState

Input properties used for looking up and filtering SharedImage resources.

property description

description?: pulumi.Input<string>;

A description of this Shared Image.

property eula

eula?: pulumi.Input<string>;

The End User Licence Agreement for the Shared Image.

property galleryName

galleryName?: pulumi.Input<string>;

Specifies the name of the Shared Image Gallery in which this Shared Image should exist. Changing this forces a new resource to be created.

property hyperVGeneration

hyperVGeneration?: pulumi.Input<string>;

The generation of HyperV that the Virtual Machine used to create the Shared Image is based on. Possible values are V1 and V2. Defaults to V1. Changing this forces a new resource to be created.

property identifier

identifier?: pulumi.Input<SharedImageIdentifier>;

An identifier block as defined below.

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the Shared Image Gallery exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Shared Image. Changing this forces a new resource to be created.

property osType

osType?: pulumi.Input<string>;

The type of Operating System present in this Shared Image. Possible values are Linux and Windows.

property privacyStatementUri

privacyStatementUri?: pulumi.Input<string>;

The URI containing the Privacy Statement associated with this Shared Image.

property releaseNoteUri

releaseNoteUri?: pulumi.Input<string>;

The URI containing the Release Notes associated with this Shared Image.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Shared Image.

interface SharedImageVersionArgs

interface SharedImageVersionArgs

The set of arguments for constructing a SharedImageVersion resource.

property excludeFromLatest

excludeFromLatest?: pulumi.Input<boolean>;

Should this Image Version be excluded from the latest filter? If set to true this Image Version won’t be returned for the latest version. Defaults to false.

property galleryName

galleryName: pulumi.Input<string>;

The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.

property imageName

imageName: pulumi.Input<string>;

The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property managedImageId

managedImageId: pulumi.Input<string>;

The ID of the Managed Image which should be used for this Shared Image Version. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The version number for this Image Version, such as 1.0.0. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A collection of tags which should be applied to this resource.

property targetRegions

targetRegions: pulumi.Input<pulumi.Input<SharedImageVersionTargetRegion>[]>;

One or more targetRegion blocks as documented below.

interface SharedImageVersionState

interface SharedImageVersionState

Input properties used for looking up and filtering SharedImageVersion resources.

property excludeFromLatest

excludeFromLatest?: pulumi.Input<boolean>;

Should this Image Version be excluded from the latest filter? If set to true this Image Version won’t be returned for the latest version. Defaults to false.

property galleryName

galleryName?: pulumi.Input<string>;

The name of the Shared Image Gallery in which the Shared Image exists. Changing this forces a new resource to be created.

property imageName

imageName?: pulumi.Input<string>;

The name of the Shared Image within the Shared Image Gallery in which this Version should be created. Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

The Azure Region in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property managedImageId

managedImageId?: pulumi.Input<string>;

The ID of the Managed Image which should be used for this Shared Image Version. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

The version number for this Image Version, such as 1.0.0. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the Resource Group in which the Shared Image Gallery exists. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A collection of tags which should be applied to this resource.

property targetRegions

targetRegions?: pulumi.Input<pulumi.Input<SharedImageVersionTargetRegion>[]>;

One or more targetRegion blocks as documented below.

interface SnapshotArgs

interface SnapshotArgs

The set of arguments for constructing a Snapshot resource.

property createOption

createOption: pulumi.Input<string>;

Indicates how the snapshot is to be created. Possible values are Copy or Import. Changing this forces a new resource to be created.

property diskSizeGb

diskSizeGb?: pulumi.Input<number>;

The size of the Snapshotted Disk in GB.

property encryptionSettings

encryptionSettings?: pulumi.Input<SnapshotEncryptionSettings>;

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.

property sourceResourceId

sourceResourceId?: pulumi.Input<string>;

Specifies a reference to an existing snapshot, when createOption is Copy. Changing this forces a new resource to be created.

property sourceUri

sourceUri?: pulumi.Input<string>;

Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

Specifies the ID of an storage account. Used with sourceUri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface SnapshotState

interface SnapshotState

Input properties used for looking up and filtering Snapshot resources.

property createOption

createOption?: pulumi.Input<string>;

Indicates how the snapshot is to be created. Possible values are Copy or Import. Changing this forces a new resource to be created.

property diskSizeGb

diskSizeGb?: pulumi.Input<number>;

The size of the Snapshotted Disk in GB.

property encryptionSettings

encryptionSettings?: pulumi.Input<SnapshotEncryptionSettings>;

property location

location?: pulumi.Input<string>;

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Snapshot resource. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the Snapshot. Changing this forces a new resource to be created.

property sourceResourceId

sourceResourceId?: pulumi.Input<string>;

Specifies a reference to an existing snapshot, when createOption is Copy. Changing this forces a new resource to be created.

property sourceUri

sourceUri?: pulumi.Input<string>;

Specifies the URI to a Managed or Unmanaged Disk. Changing this forces a new resource to be created.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

Specifies the ID of an storage account. Used with sourceUri to allow authorization during import of unmanaged blobs from a different subscription. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface VirtualMachineArgs

interface VirtualMachineArgs

The set of arguments for constructing a VirtualMachine resource.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<VirtualMachineAdditionalCapabilities>;

A additionalCapabilities block.

property availabilitySetId

availabilitySetId?: pulumi.Input<string>;

The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<VirtualMachineBootDiagnostics>;

A bootDiagnostics block.

property deleteDataDisksOnTermination

deleteDataDisksOnTermination?: pulumi.Input<boolean>;

Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to false.

property deleteOsDiskOnTermination

deleteOsDiskOnTermination?: pulumi.Input<boolean>;

Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to false.

property identity

identity?: pulumi.Input<VirtualMachineIdentity>;

A identity block.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are Windows_Client and Windows_Server.

property location

location?: pulumi.Input<string>;

Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

networkInterfaceIds: pulumi.Input<pulumi.Input<string>[]>;

A list of Network Interface ID’s which should be associated with the Virtual Machine.

property osProfile

osProfile?: pulumi.Input<VirtualMachineOsProfile>;

An osProfile block. Required when createOption in the storageOsDisk block is set to FromImage.

property osProfileLinuxConfig

osProfileLinuxConfig?: pulumi.Input<VirtualMachineOsProfileLinuxConfig>;

A osProfileLinuxConfig block.

property osProfileSecrets

osProfileSecrets?: pulumi.Input<pulumi.Input<VirtualMachineOsProfileSecret>[]>;

One or more osProfileSecrets blocks.

property osProfileWindowsConfig

osProfileWindowsConfig?: pulumi.Input<VirtualMachineOsProfileWindowsConfig>;

A osProfileWindowsConfig block.

property plan

plan?: pulumi.Input<VirtualMachinePlan>;

A plan block.

property primaryNetworkInterfaceId

primaryNetworkInterfaceId?: pulumi.Input<string>;

The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property storageDataDisks

storageDataDisks?: pulumi.Input<pulumi.Input<VirtualMachineStorageDataDisk>[]>;

One or more storageDataDisk blocks.

property storageImageReference

storageImageReference?: pulumi.Input<VirtualMachineStorageImageReference>;

A storageImageReference block.

property storageOsDisk

storageOsDisk: pulumi.Input<VirtualMachineStorageOsDisk>;

A storageOsDisk block.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Virtual Machine.

property vmSize

vmSize: pulumi.Input<string>;

Specifies the size of the Virtual Machine.

property zones

zones?: pulumi.Input<string>;

A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.

interface VirtualMachineScaleSetExtensionArgs

interface VirtualMachineScaleSetExtensionArgs

The set of arguments for constructing a VirtualMachineScaleSetExtension resource.

property autoUpgradeMinorVersion

autoUpgradeMinorVersion?: pulumi.Input<boolean>;

Should the latest version of the Extension be used at Deployment Time, if one is available? This won’t auto-update the extension on existing installation. Defaults to true.

property forceUpdateTag

forceUpdateTag?: pulumi.Input<string>;

A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn’t changed.

property name

name?: pulumi.Input<string>;

The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.

property protectedSettings

protectedSettings?: pulumi.Input<string>;

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

property provisionAfterExtensions

provisionAfterExtensions?: pulumi.Input<pulumi.Input<string>[]>;

An ordered list of Extension names which this should be provisioned after.

property publisher

publisher: pulumi.Input<string>;

Specifies the Publisher of the Extension. Changing this forces a new resource to be created.

property settings

settings?: pulumi.Input<string>;

A JSON String which specifies Settings for the Extension.

property type

type: pulumi.Input<string>;

Specifies the Type of the Extension. Changing this forces a new resource to be created.

property typeHandlerVersion

typeHandlerVersion: pulumi.Input<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property virtualMachineScaleSetId

virtualMachineScaleSetId: pulumi.Input<string>;

The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.

interface VirtualMachineScaleSetExtensionState

interface VirtualMachineScaleSetExtensionState

Input properties used for looking up and filtering VirtualMachineScaleSetExtension resources.

property autoUpgradeMinorVersion

autoUpgradeMinorVersion?: pulumi.Input<boolean>;

Should the latest version of the Extension be used at Deployment Time, if one is available? This won’t auto-update the extension on existing installation. Defaults to true.

property forceUpdateTag

forceUpdateTag?: pulumi.Input<string>;

A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn’t changed.

property name

name?: pulumi.Input<string>;

The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.

property protectedSettings

protectedSettings?: pulumi.Input<string>;

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

property provisionAfterExtensions

provisionAfterExtensions?: pulumi.Input<pulumi.Input<string>[]>;

An ordered list of Extension names which this should be provisioned after.

property publisher

publisher?: pulumi.Input<string>;

Specifies the Publisher of the Extension. Changing this forces a new resource to be created.

property settings

settings?: pulumi.Input<string>;

A JSON String which specifies Settings for the Extension.

property type

type?: pulumi.Input<string>;

Specifies the Type of the Extension. Changing this forces a new resource to be created.

property typeHandlerVersion

typeHandlerVersion?: pulumi.Input<string>;

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

property virtualMachineScaleSetId

virtualMachineScaleSetId?: pulumi.Input<string>;

The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.

interface VirtualMachineState

interface VirtualMachineState

Input properties used for looking up and filtering VirtualMachine resources.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<VirtualMachineAdditionalCapabilities>;

A additionalCapabilities block.

property availabilitySetId

availabilitySetId?: pulumi.Input<string>;

The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<VirtualMachineBootDiagnostics>;

A bootDiagnostics block.

property deleteDataDisksOnTermination

deleteDataDisksOnTermination?: pulumi.Input<boolean>;

Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to false.

property deleteOsDiskOnTermination

deleteOsDiskOnTermination?: pulumi.Input<boolean>;

Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to false.

property identity

identity?: pulumi.Input<VirtualMachineIdentity>;

A identity block.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are Windows_Client and Windows_Server.

property location

location?: pulumi.Input<string>;

Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

networkInterfaceIds?: pulumi.Input<pulumi.Input<string>[]>;

A list of Network Interface ID’s which should be associated with the Virtual Machine.

property osProfile

osProfile?: pulumi.Input<VirtualMachineOsProfile>;

An osProfile block. Required when createOption in the storageOsDisk block is set to FromImage.

property osProfileLinuxConfig

osProfileLinuxConfig?: pulumi.Input<VirtualMachineOsProfileLinuxConfig>;

A osProfileLinuxConfig block.

property osProfileSecrets

osProfileSecrets?: pulumi.Input<pulumi.Input<VirtualMachineOsProfileSecret>[]>;

One or more osProfileSecrets blocks.

property osProfileWindowsConfig

osProfileWindowsConfig?: pulumi.Input<VirtualMachineOsProfileWindowsConfig>;

A osProfileWindowsConfig block.

property plan

plan?: pulumi.Input<VirtualMachinePlan>;

A plan block.

property primaryNetworkInterfaceId

primaryNetworkInterfaceId?: pulumi.Input<string>;

The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property storageDataDisks

storageDataDisks?: pulumi.Input<pulumi.Input<VirtualMachineStorageDataDisk>[]>;

One or more storageDataDisk blocks.

property storageImageReference

storageImageReference?: pulumi.Input<VirtualMachineStorageImageReference>;

A storageImageReference block.

property storageOsDisk

storageOsDisk?: pulumi.Input<VirtualMachineStorageOsDisk>;

A storageOsDisk block.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the Virtual Machine.

property vmSize

vmSize?: pulumi.Input<string>;

Specifies the size of the Virtual Machine.

property zones

zones?: pulumi.Input<string>;

A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.

interface WindowsVirtualMachineArgs

interface WindowsVirtualMachineArgs

The set of arguments for constructing a WindowsVirtualMachine resource.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<WindowsVirtualMachineAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property additionalUnattendContents

additionalUnattendContents?: pulumi.Input<pulumi.Input<WindowsVirtualMachineAdditionalUnattendContent>[]>;

One or more additionalUnattendContent blocks as defined below. Changing this forces a new resource to be created.

property adminPassword

adminPassword: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminUsername

adminUsername: pulumi.Input<string>;

The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.

property allowExtensionOperations

allowExtensionOperations?: pulumi.Input<boolean>;

Should Extension Operations be allowed on this Virtual Machine? Changing this forces a new resource to be created.

property availabilitySetId

availabilitySetId?: pulumi.Input<string>;

Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<WindowsVirtualMachineBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerName

computerName?: pulumi.Input<string>;

Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerName, then you must specify computerName. Changing this forces a new resource to be created.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.

property dedicatedHostId

dedicatedHostId?: pulumi.Input<string>;

The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.

property enableAutomaticUpdates

enableAutomaticUpdates?: pulumi.Input<boolean>;

Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.

property identity

identity?: pulumi.Input<WindowsVirtualMachineIdentity>;

An identity block as defined below.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None, Windows_Client and Windows_Server. Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the evictionPolicy. Defaults to -1, which means that the Virtual Machine should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Windows Virtual Machine. Changing this forces a new resource to be created.

property networkInterfaceIds

networkInterfaceIds: pulumi.Input<pulumi.Input<string>[]>;

. A list of Network Interface ID’s which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.

property osDisk

osDisk: pulumi.Input<WindowsVirtualMachineOsDisk>;

A osDisk block as defined below.

property plan

plan?: pulumi.Input<WindowsVirtualMachinePlan>;

A plan block as defined below. Changing this forces a new resource to be created.

property priority

priority?: pulumi.Input<string>;

Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.

property secrets

secrets?: pulumi.Input<pulumi.Input<WindowsVirtualMachineSecret>[]>;

One or more secret blocks as defined below.

property size

size: pulumi.Input<string>;

The SKU which should be used for this Virtual Machine, such as Standard_F2.

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.

property sourceImageReference

sourceImageReference?: pulumi.Input<WindowsVirtualMachineSourceImageReference>;

A sourceImageReference block as defined below. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags which should be assigned to this Virtual Machine.

property timezone

timezone?: pulumi.Input<string>;

Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.

property virtualMachineScaleSetId

virtualMachineScaleSetId?: pulumi.Input<string>;

Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.

property winrmListeners

winrmListeners?: pulumi.Input<pulumi.Input<WindowsVirtualMachineWinrmListener>[]>;

One or more winrmListener blocks as defined below.

property zone

zone?: pulumi.Input<string>;

The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

interface WindowsVirtualMachineScaleSetArgs

interface WindowsVirtualMachineScaleSetArgs

The set of arguments for constructing a WindowsVirtualMachineScaleSet resource.

property additionalCapabilities

additionalCapabilities?: pulumi.Input<WindowsVirtualMachineScaleSetAdditionalCapabilities>;

A additionalCapabilities block as defined below.

property additionalUnattendContents

additionalUnattendContents?: pulumi.Input<pulumi.Input<WindowsVirtualMachineScaleSetAdditionalUnattendContent>[]>;

One or more additionalUnattendContent blocks as defined below.

property adminPassword

adminPassword: pulumi.Input<string>;

The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.

property adminUsername

adminUsername: pulumi.Input<string>;

The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.

property automaticInstanceRepair

automaticInstanceRepair?: pulumi.Input<WindowsVirtualMachineScaleSetAutomaticInstanceRepair>;

A automaticInstanceRepair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid healthProbeId or an Application Health Extension.

property automaticOsUpgradePolicy

automaticOsUpgradePolicy?: pulumi.Input<WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy>;

A automaticOsUpgradePolicy block as defined below. This is Required and can only be specified when upgradeMode is set to Automatic.

property bootDiagnostics

bootDiagnostics?: pulumi.Input<WindowsVirtualMachineScaleSetBootDiagnostics>;

A bootDiagnostics block as defined below.

property computerNamePrefix

computerNamePrefix?: pulumi.Input<string>;

The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computerNamePrefix, then you must specify computerNamePrefix.

property customData

customData?: pulumi.Input<string>;

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<WindowsVirtualMachineScaleSetDataDisk>[]>;

One or more dataDisk blocks as defined below.

property doNotRunExtensionsOnOverprovisionedMachines

doNotRunExtensionsOnOverprovisionedMachines?: pulumi.Input<boolean>;

Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.

property enableAutomaticUpdates

enableAutomaticUpdates?: pulumi.Input<boolean>;

Are automatic updates enabled for this Virtual Machine? Defaults to true.

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.

property healthProbeId

healthProbeId?: pulumi.Input<string>;

The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgradeMode is set to Automatic or Rolling.

property identity

identity?: pulumi.Input<WindowsVirtualMachineScaleSetIdentity>;

A identity block as defined below.

property instances

instances: pulumi.Input<number>;

The number of Virtual Machines in the Scale Set.

property licenseType

licenseType?: pulumi.Input<string>;

Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server. Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.

property maxBidPrice

maxBidPrice?: pulumi.Input<number>;

The maximum price you’re willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the evictionPolicy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

property name

name?: pulumi.Input<string>;

The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.

property networkInterfaces

networkInterfaces: pulumi.Input<pulumi.Input<WindowsVirtualMachineScaleSetNetworkInterface>[]>;

One or more networkInterface blocks as defined below.

property osDisk

osDisk: pulumi.Input<WindowsVirtualMachineScaleSetOsDisk>;

An osDisk block as defined below.

property overprovision

overprovision?: pulumi.Input<boolean>;

Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You’re not billed for these over-provisioned VM’s and they don’t count towards the Subscription Quota. Defaults to false.

property plan

plan?: pulumi.Input<WindowsVirtualMachineScaleSetPlan>;

property priority

priority?: pulumi.Input<string>;

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

property provisionVmAgent

provisionVmAgent?: pulumi.Input<boolean>;

Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.

property proximityPlacementGroupId

proximityPlacementGroupId?: pulumi.Input<string>;

The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.