We recommend using Azure Native.
azure.compute.VirtualMachineScaleSetExtension
Explore with Pulumi AI
Manages an Extension for a Virtual Machine Scale Set.
NOTE: This resource is not intended to be used with the
azure.compute.ScaleSetresource - instead it’s intended for this to be used with theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
    name: "example",
    location: "West Europe",
});
const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("example", {
    name: "example",
    resourceGroupName: example.name,
    location: example.location,
    sku: "Standard_F2",
    adminUsername: "adminuser",
    instances: 1,
    sourceImageReference: {
        publisher: "Canonical",
        offer: "0001-com-ubuntu-server-jammy",
        sku: "22_04-lts",
        version: "latest",
    },
    networkInterfaces: [{
        name: "example",
        ipConfigurations: [{
            name: "internal",
        }],
    }],
    osDisk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
});
const exampleVirtualMachineScaleSetExtension = new azure.compute.VirtualMachineScaleSetExtension("example", {
    name: "example",
    virtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.id,
    publisher: "Microsoft.Azure.Extensions",
    type: "CustomScript",
    typeHandlerVersion: "2.0",
    settings: JSON.stringify({
        commandToExecute: "echo $HOSTNAME",
    }),
});
import pulumi
import json
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
    name="example",
    location="West Europe")
example_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet("example",
    name="example",
    resource_group_name=example.name,
    location=example.location,
    sku="Standard_F2",
    admin_username="adminuser",
    instances=1,
    source_image_reference={
        "publisher": "Canonical",
        "offer": "0001-com-ubuntu-server-jammy",
        "sku": "22_04-lts",
        "version": "latest",
    },
    network_interfaces=[{
        "name": "example",
        "ip_configurations": [{
            "name": "internal",
        }],
    }],
    os_disk={
        "storage_account_type": "Standard_LRS",
        "caching": "ReadWrite",
    })
example_virtual_machine_scale_set_extension = azure.compute.VirtualMachineScaleSetExtension("example",
    name="example",
    virtual_machine_scale_set_id=example_linux_virtual_machine_scale_set.id,
    publisher="Microsoft.Azure.Extensions",
    type="CustomScript",
    type_handler_version="2.0",
    settings=json.dumps({
        "commandToExecute": "echo $HOSTNAME",
    }))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "example", &compute.LinuxVirtualMachineScaleSetArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			Sku:               pulumi.String("Standard_F2"),
			AdminUsername:     pulumi.String("adminuser"),
			Instances:         pulumi.Int(1),
			SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
				&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
					Name: pulumi.String("example"),
					IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
						&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
							Name: pulumi.String("internal"),
						},
					},
				},
			},
			OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
				StorageAccountType: pulumi.String("Standard_LRS"),
				Caching:            pulumi.String("ReadWrite"),
			},
		})
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"commandToExecute": "echo $HOSTNAME",
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = compute.NewVirtualMachineScaleSetExtension(ctx, "example", &compute.VirtualMachineScaleSetExtensionArgs{
			Name:                     pulumi.String("example"),
			VirtualMachineScaleSetId: exampleLinuxVirtualMachineScaleSet.ID(),
			Publisher:                pulumi.String("Microsoft.Azure.Extensions"),
			Type:                     pulumi.String("CustomScript"),
			TypeHandlerVersion:       pulumi.String("2.0"),
			Settings:                 pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example",
        Location = "West Europe",
    });
    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet("example", new()
    {
        Name = "example",
        ResourceGroupName = example.Name,
        Location = example.Location,
        Sku = "Standard_F2",
        AdminUsername = "adminuser",
        Instances = 1,
        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Publisher = "Canonical",
            Offer = "0001-com-ubuntu-server-jammy",
            Sku = "22_04-lts",
            Version = "latest",
        },
        NetworkInterfaces = new[]
        {
            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs
            {
                Name = "example",
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                    {
                        Name = "internal",
                    },
                },
            },
        },
        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs
        {
            StorageAccountType = "Standard_LRS",
            Caching = "ReadWrite",
        },
    });
    var exampleVirtualMachineScaleSetExtension = new Azure.Compute.VirtualMachineScaleSetExtension("example", new()
    {
        Name = "example",
        VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,
        Publisher = "Microsoft.Azure.Extensions",
        Type = "CustomScript",
        TypeHandlerVersion = "2.0",
        Settings = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["commandToExecute"] = "echo $HOSTNAME",
        }),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.compute.LinuxVirtualMachineScaleSet;
