Microsoft.Compute virtualMachineScaleSets/extensions 2019-03-01

Template format

To create a Microsoft.Compute/virtualMachineScaleSets/extensions resource, add the following JSON to the resources section of your template.

  "name": "string",
  "type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
  "apiVersion": "2019-03-01",
  "properties": {
    "publisher": "string",
    "type": "string",
    "typeHandlerVersion": "string",
    "autoUpgradeMinorVersion": "boolean",
    "settings": {},
    "protectedSettings": {},
    "provisionAfterExtensions": [

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Compute/virtualMachineScaleSets/extensions object


In Bicep, type and apiVersion are specified in the first line of the resource declaration. Use the format <type>@<apiVersion>. Don't set those properties in the resource body.

Name Type Required Value
name string Yes The name of the virtual machine extension.
type enum Yes For JSON -extensions

See Set name and type for child resources.
apiVersion enum Yes For JSON - 2019-03-01
properties object Yes VirtualMachineScaleSetExtensionProperties object

VirtualMachineScaleSetExtensionProperties object

Name Type Required Value
publisher string No The name of the extension handler publisher.
type string No Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion string No Specifies the version of the script handler.
autoUpgradeMinorVersion boolean No Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
settings object No Json formatted public settings for the extension.
protectedSettings object No The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
provisionAfterExtensions array No Collection of extension names after which this extension needs to be provisioned. - string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
This template decrypts previously encrypted Windows VMSS

Deploy to Azure
This template disables encryption on a running Windows VM Scale Set
This template encrypts a running Windows VMSS

Deploy to Azure
This template enables encryption on a running Windows VM Scale Set
Create and encrypt a new Windows VMSS with jumpbox

Deploy to Azure
This template allows you to deploy a simple VM Scale Set of Windows VMs using the lastest patched version of serveral Windows versions. This template also deploys a jumpbox with a public IP address in the same virtual network. You can connect to the jumpbox via this public IP address, then connect from there to VMs in the scale set via private IP addresses.This template enables encryption on the VM Scale Set of Windows VMs.