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.ScaleSet resource - instead it’s intended for this to be used with the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources.

Example Usage

using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
    {
        Location = "West Europe",
    });

    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", new()
    {
        ResourceGroupName = exampleResourceGroup.Name,
        Location = exampleResourceGroup.Location,
        Sku = "Standard_F2",
        AdminUsername = "adminuser",
        Instances = 1,
        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("exampleVirtualMachineScaleSetExtension", new()
    {
        VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,
        Publisher = "Microsoft.Azure.Extensions",
        Type = "CustomScript",
        TypeHandlerVersion = "2.0",
        Settings = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["commandToExecute"] = "echo $HOSTNAME",
        }),
    });

});
package main

import (
	"encoding/json"

	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "exampleLinuxVirtualMachineScaleSet", &compute.LinuxVirtualMachineScaleSetArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			Sku:               pulumi.String("Standard_F2"),
			AdminUsername:     pulumi.String("adminuser"),
			Instances:         pulumi.Int(1),
			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, "exampleVirtualMachineScaleSetExtension", &compute.VirtualMachineScaleSetExtensionArgs{
			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
	})
}
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.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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", LinuxVirtualMachineScaleSetArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .location(exampleResourceGroup.location())
            .sku("Standard_F2")
            .adminUsername("adminuser")
            .instances(1)
            .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()        
            .virtualMachineScaleSetId(exampleLinuxVirtualMachineScaleSet.id())
            .publisher("Microsoft.Azure.Extensions")
            .type("CustomScript")
            .typeHandlerVersion("2.0")
            .settings(serializeJson(
                jsonObject(
                    jsonProperty("commandToExecute", "echo $HOSTNAME")
                )))
            .build());

    }
}
import pulumi
import json
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    sku="Standard_F2",
    admin_username="adminuser",
    instances=1,
    network_interfaces=[azure.compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs(
        name="example",
        ip_configurations=[azure.compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs(
            name="internal",
        )],
    )],
    os_disk=azure.compute.LinuxVirtualMachineScaleSetOsDiskArgs(
        storage_account_type="Standard_LRS",
        caching="ReadWrite",
    ))
example_virtual_machine_scale_set_extension = azure.compute.VirtualMachineScaleSetExtension("exampleVirtualMachineScaleSetExtension",
    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",
    }))
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    sku: "Standard_F2",
    adminUsername: "adminuser",
    instances: 1,
    networkInterfaces: [{
        name: "example",
        ipConfigurations: [{
            name: "internal",
        }],
    }],
    osDisk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
});
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",
    }),
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleLinuxVirtualMachineScaleSet:
    type: azure:compute:LinuxVirtualMachineScaleSet
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      location: ${exampleResourceGroup.location}
      sku: Standard_F2
      adminUsername: adminuser
      instances: 1
      networkInterfaces:
        - name: example
          ipConfigurations:
            - name: internal
      osDisk:
        storageAccountType: Standard_LRS
        caching: ReadWrite
  exampleVirtualMachineScaleSetExtension:
    type: azure:compute:VirtualMachineScaleSetExtension
    properties:
      virtualMachineScaleSetId: ${exampleLinuxVirtualMachineScaleSet.id}
      publisher: Microsoft.Azure.Extensions
      type: CustomScript
      typeHandlerVersion: '2.0'
      settings:
        fn::toJSON:
          commandToExecute: echo $HOSTNAME

Create VirtualMachineScaleSetExtension Resource