import com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;
import com.pulumi.azure.compute.VirtualMachineScaleSetExtension;
import com.pulumi.azure.compute.VirtualMachineScaleSetExtensionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example")
            .location("West Europe")
            .build());
        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", LinuxVirtualMachineScaleSetArgs.builder()
            .name("example")
            .resourceGroupName(example.name())
            .location(example.location())
            .sku("Standard_F2")
            .adminUsername("adminuser")
            .instances(1)
            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("0001-com-ubuntu-server-jammy")
                .sku("22_04-lts")
                .version("latest")
                .build())
            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
                .name("example")
                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
                    .name("internal")
                    .build())
                .build())
            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
                .storageAccountType("Standard_LRS")
                .caching("ReadWrite")
                .build())
            .build());
        var exampleVirtualMachineScaleSetExtension = new VirtualMachineScaleSetExtension("exampleVirtualMachineScaleSetExtension", VirtualMachineScaleSetExtensionArgs.builder()
            .name("example")
            .virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())
            .publisher("Microsoft.Azure.Extensions")
            .type("CustomScript")
            .typeHandlerVersion("2.0")
            .settings(serializeJson(
                jsonObject(
                    jsonProperty("commandToExecute", "echo $HOSTNAME")
                )))
            .build());
    }
}
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example
      location: West Europe
  exampleLinuxVirtualMachineScaleSet:
    type: azure:compute:LinuxVirtualMachineScaleSet
    name: example
    properties:
      name: example
      resourceGroupName: ${example.name}
      location: ${example.location}
      sku: Standard_F2
      adminUsername: adminuser
      instances: 1
      sourceImageReference:
        publisher: Canonical
        offer: 0001-com-ubuntu-server-jammy
        sku: 22_04-lts
        version: latest
      networkInterfaces:
        - name: example
          ipConfigurations:
            - name: internal
      osDisk:
        storageAccountType: Standard_LRS
        caching: ReadWrite
  exampleVirtualMachineScaleSetExtension:
    type: azure:compute:VirtualMachineScaleSetExtension
    name: example
    properties:
      name: example
      virtualMachineScaleSetId: ${exampleLinuxVirtualMachineScaleSet.id}
      publisher: Microsoft.Azure.Extensions
      type: CustomScript
      typeHandlerVersion: '2.0'
      settings:
        fn::toJSON:
          commandToExecute: echo $HOSTNAME
Create VirtualMachineScaleSetExtension Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new VirtualMachineScaleSetExtension(name: string, args: VirtualMachineScaleSetExtensionArgs, opts?: CustomResourceOptions);@overload
def VirtualMachineScaleSetExtension(resource_name: str,
                                    args: VirtualMachineScaleSetExtensionArgs,
                                    opts: Optional[ResourceOptions] = None)
@overload
def VirtualMachineScaleSetExtension(resource_name: str,
                                    opts: Optional[ResourceOptions] = None,
                                    publisher: Optional[str] = None,
                                    virtual_machine_scale_set_id: Optional[str] = None,
                                    type_handler_version: Optional[str] = None,
                                    type: Optional[str] = None,
                                    protected_settings_from_key_vault: Optional[VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs] = None,
                                    protected_settings: Optional[str] = None,
                                    auto_upgrade_minor_version: Optional[bool] = None,
                                    provision_after_extensions: Optional[Sequence[str]] = None,
                                    name: Optional[str] = None,
                                    settings: Optional[str] = None,
                                    force_update_tag: Optional[str] = None,
                                    failure_suppression_enabled: Optional[bool] = None,
                                    automatic_upgrade_enabled: Optional[bool] = None)func NewVirtualMachineScaleSetExtension(ctx *Context, name string, args VirtualMachineScaleSetExtensionArgs, opts ...ResourceOption) (*VirtualMachineScaleSetExtension, error)public VirtualMachineScaleSetExtension(string name, VirtualMachineScaleSetExtensionArgs args, CustomResourceOptions? opts = null)
public VirtualMachineScaleSetExtension(String name, VirtualMachineScaleSetExtensionArgs args)
public VirtualMachineScaleSetExtension(String name, VirtualMachineScaleSetExtensionArgs args, CustomResourceOptions options)
type: azure:compute:VirtualMachineScaleSetExtension
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args VirtualMachineScaleSetExtensionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args VirtualMachineScaleSetExtensionArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args VirtualMachineScaleSetExtensionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args VirtualMachineScaleSetExtensionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args VirtualMachineScaleSetExtensionArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var virtualMachineScaleSetExtensionResource = new Azure.Compute.VirtualMachineScaleSetExtension("virtualMachineScaleSetExtensionResource", new()
{
    Publisher = "string",
    VirtualMachineScaleSetId = "string",
    TypeHandlerVersion = "string",
    Type = "string",
    ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
    {
        SecretUrl = "string",
        SourceVaultId = "string",
    },
    ProtectedSettings = "string",
    AutoUpgradeMinorVersion = false,
    ProvisionAfterExtensions = new[]
    {
        "string",
    },
    Name = "string",
    Settings = "string",
    ForceUpdateTag = "string",
    FailureSuppressionEnabled = false,
    AutomaticUpgradeEnabled = false,
});
example, err := compute.NewVirtualMachineScaleSetExtension(ctx, "virtualMachineScaleSetExtensionResource", &compute.VirtualMachineScaleSetExtensionArgs{
	Publisher:                pulumi.String("string"),
	VirtualMachineScaleSetId: pulumi.String("string"),
	TypeHandlerVersion:       pulumi.String("string"),
	Type:                     pulumi.String("string"),
	ProtectedSettingsFromKeyVault: &compute.VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
		SecretUrl:     pulumi.String("string"),
		SourceVaultId: pulumi.String("string"),
	},
	ProtectedSettings:       pulumi.String("string"),
	AutoUpgradeMinorVersion: pulumi.Bool(false),
	ProvisionAfterExtensions: pulumi.StringArray{
		pulumi.String("string"),
	},
	Name:                      pulumi.String("string"),
	Settings:                  pulumi.String("string"),
	ForceUpdateTag:            pulumi.String("string"),
	FailureSuppressionEnabled: pulumi.Bool(false),
	AutomaticUpgradeEnabled:   pulumi.Bool(false),
})
var virtualMachineScaleSetExtensionResource = new VirtualMachineScaleSetExtension("virtualMachineScaleSetExtensionResource", VirtualMachineScaleSetExtensionArgs.builder()
    .publisher("string")
    .virtualMachineScaleSetId("string")
    .typeHandlerVersion("string")
    .type("string")
    .protectedSettingsFromKeyVault(VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
        .secretUrl("string")
        .sourceVaultId("string")
        .build())
    .protectedSettings("string")
    .autoUpgradeMinorVersion(false)
    .provisionAfterExtensions("string")
    .name("string")
    .settings("string")
    .forceUpdateTag("string")
    .failureSuppressionEnabled(false)
    .automaticUpgradeEnabled(false)
    .build());
virtual_machine_scale_set_extension_resource = azure.compute.VirtualMachineScaleSetExtension("virtualMachineScaleSetExtensionResource",
    publisher="string",
    virtual_machine_scale_set_id="string",
    type_handler_version="string",
    type="string",
    protected_settings_from_key_vault={
        "secret_url": "string",
        "source_vault_id": "string",
    },
    protected_settings="string",
    auto_upgrade_minor_version=False,
    provision_after_extensions=["string"],
    name="string",
    settings="string",
    force_update_tag="string",
    failure_suppression_enabled=False,
    automatic_upgrade_enabled=False)