new VirtualMachineScaleSetExtension(name: string, args: VirtualMachineScaleSetExtensionArgs, opts?: CustomResourceOptions);
@overload
def VirtualMachineScaleSetExtension(resource_name: 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)
@overload
def VirtualMachineScaleSetExtension(resource_name: str,
                                    args: VirtualMachineScaleSetExtensionArgs,
                                    opts: Optional[ResourceOptions] = 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.

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.

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

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.

TypeHandlerVersion string

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

VirtualMachineScaleSetId string

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

AutoUpgradeMinorVersion bool

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.

AutomaticUpgradeEnabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

FailureSuppressionEnabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

ForceUpdateTag 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.

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.

ProtectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

ProvisionAfterExtensions List<string>

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

Settings string

A JSON String which specifies Settings for the Extension.

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.

TypeHandlerVersion string

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

VirtualMachineScaleSetId string

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

AutoUpgradeMinorVersion bool

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.

AutomaticUpgradeEnabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

FailureSuppressionEnabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

ForceUpdateTag 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.

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.

ProtectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

ProvisionAfterExtensions []string

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

Settings string

A JSON String which specifies Settings for the Extension.

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.

typeHandlerVersion String

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

virtualMachineScaleSetId String

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled Boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled Boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions List<String>

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

settings String

A JSON String which specifies Settings for the Extension.

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.

typeHandlerVersion string

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

virtualMachineScaleSetId string

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions string[]

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

settings string

A JSON String which specifies Settings for the Extension.

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_version str

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

virtual_machine_scale_set_id str

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

auto_upgrade_minor_version bool

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_enabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failure_suppression_enabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

force_update_tag str

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.

protected_settings_from_key_vault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provision_after_extensions Sequence[str]

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

settings str

A JSON String which specifies Settings for the Extension.

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.

typeHandlerVersion String

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

virtualMachineScaleSetId String

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled Boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled Boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault Property Map

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions List<String>

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

settings String

A JSON String which specifies Settings for the Extension.

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) -> VirtualMachineScaleSetExtension
func 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)
Resource lookup is not supported in YAML
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.
The following state arguments are supported:
AutoUpgradeMinorVersion bool

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.

AutomaticUpgradeEnabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

FailureSuppressionEnabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

ForceUpdateTag 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.

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.

ProtectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

ProvisionAfterExtensions List<string>

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.

Type string

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

TypeHandlerVersion string

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

VirtualMachineScaleSetId string

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

AutoUpgradeMinorVersion bool

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.

AutomaticUpgradeEnabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

FailureSuppressionEnabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

ForceUpdateTag 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.

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.

ProtectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

ProvisionAfterExtensions []string

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.

Type string

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

TypeHandlerVersion string

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

VirtualMachineScaleSetId string

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled Boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled Boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions List<String>

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.

type String

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

typeHandlerVersion String

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

virtualMachineScaleSetId String

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions string[]

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.

type string

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

typeHandlerVersion string

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

virtualMachineScaleSetId string

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

auto_upgrade_minor_version bool

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_enabled bool

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failure_suppression_enabled bool

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

force_update_tag str

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.

protected_settings_from_key_vault VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

A protected_settings_from_key_vault block as defined below.

provision_after_extensions Sequence[str]

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.

type str

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

type_handler_version str

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

virtual_machine_scale_set_id str

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

autoUpgradeMinorVersion 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.

automaticUpgradeEnabled Boolean

Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?

failureSuppressionEnabled Boolean

Should failures from the extension be suppressed? Possible values are true or false. Defaults to false.

forceUpdateTag 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.

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.

protectedSettingsFromKeyVault Property Map

A protected_settings_from_key_vault block as defined below.

provisionAfterExtensions List<String>

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.

type String

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

typeHandlerVersion String

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

virtualMachineScaleSetId String

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

Supporting Types

VirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

SecretUrl string

The URL to the Key Vault Secret which stores the protected settings.

SourceVaultId string

The ID of the source Key Vault.

SecretUrl string

The URL to the Key Vault Secret which stores the protected settings.

SourceVaultId string

The ID of the source Key Vault.

secretUrl String

The URL to the Key Vault Secret which stores the protected settings.

sourceVaultId String

The ID of the source Key Vault.

secretUrl string

The URL to the Key Vault Secret which stores the protected settings.

sourceVaultId string

The ID of the source Key Vault.

secret_url str

The URL to the Key Vault Secret which stores the protected settings.

source_vault_id str

The ID of the source Key Vault.

secretUrl String

The URL to the Key Vault Secret which stores the protected settings.

sourceVaultId String

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

Package Details

Repository
Azure Classic pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.