const virtualMachineScaleSetExtensionResource = new azure.compute.VirtualMachineScaleSetExtension("virtualMachineScaleSetExtensionResource", {
    publisher: "string",
    virtualMachineScaleSetId: "string",
    typeHandlerVersion: "string",
    type: "string",
    protectedSettingsFromKeyVault: {
        secretUrl: "string",
        sourceVaultId: "string",
    },
    protectedSettings: "string",
    autoUpgradeMinorVersion: false,
    provisionAfterExtensions: ["string"],
    name: "string",
    settings: "string",
    forceUpdateTag: "string",
    failureSuppressionEnabled: false,
    automaticUpgradeEnabled: false,
});
type: azure:compute:VirtualMachineScaleSetExtension
properties:
    autoUpgradeMinorVersion: false
    automaticUpgradeEnabled: false
    failureSuppressionEnabled: false
    forceUpdateTag: string
    name: string
    protectedSettings: string
    protectedSettingsFromKeyVault:
        secretUrl: string
        sourceVaultId: string
    provisionAfterExtensions:
        - string
    publisher: string
    settings: string
    type: string
    typeHandlerVersion: string
    virtualMachineScaleSetId: string
VirtualMachineScaleSetExtension Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The VirtualMachineScaleSetExtension resource accepts the following input properties:
- Publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- Type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- VirtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- AutoUpgrade boolMinor Version 
- 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.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- FailureSuppression boolEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- ForceUpdate stringTag 
- 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.
- Name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter List<string>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- Settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- Publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- Type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- VirtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- AutoUpgrade boolMinor Version 
- 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.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- FailureSuppression boolEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- ForceUpdate stringTag 
- 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.
- Name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault Args 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter []stringExtensions 
- An ordered list of Extension names which this should be provisioned after.
- Settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- publisher String
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- type String
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine StringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade BooleanMinor Version 
- 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.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression BooleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate StringTag 
- 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.
- name String
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings String
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade booleanMinor Version 
- 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.
- automaticUpgrade booleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression booleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate stringTag 
- 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.
- name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter string[]Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- publisher str
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- type str
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- type_handler_ strversion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtual_machine_ strscale_ set_ id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- auto_upgrade_ boolminor_ version 
- 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.
- automatic_upgrade_ boolenabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failure_suppression_ boolenabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- force_update_ strtag 
- 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.
- name str
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protected_settings str
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protected_settings_ Virtualfrom_ key_ vault Machine Scale Set Extension Protected Settings From Key Vault Args 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provision_after_ Sequence[str]extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings str
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- publisher String
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- type String
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine StringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade BooleanMinor Version 
- 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.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression BooleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate StringTag 
- 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.
- name String
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings Property MapFrom Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings String
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
Outputs
All input properties are implicitly available as output properties. Additionally, the VirtualMachineScaleSetExtension resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing VirtualMachineScaleSetExtension Resource
Get an existing VirtualMachineScaleSetExtension resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: VirtualMachineScaleSetExtensionState, opts?: CustomResourceOptions): VirtualMachineScaleSetExtension@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        auto_upgrade_minor_version: Optional[bool] = None,
        automatic_upgrade_enabled: Optional[bool] = None,
        failure_suppression_enabled: Optional[bool] = None,
        force_update_tag: Optional[str] = None,
        name: Optional[str] = None,
        protected_settings: Optional[str] = None,
        protected_settings_from_key_vault: Optional[VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs] = None,
        provision_after_extensions: Optional[Sequence[str]] = None,
        publisher: Optional[str] = None,
        settings: Optional[str] = None,
        type: Optional[str] = None,
        type_handler_version: Optional[str] = None,
        virtual_machine_scale_set_id: Optional[str] = None) -> VirtualMachineScaleSetExtensionfunc GetVirtualMachineScaleSetExtension(ctx *Context, name string, id IDInput, state *VirtualMachineScaleSetExtensionState, opts ...ResourceOption) (*VirtualMachineScaleSetExtension, error)public static VirtualMachineScaleSetExtension Get(string name, Input<string> id, VirtualMachineScaleSetExtensionState? state, CustomResourceOptions? opts = null)public static VirtualMachineScaleSetExtension get(String name, Output<String> id, VirtualMachineScaleSetExtensionState state, CustomResourceOptions options)resources:  _:    type: azure:compute:VirtualMachineScaleSetExtension    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- AutoUpgrade boolMinor Version 
- 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.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- FailureSuppression boolEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- ForceUpdate stringTag 
- 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.
- Name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter List<string>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- Publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- Settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- Type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- VirtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- AutoUpgrade boolMinor Version 
- 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.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- FailureSuppression boolEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- ForceUpdate stringTag 
- 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.
- Name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault Args 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter []stringExtensions 
- An ordered list of Extension names which this should be provisioned after.
- Publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- Settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- Type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- VirtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade BooleanMinor Version 
- 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.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression BooleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate StringTag 
- 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.
- name String
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- publisher String
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- settings String
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- type String
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine StringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade booleanMinor Version 
- 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.
- automaticUpgrade booleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression booleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate stringTag 
- 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.
- name string
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings VirtualFrom Key Vault Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter string[]Extensions 
- An ordered list of Extension names which this should be provisioned after.
- publisher string
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- settings string
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- type string
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine stringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- auto_upgrade_ boolminor_ version 
- 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.
- automatic_upgrade_ boolenabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failure_suppression_ boolenabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- force_update_ strtag 
- 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.
- name str
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protected_settings str
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protected_settings_ Virtualfrom_ key_ vault Machine Scale Set Extension Protected Settings From Key Vault Args 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provision_after_ Sequence[str]extensions 
- An ordered list of Extension names which this should be provisioned after.
- publisher str
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- settings str
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- type str
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- type_handler_ strversion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtual_machine_ strscale_ set_ id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
- autoUpgrade BooleanMinor Version 
- 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.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- failureSuppression BooleanEnabled 
- Should failures from the extension be suppressed? Possible values are - trueor- false. Defaults to- false.- NOTE: Operational failures such as not connecting to the VM will not be suppressed regardless of the - failure_suppression_enabledvalue.
- forceUpdate StringTag 
- 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.
- name String
- The name for the Virtual Machine Scale Set Extension. Changing this forces a new resource to be created.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - NOTE: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings Property MapFrom Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- publisher String
- Specifies the Publisher of the Extension. Changing this forces a new resource to be created.
- settings String
- A JSON String which specifies Settings for the Extension. - NOTE: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- type String
- Specifies the Type of the Extension. Changing this forces a new resource to be created.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI. - Note: The - Publisherand- Typeof Virtual Machine Scale Set Extensions can be found using the Azure CLI, via:- az vmss extension image list --location westus -o table
- virtualMachine StringScale Set Id 
- The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created. - NOTE: This should be the ID from the - azure.compute.LinuxVirtualMachineScaleSetor- azure.compute.WindowsVirtualMachineScaleSetresource - when using the older- azure.compute.ScaleSetresource extensions should instead be defined inline.
Supporting Types
VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault, VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs                    
- SecretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- SourceVault stringId 
- The ID of the source Key Vault.
- SecretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- SourceVault stringId 
- The ID of the source Key Vault.
- secretUrl String
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault StringId 
- The ID of the source Key Vault.
- secretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault stringId 
- The ID of the source Key Vault.
- secret_url str
- The URL to the Key Vault Secret which stores the protected settings.
- source_vault_ strid 
- The ID of the source Key Vault.
- secretUrl String
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault StringId 
- The ID of the source Key Vault.
Import
Virtual Machine Scale Set Extensions can be imported using the resource id, e.g.
$ pulumi import azure:compute/virtualMachineScaleSetExtension:VirtualMachineScaleSetExtension test /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleSet1/extensions/extension1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.