1. Packages
  2. Azure Classic
  3. API Docs
  4. compute
  5. OrchestratedVirtualMachineScaleSet

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

azure.compute.OrchestratedVirtualMachineScaleSet

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

    Manages an Virtual Machine Scale Set in Flexible Orchestration Mode.

    Disclaimers

    Note: As of the v2.86.0 (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the Flexible Orchestration Mode.

    Note: All arguments including the administrator login and password will be stored in the raw state as plain-text. Read more about sensitive data in state.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleOrchestratedVirtualMachineScaleSet = new azure.compute.OrchestratedVirtualMachineScaleSet("example", {
        name: "example-VMSS",
        location: example.location,
        resourceGroupName: example.name,
        platformFaultDomainCount: 1,
        zones: ["1"],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_orchestrated_virtual_machine_scale_set = azure.compute.OrchestratedVirtualMachineScaleSet("example",
        name="example-VMSS",
        location=example.location,
        resource_group_name=example.name,
        platform_fault_domain_count=1,
        zones=["1"])
    
    package main
    
    import (
    	"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-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewOrchestratedVirtualMachineScaleSet(ctx, "example", &compute.OrchestratedVirtualMachineScaleSetArgs{
    			Name:                     pulumi.String("example-VMSS"),
    			Location:                 example.Location,
    			ResourceGroupName:        example.Name,
    			PlatformFaultDomainCount: pulumi.Int(1),
    			Zones: pulumi.StringArray{
    				pulumi.String("1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleOrchestratedVirtualMachineScaleSet = new Azure.Compute.OrchestratedVirtualMachineScaleSet("example", new()
        {
            Name = "example-VMSS",
            Location = example.Location,
            ResourceGroupName = example.Name,
            PlatformFaultDomainCount = 1,
            Zones = new[]
            {
                "1",
            },
        });
    
    });
    
    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.OrchestratedVirtualMachineScaleSet;
    import com.pulumi.azure.compute.OrchestratedVirtualMachineScaleSetArgs;
    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-resources")
                .location("West Europe")
                .build());
    
            var exampleOrchestratedVirtualMachineScaleSet = new OrchestratedVirtualMachineScaleSet("exampleOrchestratedVirtualMachineScaleSet", OrchestratedVirtualMachineScaleSetArgs.builder()
                .name("example-VMSS")
                .location(example.location())
                .resourceGroupName(example.name())
                .platformFaultDomainCount(1)
                .zones("1")
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleOrchestratedVirtualMachineScaleSet:
        type: azure:compute:OrchestratedVirtualMachineScaleSet
        name: example
        properties:
          name: example-VMSS
          location: ${example.location}
          resourceGroupName: ${example.name}
          platformFaultDomainCount: 1
          zones:
            - '1'
    

    Create OrchestratedVirtualMachineScaleSet Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new OrchestratedVirtualMachineScaleSet(name: string, args: OrchestratedVirtualMachineScaleSetArgs, opts?: CustomResourceOptions);
    @overload
    def OrchestratedVirtualMachineScaleSet(resource_name: str,
                                           args: OrchestratedVirtualMachineScaleSetArgs,
                                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def OrchestratedVirtualMachineScaleSet(resource_name: str,
                                           opts: Optional[ResourceOptions] = None,
                                           platform_fault_domain_count: Optional[int] = None,
                                           resource_group_name: Optional[str] = None,
                                           extensions: Optional[Sequence[OrchestratedVirtualMachineScaleSetExtensionArgs]] = None,
                                           extensions_time_budget: Optional[str] = None,
                                           data_disks: Optional[Sequence[OrchestratedVirtualMachineScaleSetDataDiskArgs]] = None,
                                           os_profile: Optional[OrchestratedVirtualMachineScaleSetOsProfileArgs] = None,
                                           eviction_policy: Optional[str] = None,
                                           extension_operations_enabled: Optional[bool] = None,
                                           additional_capabilities: Optional[OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
                                           plan: Optional[OrchestratedVirtualMachineScaleSetPlanArgs] = None,
                                           identity: Optional[OrchestratedVirtualMachineScaleSetIdentityArgs] = None,
                                           instances: Optional[int] = None,
                                           license_type: Optional[str] = None,
                                           location: Optional[str] = None,
                                           max_bid_price: Optional[float] = None,
                                           boot_diagnostics: Optional[OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs] = None,
                                           network_interfaces: Optional[Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
                                           os_disk: Optional[OrchestratedVirtualMachineScaleSetOsDiskArgs] = None,
                                           encryption_at_host_enabled: Optional[bool] = None,
                                           capacity_reservation_group_id: Optional[str] = None,
                                           name: Optional[str] = None,
                                           priority: Optional[str] = None,
                                           priority_mix: Optional[OrchestratedVirtualMachineScaleSetPriorityMixArgs] = None,
                                           proximity_placement_group_id: Optional[str] = None,
                                           automatic_instance_repair: Optional[OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
                                           single_placement_group: Optional[bool] = None,
                                           sku_name: Optional[str] = None,
                                           sku_profile: Optional[OrchestratedVirtualMachineScaleSetSkuProfileArgs] = None,
                                           source_image_id: Optional[str] = None,
                                           source_image_reference: Optional[OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs] = None,
                                           tags: Optional[Mapping[str, str]] = None,
                                           termination_notification: Optional[OrchestratedVirtualMachineScaleSetTerminationNotificationArgs] = None,
                                           user_data_base64: Optional[str] = None,
                                           zone_balance: Optional[bool] = None,
                                           zones: Optional[Sequence[str]] = None)
    func NewOrchestratedVirtualMachineScaleSet(ctx *Context, name string, args OrchestratedVirtualMachineScaleSetArgs, opts ...ResourceOption) (*OrchestratedVirtualMachineScaleSet, error)
    public OrchestratedVirtualMachineScaleSet(string name, OrchestratedVirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
    public OrchestratedVirtualMachineScaleSet(String name, OrchestratedVirtualMachineScaleSetArgs args)
    public OrchestratedVirtualMachineScaleSet(String name, OrchestratedVirtualMachineScaleSetArgs args, CustomResourceOptions options)
    
    type: azure:compute:OrchestratedVirtualMachineScaleSet
    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 OrchestratedVirtualMachineScaleSetArgs
    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 OrchestratedVirtualMachineScaleSetArgs
    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 OrchestratedVirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OrchestratedVirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OrchestratedVirtualMachineScaleSetArgs
    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 orchestratedVirtualMachineScaleSetResource = new Azure.Compute.OrchestratedVirtualMachineScaleSet("orchestratedVirtualMachineScaleSetResource", new()
    {
        PlatformFaultDomainCount = 0,
        ResourceGroupName = "string",
        Extensions = new[]
        {
            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetExtensionArgs
            {
                Name = "string",
                Publisher = "string",
                Type = "string",
                TypeHandlerVersion = "string",
                AutoUpgradeMinorVersionEnabled = false,
                ExtensionsToProvisionAfterVmCreations = new[]
                {
                    "string",
                },
                FailureSuppressionEnabled = false,
                ForceExtensionExecutionOnChange = "string",
                ProtectedSettings = "string",
                ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
                {
                    SecretUrl = "string",
                    SourceVaultId = "string",
                },
                Settings = "string",
            },
        },
        ExtensionsTimeBudget = "string",
        DataDisks = new[]
        {
            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetDataDiskArgs
            {
                Caching = "string",
                StorageAccountType = "string",
                CreateOption = "string",
                DiskEncryptionSetId = "string",
                DiskSizeGb = 0,
                Lun = 0,
                UltraSsdDiskIopsReadWrite = 0,
                UltraSsdDiskMbpsReadWrite = 0,
                WriteAcceleratorEnabled = false,
            },
        },
        OsProfile = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileArgs
        {
            CustomData = "string",
            LinuxConfiguration = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationArgs
            {
                AdminUsername = "string",
                AdminPassword = "string",
                AdminSshKeys = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKeyArgs
                    {
                        PublicKey = "string",
                        Username = "string",
                    },
                },
                ComputerNamePrefix = "string",
                DisablePasswordAuthentication = false,
                PatchAssessmentMode = "string",
                PatchMode = "string",
                ProvisionVmAgent = false,
                Secrets = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretArgs
                    {
                        Certificates = new[]
                        {
                            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificateArgs
                            {
                                Url = "string",
                            },
                        },
                        KeyVaultId = "string",
                    },
                },
            },
            WindowsConfiguration = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs
            {
                AdminPassword = "string",
                AdminUsername = "string",
                AdditionalUnattendContents = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgs
                    {
                        Content = "string",
                        Setting = "string",
                    },
                },
                ComputerNamePrefix = "string",
                EnableAutomaticUpdates = false,
                HotpatchingEnabled = false,
                PatchAssessmentMode = "string",
                PatchMode = "string",
                ProvisionVmAgent = false,
                Secrets = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgs
                    {
                        Certificates = new[]
                        {
                            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificateArgs
                            {
                                Store = "string",
                                Url = "string",
                            },
                        },
                        KeyVaultId = "string",
                    },
                },
                Timezone = "string",
                WinrmListeners = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgs
                    {
                        Protocol = "string",
                        CertificateUrl = "string",
                    },
                },
            },
        },
        EvictionPolicy = "string",
        ExtensionOperationsEnabled = false,
        AdditionalCapabilities = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs
        {
            UltraSsdEnabled = false,
        },
        Plan = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetPlanArgs
        {
            Name = "string",
            Product = "string",
            Publisher = "string",
        },
        Identity = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetIdentityArgs
        {
            IdentityIds = new[]
            {
                "string",
            },
            Type = "string",
        },
        Instances = 0,
        LicenseType = "string",
        Location = "string",
        MaxBidPrice = 0,
        BootDiagnostics = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs
        {
            StorageAccountUri = "string",
        },
        NetworkInterfaces = new[]
        {
            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs
            {
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                    {
                        Name = "string",
                        ApplicationGatewayBackendAddressPoolIds = new[]
                        {
                            "string",
                        },
                        ApplicationSecurityGroupIds = new[]
                        {
                            "string",
                        },
                        LoadBalancerBackendAddressPoolIds = new[]
                        {
                            "string",
                        },
                        Primary = false,
                        PublicIpAddresses = new[]
                        {
                            new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
                            {
                                Name = "string",
                                DomainNameLabel = "string",
                                IdleTimeoutInMinutes = 0,
                                IpTags = new[]
                                {
                                    new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
                                    {
                                        Tag = "string",
                                        Type = "string",
                                    },
                                },
                                PublicIpPrefixId = "string",
                                SkuName = "string",
                                Version = "string",
                            },
                        },
                        SubnetId = "string",
                        Version = "string",
                    },
                },
                Name = "string",
                DnsServers = new[]
                {
                    "string",
                },
                EnableAcceleratedNetworking = false,
                EnableIpForwarding = false,
                NetworkSecurityGroupId = "string",
                Primary = false,
            },
        },
        OsDisk = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsDiskArgs
        {
            Caching = "string",
            StorageAccountType = "string",
            DiffDiskSettings = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
            {
                Option = "string",
                Placement = "string",
            },
            DiskEncryptionSetId = "string",
            DiskSizeGb = 0,
            WriteAcceleratorEnabled = false,
        },
        EncryptionAtHostEnabled = false,
        CapacityReservationGroupId = "string",
        Name = "string",
        Priority = "string",
        PriorityMix = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetPriorityMixArgs
        {
            BaseRegularCount = 0,
            RegularPercentageAboveBase = 0,
        },
        ProximityPlacementGroupId = "string",
        AutomaticInstanceRepair = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs
        {
            Enabled = false,
            Action = "string",
            GracePeriod = "string",
        },
        SinglePlacementGroup = false,
        SkuName = "string",
        SkuProfile = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetSkuProfileArgs
        {
            AllocationStrategy = "string",
            VmSizes = new[]
            {
                "string",
            },
        },
        SourceImageId = "string",
        SourceImageReference = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
        TerminationNotification = new Azure.Compute.Inputs.OrchestratedVirtualMachineScaleSetTerminationNotificationArgs
        {
            Enabled = false,
            Timeout = "string",
        },
        UserDataBase64 = "string",
        ZoneBalance = false,
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := compute.NewOrchestratedVirtualMachineScaleSet(ctx, "orchestratedVirtualMachineScaleSetResource", &compute.OrchestratedVirtualMachineScaleSetArgs{
    	PlatformFaultDomainCount: pulumi.Int(0),
    	ResourceGroupName:        pulumi.String("string"),
    	Extensions: compute.OrchestratedVirtualMachineScaleSetExtensionArray{
    		&compute.OrchestratedVirtualMachineScaleSetExtensionArgs{
    			Name:                           pulumi.String("string"),
    			Publisher:                      pulumi.String("string"),
    			Type:                           pulumi.String("string"),
    			TypeHandlerVersion:             pulumi.String("string"),
    			AutoUpgradeMinorVersionEnabled: pulumi.Bool(false),
    			ExtensionsToProvisionAfterVmCreations: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FailureSuppressionEnabled:       pulumi.Bool(false),
    			ForceExtensionExecutionOnChange: pulumi.String("string"),
    			ProtectedSettings:               pulumi.String("string"),
    			ProtectedSettingsFromKeyVault: &compute.OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
    				SecretUrl:     pulumi.String("string"),
    				SourceVaultId: pulumi.String("string"),
    			},
    			Settings: pulumi.String("string"),
    		},
    	},
    	ExtensionsTimeBudget: pulumi.String("string"),
    	DataDisks: compute.OrchestratedVirtualMachineScaleSetDataDiskArray{
    		&compute.OrchestratedVirtualMachineScaleSetDataDiskArgs{
    			Caching:                   pulumi.String("string"),
    			StorageAccountType:        pulumi.String("string"),
    			CreateOption:              pulumi.String("string"),
    			DiskEncryptionSetId:       pulumi.String("string"),
    			DiskSizeGb:                pulumi.Int(0),
    			Lun:                       pulumi.Int(0),
    			UltraSsdDiskIopsReadWrite: pulumi.Int(0),
    			UltraSsdDiskMbpsReadWrite: pulumi.Int(0),
    			WriteAcceleratorEnabled:   pulumi.Bool(false),
    		},
    	},
    	OsProfile: &compute.OrchestratedVirtualMachineScaleSetOsProfileArgs{
    		CustomData: pulumi.String("string"),
    		LinuxConfiguration: &compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationArgs{
    			AdminUsername: pulumi.String("string"),
    			AdminPassword: pulumi.String("string"),
    			AdminSshKeys: compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKeyArray{
    				&compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKeyArgs{
    					PublicKey: pulumi.String("string"),
    					Username:  pulumi.String("string"),
    				},
    			},
    			ComputerNamePrefix:            pulumi.String("string"),
    			DisablePasswordAuthentication: pulumi.Bool(false),
    			PatchAssessmentMode:           pulumi.String("string"),
    			PatchMode:                     pulumi.String("string"),
    			ProvisionVmAgent:              pulumi.Bool(false),
    			Secrets: compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretArray{
    				&compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretArgs{
    					Certificates: compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificateArray{
    						&compute.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificateArgs{
    							Url: pulumi.String("string"),
    						},
    					},
    					KeyVaultId: pulumi.String("string"),
    				},
    			},
    		},
    		WindowsConfiguration: &compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs{
    			AdminPassword: pulumi.String("string"),
    			AdminUsername: pulumi.String("string"),
    			AdditionalUnattendContents: compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArray{
    				&compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgs{
    					Content: pulumi.String("string"),
    					Setting: pulumi.String("string"),
    				},
    			},
    			ComputerNamePrefix:     pulumi.String("string"),
    			EnableAutomaticUpdates: pulumi.Bool(false),
    			HotpatchingEnabled:     pulumi.Bool(false),
    			PatchAssessmentMode:    pulumi.String("string"),
    			PatchMode:              pulumi.String("string"),
    			ProvisionVmAgent:       pulumi.Bool(false),
    			Secrets: compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArray{
    				&compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgs{
    					Certificates: compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificateArray{
    						&compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificateArgs{
    							Store: pulumi.String("string"),
    							Url:   pulumi.String("string"),
    						},
    					},
    					KeyVaultId: pulumi.String("string"),
    				},
    			},
    			Timezone: pulumi.String("string"),
    			WinrmListeners: compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArray{
    				&compute.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgs{
    					Protocol:       pulumi.String("string"),
    					CertificateUrl: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	EvictionPolicy:             pulumi.String("string"),
    	ExtensionOperationsEnabled: pulumi.Bool(false),
    	AdditionalCapabilities: &compute.OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs{
    		UltraSsdEnabled: pulumi.Bool(false),
    	},
    	Plan: &compute.OrchestratedVirtualMachineScaleSetPlanArgs{
    		Name:      pulumi.String("string"),
    		Product:   pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    	},
    	Identity: &compute.OrchestratedVirtualMachineScaleSetIdentityArgs{
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Type: pulumi.String("string"),
    	},
    	Instances:   pulumi.Int(0),
    	LicenseType: pulumi.String("string"),
    	Location:    pulumi.String("string"),
    	MaxBidPrice: pulumi.Float64(0),
    	BootDiagnostics: &compute.OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs{
    		StorageAccountUri: pulumi.String("string"),
    	},
    	NetworkInterfaces: compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceArray{
    		&compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs{
    			IpConfigurations: compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
    				&compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
    					Name: pulumi.String("string"),
    					ApplicationGatewayBackendAddressPoolIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					ApplicationSecurityGroupIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					LoadBalancerBackendAddressPoolIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Primary: pulumi.Bool(false),
    					PublicIpAddresses: compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArray{
    						&compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs{
    							Name:                 pulumi.String("string"),
    							DomainNameLabel:      pulumi.String("string"),
    							IdleTimeoutInMinutes: pulumi.Int(0),
    							IpTags: compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArray{
    								&compute.OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs{
    									Tag:  pulumi.String("string"),
    									Type: pulumi.String("string"),
    								},
    							},
    							PublicIpPrefixId: pulumi.String("string"),
    							SkuName:          pulumi.String("string"),
    							Version:          pulumi.String("string"),
    						},
    					},
    					SubnetId: pulumi.String("string"),
    					Version:  pulumi.String("string"),
    				},
    			},
    			Name: pulumi.String("string"),
    			DnsServers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			EnableAcceleratedNetworking: pulumi.Bool(false),
    			EnableIpForwarding:          pulumi.Bool(false),
    			NetworkSecurityGroupId:      pulumi.String("string"),
    			Primary:                     pulumi.Bool(false),
    		},
    	},
    	OsDisk: &compute.OrchestratedVirtualMachineScaleSetOsDiskArgs{
    		Caching:            pulumi.String("string"),
    		StorageAccountType: pulumi.String("string"),
    		DiffDiskSettings: &compute.OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
    			Option:    pulumi.String("string"),
    			Placement: pulumi.String("string"),
    		},
    		DiskEncryptionSetId:     pulumi.String("string"),
    		DiskSizeGb:              pulumi.Int(0),
    		WriteAcceleratorEnabled: pulumi.Bool(false),
    	},
    	EncryptionAtHostEnabled:    pulumi.Bool(false),
    	CapacityReservationGroupId: pulumi.String("string"),
    	Name:                       pulumi.String("string"),
    	Priority:                   pulumi.String("string"),
    	PriorityMix: &compute.OrchestratedVirtualMachineScaleSetPriorityMixArgs{
    		BaseRegularCount:           pulumi.Int(0),
    		RegularPercentageAboveBase: pulumi.Int(0),
    	},
    	ProximityPlacementGroupId: pulumi.String("string"),
    	AutomaticInstanceRepair: &compute.OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs{
    		Enabled:     pulumi.Bool(false),
    		Action:      pulumi.String("string"),
    		GracePeriod: pulumi.String("string"),
    	},
    	SinglePlacementGroup: pulumi.Bool(false),
    	SkuName:              pulumi.String("string"),
    	SkuProfile: &compute.OrchestratedVirtualMachineScaleSetSkuProfileArgs{
    		AllocationStrategy: pulumi.String("string"),
    		VmSizes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	SourceImageId: pulumi.String("string"),
    	SourceImageReference: &compute.OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs{
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TerminationNotification: &compute.OrchestratedVirtualMachineScaleSetTerminationNotificationArgs{
    		Enabled: pulumi.Bool(false),
    		Timeout: pulumi.String("string"),
    	},
    	UserDataBase64: pulumi.String("string"),
    	ZoneBalance:    pulumi.Bool(false),
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var orchestratedVirtualMachineScaleSetResource = new OrchestratedVirtualMachineScaleSet("orchestratedVirtualMachineScaleSetResource", OrchestratedVirtualMachineScaleSetArgs.builder()
        .platformFaultDomainCount(0)
        .resourceGroupName("string")
        .extensions(OrchestratedVirtualMachineScaleSetExtensionArgs.builder()
            .name("string")
            .publisher("string")
            .type("string")
            .typeHandlerVersion("string")
            .autoUpgradeMinorVersionEnabled(false)
            .extensionsToProvisionAfterVmCreations("string")
            .failureSuppressionEnabled(false)
            .forceExtensionExecutionOnChange("string")
            .protectedSettings("string")
            .protectedSettingsFromKeyVault(OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
                .secretUrl("string")
                .sourceVaultId("string")
                .build())
            .settings("string")
            .build())
        .extensionsTimeBudget("string")
        .dataDisks(OrchestratedVirtualMachineScaleSetDataDiskArgs.builder()
            .caching("string")
            .storageAccountType("string")
            .createOption("string")
            .diskEncryptionSetId("string")
            .diskSizeGb(0)
            .lun(0)
            .ultraSsdDiskIopsReadWrite(0)
            .ultraSsdDiskMbpsReadWrite(0)
            .writeAcceleratorEnabled(false)
            .build())
        .osProfile(OrchestratedVirtualMachineScaleSetOsProfileArgs.builder()
            .customData("string")
            .linuxConfiguration(OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationArgs.builder()
                .adminUsername("string")
                .adminPassword("string")
                .adminSshKeys(OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKeyArgs.builder()
                    .publicKey("string")
                    .username("string")
                    .build())
                .computerNamePrefix("string")
                .disablePasswordAuthentication(false)
                .patchAssessmentMode("string")
                .patchMode("string")
                .provisionVmAgent(false)
                .secrets(OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretArgs.builder()
                    .certificates(OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificateArgs.builder()
                        .url("string")
                        .build())
                    .keyVaultId("string")
                    .build())
                .build())
            .windowsConfiguration(OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs.builder()
                .adminPassword("string")
                .adminUsername("string")
                .additionalUnattendContents(OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgs.builder()
                    .content("string")
                    .setting("string")
                    .build())
                .computerNamePrefix("string")
                .enableAutomaticUpdates(false)
                .hotpatchingEnabled(false)
                .patchAssessmentMode("string")
                .patchMode("string")
                .provisionVmAgent(false)
                .secrets(OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgs.builder()
                    .certificates(OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificateArgs.builder()
                        .store("string")
                        .url("string")
                        .build())
                    .keyVaultId("string")
                    .build())
                .timezone("string")
                .winrmListeners(OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgs.builder()
                    .protocol("string")
                    .certificateUrl("string")
                    .build())
                .build())
            .build())
        .evictionPolicy("string")
        .extensionOperationsEnabled(false)
        .additionalCapabilities(OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
            .ultraSsdEnabled(false)
            .build())
        .plan(OrchestratedVirtualMachineScaleSetPlanArgs.builder()
            .name("string")
            .product("string")
            .publisher("string")
            .build())
        .identity(OrchestratedVirtualMachineScaleSetIdentityArgs.builder()
            .identityIds("string")
            .type("string")
            .build())
        .instances(0)
        .licenseType("string")
        .location("string")
        .maxBidPrice(0)
        .bootDiagnostics(OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs.builder()
            .storageAccountUri("string")
            .build())
        .networkInterfaces(OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs.builder()
            .ipConfigurations(OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
                .name("string")
                .applicationGatewayBackendAddressPoolIds("string")
                .applicationSecurityGroupIds("string")
                .loadBalancerBackendAddressPoolIds("string")
                .primary(false)
                .publicIpAddresses(OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs.builder()
                    .name("string")
                    .domainNameLabel("string")
                    .idleTimeoutInMinutes(0)
                    .ipTags(OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs.builder()
                        .tag("string")
                        .type("string")
                        .build())
                    .publicIpPrefixId("string")
                    .skuName("string")
                    .version("string")
                    .build())
                .subnetId("string")
                .version("string")
                .build())
            .name("string")
            .dnsServers("string")
            .enableAcceleratedNetworking(false)
            .enableIpForwarding(false)
            .networkSecurityGroupId("string")
            .primary(false)
            .build())
        .osDisk(OrchestratedVirtualMachineScaleSetOsDiskArgs.builder()
            .caching("string")
            .storageAccountType("string")
            .diffDiskSettings(OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
                .option("string")
                .placement("string")
                .build())
            .diskEncryptionSetId("string")
            .diskSizeGb(0)
            .writeAcceleratorEnabled(false)
            .build())
        .encryptionAtHostEnabled(false)
        .capacityReservationGroupId("string")
        .name("string")
        .priority("string")
        .priorityMix(OrchestratedVirtualMachineScaleSetPriorityMixArgs.builder()
            .baseRegularCount(0)
            .regularPercentageAboveBase(0)
            .build())
        .proximityPlacementGroupId("string")
        .automaticInstanceRepair(OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
            .enabled(false)
            .action("string")
            .gracePeriod("string")
            .build())
        .singlePlacementGroup(false)
        .skuName("string")
        .skuProfile(OrchestratedVirtualMachineScaleSetSkuProfileArgs.builder()
            .allocationStrategy("string")
            .vmSizes("string")
            .build())
        .sourceImageId("string")
        .sourceImageReference(OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs.builder()
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .tags(Map.of("string", "string"))
        .terminationNotification(OrchestratedVirtualMachineScaleSetTerminationNotificationArgs.builder()
            .enabled(false)
            .timeout("string")
            .build())
        .userDataBase64("string")
        .zoneBalance(false)
        .zones("string")
        .build());
    
    orchestrated_virtual_machine_scale_set_resource = azure.compute.OrchestratedVirtualMachineScaleSet("orchestratedVirtualMachineScaleSetResource",
        platform_fault_domain_count=0,
        resource_group_name="string",
        extensions=[{
            "name": "string",
            "publisher": "string",
            "type": "string",
            "type_handler_version": "string",
            "auto_upgrade_minor_version_enabled": False,
            "extensions_to_provision_after_vm_creations": ["string"],
            "failure_suppression_enabled": False,
            "force_extension_execution_on_change": "string",
            "protected_settings": "string",
            "protected_settings_from_key_vault": {
                "secret_url": "string",
                "source_vault_id": "string",
            },
            "settings": "string",
        }],
        extensions_time_budget="string",
        data_disks=[{
            "caching": "string",
            "storage_account_type": "string",
            "create_option": "string",
            "disk_encryption_set_id": "string",
            "disk_size_gb": 0,
            "lun": 0,
            "ultra_ssd_disk_iops_read_write": 0,
            "ultra_ssd_disk_mbps_read_write": 0,
            "write_accelerator_enabled": False,
        }],
        os_profile={
            "custom_data": "string",
            "linux_configuration": {
                "admin_username": "string",
                "admin_password": "string",
                "admin_ssh_keys": [{
                    "public_key": "string",
                    "username": "string",
                }],
                "computer_name_prefix": "string",
                "disable_password_authentication": False,
                "patch_assessment_mode": "string",
                "patch_mode": "string",
                "provision_vm_agent": False,
                "secrets": [{
                    "certificates": [{
                        "url": "string",
                    }],
                    "key_vault_id": "string",
                }],
            },
            "windows_configuration": {
                "admin_password": "string",
                "admin_username": "string",
                "additional_unattend_contents": [{
                    "content": "string",
                    "setting": "string",
                }],
                "computer_name_prefix": "string",
                "enable_automatic_updates": False,
                "hotpatching_enabled": False,
                "patch_assessment_mode": "string",
                "patch_mode": "string",
                "provision_vm_agent": False,
                "secrets": [{
                    "certificates": [{
                        "store": "string",
                        "url": "string",
                    }],
                    "key_vault_id": "string",
                }],
                "timezone": "string",
                "winrm_listeners": [{
                    "protocol": "string",
                    "certificate_url": "string",
                }],
            },
        },
        eviction_policy="string",
        extension_operations_enabled=False,
        additional_capabilities={
            "ultra_ssd_enabled": False,
        },
        plan={
            "name": "string",
            "product": "string",
            "publisher": "string",
        },
        identity={
            "identity_ids": ["string"],
            "type": "string",
        },
        instances=0,
        license_type="string",
        location="string",
        max_bid_price=0,
        boot_diagnostics={
            "storage_account_uri": "string",
        },
        network_interfaces=[{
            "ip_configurations": [{
                "name": "string",
                "application_gateway_backend_address_pool_ids": ["string"],
                "application_security_group_ids": ["string"],
                "load_balancer_backend_address_pool_ids": ["string"],
                "primary": False,
                "public_ip_addresses": [{
                    "name": "string",
                    "domain_name_label": "string",
                    "idle_timeout_in_minutes": 0,
                    "ip_tags": [{
                        "tag": "string",
                        "type": "string",
                    }],
                    "public_ip_prefix_id": "string",
                    "sku_name": "string",
                    "version": "string",
                }],
                "subnet_id": "string",
                "version": "string",
            }],
            "name": "string",
            "dns_servers": ["string"],
            "enable_accelerated_networking": False,
            "enable_ip_forwarding": False,
            "network_security_group_id": "string",
            "primary": False,
        }],
        os_disk={
            "caching": "string",
            "storage_account_type": "string",
            "diff_disk_settings": {
                "option": "string",
                "placement": "string",
            },
            "disk_encryption_set_id": "string",
            "disk_size_gb": 0,
            "write_accelerator_enabled": False,
        },
        encryption_at_host_enabled=False,
        capacity_reservation_group_id="string",
        name="string",
        priority="string",
        priority_mix={
            "base_regular_count": 0,
            "regular_percentage_above_base": 0,
        },
        proximity_placement_group_id="string",
        automatic_instance_repair={
            "enabled": False,
            "action": "string",
            "grace_period": "string",
        },
        single_placement_group=False,
        sku_name="string",
        sku_profile={
            "allocation_strategy": "string",
            "vm_sizes": ["string"],
        },
        source_image_id="string",
        source_image_reference={
            "offer": "string",
            "publisher": "string",
            "sku": "string",
            "version": "string",
        },
        tags={
            "string": "string",
        },
        termination_notification={
            "enabled": False,
            "timeout": "string",
        },
        user_data_base64="string",
        zone_balance=False,
        zones=["string"])
    
    const orchestratedVirtualMachineScaleSetResource = new azure.compute.OrchestratedVirtualMachineScaleSet("orchestratedVirtualMachineScaleSetResource", {
        platformFaultDomainCount: 0,
        resourceGroupName: "string",
        extensions: [{
            name: "string",
            publisher: "string",
            type: "string",
            typeHandlerVersion: "string",
            autoUpgradeMinorVersionEnabled: false,
            extensionsToProvisionAfterVmCreations: ["string"],
            failureSuppressionEnabled: false,
            forceExtensionExecutionOnChange: "string",
            protectedSettings: "string",
            protectedSettingsFromKeyVault: {
                secretUrl: "string",
                sourceVaultId: "string",
            },
            settings: "string",
        }],
        extensionsTimeBudget: "string",
        dataDisks: [{
            caching: "string",
            storageAccountType: "string",
            createOption: "string",
            diskEncryptionSetId: "string",
            diskSizeGb: 0,
            lun: 0,
            ultraSsdDiskIopsReadWrite: 0,
            ultraSsdDiskMbpsReadWrite: 0,
            writeAcceleratorEnabled: false,
        }],
        osProfile: {
            customData: "string",
            linuxConfiguration: {
                adminUsername: "string",
                adminPassword: "string",
                adminSshKeys: [{
                    publicKey: "string",
                    username: "string",
                }],
                computerNamePrefix: "string",
                disablePasswordAuthentication: false,
                patchAssessmentMode: "string",
                patchMode: "string",
                provisionVmAgent: false,
                secrets: [{
                    certificates: [{
                        url: "string",
                    }],
                    keyVaultId: "string",
                }],
            },
            windowsConfiguration: {
                adminPassword: "string",
                adminUsername: "string",
                additionalUnattendContents: [{
                    content: "string",
                    setting: "string",
                }],
                computerNamePrefix: "string",
                enableAutomaticUpdates: false,
                hotpatchingEnabled: false,
                patchAssessmentMode: "string",
                patchMode: "string",
                provisionVmAgent: false,
                secrets: [{
                    certificates: [{
                        store: "string",
                        url: "string",
                    }],
                    keyVaultId: "string",
                }],
                timezone: "string",
                winrmListeners: [{
                    protocol: "string",
                    certificateUrl: "string",
                }],
            },
        },
        evictionPolicy: "string",
        extensionOperationsEnabled: false,
        additionalCapabilities: {
            ultraSsdEnabled: false,
        },
        plan: {
            name: "string",
            product: "string",
            publisher: "string",
        },
        identity: {
            identityIds: ["string"],
            type: "string",
        },
        instances: 0,
        licenseType: "string",
        location: "string",
        maxBidPrice: 0,
        bootDiagnostics: {
            storageAccountUri: "string",
        },
        networkInterfaces: [{
            ipConfigurations: [{
                name: "string",
                applicationGatewayBackendAddressPoolIds: ["string"],
                applicationSecurityGroupIds: ["string"],
                loadBalancerBackendAddressPoolIds: ["string"],
                primary: false,
                publicIpAddresses: [{
                    name: "string",
                    domainNameLabel: "string",
                    idleTimeoutInMinutes: 0,
                    ipTags: [{
                        tag: "string",
                        type: "string",
                    }],
                    publicIpPrefixId: "string",
                    skuName: "string",
                    version: "string",
                }],
                subnetId: "string",
                version: "string",
            }],
            name: "string",
            dnsServers: ["string"],
            enableAcceleratedNetworking: false,
            enableIpForwarding: false,
            networkSecurityGroupId: "string",
            primary: false,
        }],
        osDisk: {
            caching: "string",
            storageAccountType: "string",
            diffDiskSettings: {
                option: "string",
                placement: "string",
            },
            diskEncryptionSetId: "string",
            diskSizeGb: 0,
            writeAcceleratorEnabled: false,
        },
        encryptionAtHostEnabled: false,
        capacityReservationGroupId: "string",
        name: "string",
        priority: "string",
        priorityMix: {
            baseRegularCount: 0,
            regularPercentageAboveBase: 0,
        },
        proximityPlacementGroupId: "string",
        automaticInstanceRepair: {
            enabled: false,
            action: "string",
            gracePeriod: "string",
        },
        singlePlacementGroup: false,
        skuName: "string",
        skuProfile: {
            allocationStrategy: "string",
            vmSizes: ["string"],
        },
        sourceImageId: "string",
        sourceImageReference: {
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        tags: {
            string: "string",
        },
        terminationNotification: {
            enabled: false,
            timeout: "string",
        },
        userDataBase64: "string",
        zoneBalance: false,
        zones: ["string"],
    });
    
    type: azure:compute:OrchestratedVirtualMachineScaleSet
    properties:
        additionalCapabilities:
            ultraSsdEnabled: false
        automaticInstanceRepair:
            action: string
            enabled: false
            gracePeriod: string
        bootDiagnostics:
            storageAccountUri: string
        capacityReservationGroupId: string
        dataDisks:
            - caching: string
              createOption: string
              diskEncryptionSetId: string
              diskSizeGb: 0
              lun: 0
              storageAccountType: string
              ultraSsdDiskIopsReadWrite: 0
              ultraSsdDiskMbpsReadWrite: 0
              writeAcceleratorEnabled: false
        encryptionAtHostEnabled: false
        evictionPolicy: string
        extensionOperationsEnabled: false
        extensions:
            - autoUpgradeMinorVersionEnabled: false
              extensionsToProvisionAfterVmCreations:
                - string
              failureSuppressionEnabled: false
              forceExtensionExecutionOnChange: string
              name: string
              protectedSettings: string
              protectedSettingsFromKeyVault:
                secretUrl: string
                sourceVaultId: string
              publisher: string
              settings: string
              type: string
              typeHandlerVersion: string
        extensionsTimeBudget: string
        identity:
            identityIds:
                - string
            type: string
        instances: 0
        licenseType: string
        location: string
        maxBidPrice: 0
        name: string
        networkInterfaces:
            - dnsServers:
                - string
              enableAcceleratedNetworking: false
              enableIpForwarding: false
              ipConfigurations:
                - applicationGatewayBackendAddressPoolIds:
                    - string
                  applicationSecurityGroupIds:
                    - string
                  loadBalancerBackendAddressPoolIds:
                    - string
                  name: string
                  primary: false
                  publicIpAddresses:
                    - domainNameLabel: string
                      idleTimeoutInMinutes: 0
                      ipTags:
                        - tag: string
                          type: string
                      name: string
                      publicIpPrefixId: string
                      skuName: string
                      version: string
                  subnetId: string
                  version: string
              name: string
              networkSecurityGroupId: string
              primary: false
        osDisk:
            caching: string
            diffDiskSettings:
                option: string
                placement: string
            diskEncryptionSetId: string
            diskSizeGb: 0
            storageAccountType: string
            writeAcceleratorEnabled: false
        osProfile:
            customData: string
            linuxConfiguration:
                adminPassword: string
                adminSshKeys:
                    - publicKey: string
                      username: string
                adminUsername: string
                computerNamePrefix: string
                disablePasswordAuthentication: false
                patchAssessmentMode: string
                patchMode: string
                provisionVmAgent: false
                secrets:
                    - certificates:
                        - url: string
                      keyVaultId: string
            windowsConfiguration:
                additionalUnattendContents:
                    - content: string
                      setting: string
                adminPassword: string
                adminUsername: string
                computerNamePrefix: string
                enableAutomaticUpdates: false
                hotpatchingEnabled: false
                patchAssessmentMode: string
                patchMode: string
                provisionVmAgent: false
                secrets:
                    - certificates:
                        - store: string
                          url: string
                      keyVaultId: string
                timezone: string
                winrmListeners:
                    - certificateUrl: string
                      protocol: string
        plan:
            name: string
            product: string
            publisher: string
        platformFaultDomainCount: 0
        priority: string
        priorityMix:
            baseRegularCount: 0
            regularPercentageAboveBase: 0
        proximityPlacementGroupId: string
        resourceGroupName: string
        singlePlacementGroup: false
        skuName: string
        skuProfile:
            allocationStrategy: string
            vmSizes:
                - string
        sourceImageId: string
        sourceImageReference:
            offer: string
            publisher: string
            sku: string
            version: string
        tags:
            string: string
        terminationNotification:
            enabled: false
            timeout: string
        userDataBase64: string
        zoneBalance: false
        zones:
            - string
    

    OrchestratedVirtualMachineScaleSet 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 OrchestratedVirtualMachineScaleSet resource accepts the following input properties:

    PlatformFaultDomainCount int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    ResourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    AdditionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    AutomaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    BootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    DataDisks List<OrchestratedVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    EncryptionAtHostEnabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions List<OrchestratedVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    Identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice double
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    Name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces List<OrchestratedVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    OsDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    OsProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    Plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    Priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    PriorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    SinglePlacementGroup bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    SkuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    SkuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    SourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    SourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    UserDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    ZoneBalance bool

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

    Note: This can only be set to true when one or more zones are configured.

    Zones List<string>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    PlatformFaultDomainCount int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    ResourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    AdditionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    AutomaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    BootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    DataDisks []OrchestratedVirtualMachineScaleSetDataDiskArgs
    One or more data_disk blocks as defined below.
    EncryptionAtHostEnabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions []OrchestratedVirtualMachineScaleSetExtensionArgs
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    Identity OrchestratedVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    Name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces []OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs
    One or more network_interface blocks as defined below.
    OsDisk OrchestratedVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    OsProfile OrchestratedVirtualMachineScaleSetOsProfileArgs
    An os_profile block as defined below.
    Plan OrchestratedVirtualMachineScaleSetPlanArgs
    A plan block as documented below. Changing this forces a new resource to be created.
    Priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    PriorityMix OrchestratedVirtualMachineScaleSetPriorityMixArgs
    a priority_mix block as defined below
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    SinglePlacementGroup bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    SkuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    SkuProfile OrchestratedVirtualMachineScaleSetSkuProfileArgs

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    SourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    SourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification OrchestratedVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    UserDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    ZoneBalance bool

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

    Note: This can only be set to true when one or more zones are configured.

    Zones []string

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    platformFaultDomainCount Integer

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    resourceGroupName String
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    additionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    automaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks List<OrchestratedVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled Boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy String
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<OrchestratedVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances Integer
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Double
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name String
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<OrchestratedVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    osDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    osProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    priority String
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName String
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId String
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    userDataBase64 String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance Boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones List<String>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    platformFaultDomainCount number

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    resourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    additionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    automaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks OrchestratedVirtualMachineScaleSetDataDisk[]
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions OrchestratedVirtualMachineScaleSetExtension[]
    One or more extension blocks as defined below
    extensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances number
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice number
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces OrchestratedVirtualMachineScaleSetNetworkInterface[]
    One or more network_interface blocks as defined below.
    osDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    osProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    proximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    singlePlacementGroup boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    userDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones string[]

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    platform_fault_domain_count int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    resource_group_name str
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    additional_capabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    automatic_instance_repair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    boot_diagnostics OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    capacity_reservation_group_id str

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    data_disks Sequence[OrchestratedVirtualMachineScaleSetDataDiskArgs]
    One or more data_disk blocks as defined below.
    encryption_at_host_enabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    eviction_policy str
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extension_operations_enabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions Sequence[OrchestratedVirtualMachineScaleSetExtensionArgs]
    One or more extension blocks as defined below
    extensions_time_budget str
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    license_type str
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location str
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    max_bid_price float
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name str
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    network_interfaces Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs]
    One or more network_interface blocks as defined below.
    os_disk OrchestratedVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    os_profile OrchestratedVirtualMachineScaleSetOsProfileArgs
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlanArgs
    A plan block as documented below. Changing this forces a new resource to be created.
    priority str
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priority_mix OrchestratedVirtualMachineScaleSetPriorityMixArgs
    a priority_mix block as defined below
    proximity_placement_group_id str
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    single_placement_group bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    sku_name str
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    sku_profile OrchestratedVirtualMachineScaleSetSkuProfileArgs

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    source_image_id str
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    source_image_reference OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    termination_notification OrchestratedVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    user_data_base64 str
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zone_balance bool

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

    Note: This can only be set to true when one or more zones are configured.

    zones Sequence[str]

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    platformFaultDomainCount Number

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    resourceGroupName String
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    additionalCapabilities Property Map
    An additional_capabilities block as defined below.
    automaticInstanceRepair Property Map

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks List<Property Map>
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled Boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy String
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<Property Map>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity Property Map
    An identity block as defined below.
    instances Number
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Number
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name String
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<Property Map>
    One or more network_interface blocks as defined below.
    osDisk Property Map
    An os_disk block as defined below.
    osProfile Property Map
    An os_profile block as defined below.
    plan Property Map
    A plan block as documented below. Changing this forces a new resource to be created.
    priority String
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix Property Map
    a priority_mix block as defined below
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName String
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile Property Map

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId String
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference Property Map
    A source_image_reference block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification Property Map
    A termination_notification block as defined below.
    userDataBase64 String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance Boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones List<String>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the OrchestratedVirtualMachineScaleSet resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueId String
    The Unique ID for the Virtual Machine Scale Set.
    id string
    The provider-assigned unique ID for this managed resource.
    uniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    id str
    The provider-assigned unique ID for this managed resource.
    unique_id str
    The Unique ID for the Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueId String
    The Unique ID for the Virtual Machine Scale Set.

    Look up Existing OrchestratedVirtualMachineScaleSet Resource

    Get an existing OrchestratedVirtualMachineScaleSet 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?: OrchestratedVirtualMachineScaleSetState, opts?: CustomResourceOptions): OrchestratedVirtualMachineScaleSet
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_capabilities: Optional[OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
            automatic_instance_repair: Optional[OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
            boot_diagnostics: Optional[OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs] = None,
            capacity_reservation_group_id: Optional[str] = None,
            data_disks: Optional[Sequence[OrchestratedVirtualMachineScaleSetDataDiskArgs]] = None,
            encryption_at_host_enabled: Optional[bool] = None,
            eviction_policy: Optional[str] = None,
            extension_operations_enabled: Optional[bool] = None,
            extensions: Optional[Sequence[OrchestratedVirtualMachineScaleSetExtensionArgs]] = None,
            extensions_time_budget: Optional[str] = None,
            identity: Optional[OrchestratedVirtualMachineScaleSetIdentityArgs] = None,
            instances: Optional[int] = None,
            license_type: Optional[str] = None,
            location: Optional[str] = None,
            max_bid_price: Optional[float] = None,
            name: Optional[str] = None,
            network_interfaces: Optional[Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
            os_disk: Optional[OrchestratedVirtualMachineScaleSetOsDiskArgs] = None,
            os_profile: Optional[OrchestratedVirtualMachineScaleSetOsProfileArgs] = None,
            plan: Optional[OrchestratedVirtualMachineScaleSetPlanArgs] = None,
            platform_fault_domain_count: Optional[int] = None,
            priority: Optional[str] = None,
            priority_mix: Optional[OrchestratedVirtualMachineScaleSetPriorityMixArgs] = None,
            proximity_placement_group_id: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            single_placement_group: Optional[bool] = None,
            sku_name: Optional[str] = None,
            sku_profile: Optional[OrchestratedVirtualMachineScaleSetSkuProfileArgs] = None,
            source_image_id: Optional[str] = None,
            source_image_reference: Optional[OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            termination_notification: Optional[OrchestratedVirtualMachineScaleSetTerminationNotificationArgs] = None,
            unique_id: Optional[str] = None,
            user_data_base64: Optional[str] = None,
            zone_balance: Optional[bool] = None,
            zones: Optional[Sequence[str]] = None) -> OrchestratedVirtualMachineScaleSet
    func GetOrchestratedVirtualMachineScaleSet(ctx *Context, name string, id IDInput, state *OrchestratedVirtualMachineScaleSetState, opts ...ResourceOption) (*OrchestratedVirtualMachineScaleSet, error)
    public static OrchestratedVirtualMachineScaleSet Get(string name, Input<string> id, OrchestratedVirtualMachineScaleSetState? state, CustomResourceOptions? opts = null)
    public static OrchestratedVirtualMachineScaleSet get(String name, Output<String> id, OrchestratedVirtualMachineScaleSetState 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:
    AdditionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    AutomaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    BootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    DataDisks List<OrchestratedVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    EncryptionAtHostEnabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions List<OrchestratedVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    Identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice double
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    Name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces List<OrchestratedVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    OsDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    OsProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    Plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    PlatformFaultDomainCount int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    Priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    PriorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    SinglePlacementGroup bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    SkuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    SkuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    SourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    SourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    UniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    UserDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    ZoneBalance bool

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

    Note: This can only be set to true when one or more zones are configured.

    Zones List<string>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    AdditionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    AutomaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    BootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    DataDisks []OrchestratedVirtualMachineScaleSetDataDiskArgs
    One or more data_disk blocks as defined below.
    EncryptionAtHostEnabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions []OrchestratedVirtualMachineScaleSetExtensionArgs
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    Identity OrchestratedVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    Name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces []OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs
    One or more network_interface blocks as defined below.
    OsDisk OrchestratedVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    OsProfile OrchestratedVirtualMachineScaleSetOsProfileArgs
    An os_profile block as defined below.
    Plan OrchestratedVirtualMachineScaleSetPlanArgs
    A plan block as documented below. Changing this forces a new resource to be created.
    PlatformFaultDomainCount int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    Priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    PriorityMix OrchestratedVirtualMachineScaleSetPriorityMixArgs
    a priority_mix block as defined below
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    SinglePlacementGroup bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    SkuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    SkuProfile OrchestratedVirtualMachineScaleSetSkuProfileArgs

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    SourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    SourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification OrchestratedVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    UniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    UserDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    ZoneBalance bool

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

    Note: This can only be set to true when one or more zones are configured.

    Zones []string

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    additionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    automaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks List<OrchestratedVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled Boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy String
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<OrchestratedVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances Integer
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Double
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name String
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<OrchestratedVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    osDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    osProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    platformFaultDomainCount Integer

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    priority String
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName String
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId String
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    uniqueId String
    The Unique ID for the Virtual Machine Scale Set.
    userDataBase64 String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance Boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones List<String>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    additionalCapabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    automaticInstanceRepair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics OrchestratedVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId string

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks OrchestratedVirtualMachineScaleSetDataDisk[]
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy string
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions OrchestratedVirtualMachineScaleSetExtension[]
    One or more extension blocks as defined below
    extensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances number
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location string
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice number
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name string
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces OrchestratedVirtualMachineScaleSetNetworkInterface[]
    One or more network_interface blocks as defined below.
    osDisk OrchestratedVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    osProfile OrchestratedVirtualMachineScaleSetOsProfile
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlan
    A plan block as documented below. Changing this forces a new resource to be created.
    platformFaultDomainCount number

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    priority string
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix OrchestratedVirtualMachineScaleSetPriorityMix
    a priority_mix block as defined below
    proximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    resourceGroupName string
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    singlePlacementGroup boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName string
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile OrchestratedVirtualMachineScaleSetSkuProfile

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId string
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference OrchestratedVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification OrchestratedVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    uniqueId string
    The Unique ID for the Virtual Machine Scale Set.
    userDataBase64 string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones string[]

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    additional_capabilities OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    automatic_instance_repair OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    boot_diagnostics OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    capacity_reservation_group_id str

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    data_disks Sequence[OrchestratedVirtualMachineScaleSetDataDiskArgs]
    One or more data_disk blocks as defined below.
    encryption_at_host_enabled bool
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    eviction_policy str
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extension_operations_enabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions Sequence[OrchestratedVirtualMachineScaleSetExtensionArgs]
    One or more extension blocks as defined below
    extensions_time_budget str
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity OrchestratedVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    instances int
    The number of Virtual Machines in the Virtual Machine Scale Set.
    license_type str
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location str
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    max_bid_price float
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name str
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    network_interfaces Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs]
    One or more network_interface blocks as defined below.
    os_disk OrchestratedVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    os_profile OrchestratedVirtualMachineScaleSetOsProfileArgs
    An os_profile block as defined below.
    plan OrchestratedVirtualMachineScaleSetPlanArgs
    A plan block as documented below. Changing this forces a new resource to be created.
    platform_fault_domain_count int

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    priority str
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priority_mix OrchestratedVirtualMachineScaleSetPriorityMixArgs
    a priority_mix block as defined below
    proximity_placement_group_id str
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    resource_group_name str
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    single_placement_group bool

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    sku_name str
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    sku_profile OrchestratedVirtualMachineScaleSetSkuProfileArgs

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    source_image_id str
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    source_image_reference OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    termination_notification OrchestratedVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    unique_id str
    The Unique ID for the Virtual Machine Scale Set.
    user_data_base64 str
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zone_balance bool

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

    Note: This can only be set to true when one or more zones are configured.

    zones Sequence[str]

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    additionalCapabilities Property Map
    An additional_capabilities block as defined below.
    automaticInstanceRepair Property Map

    An automatic_instance_repair block as defined below.

    Note: To enable the automatic_instance_repair, the Orchestrated Virtual Machine Scale Set must have a valid Application Health Extension.

    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

    Note: capacity_reservation_group_id cannot be specified with proximity_placement_group_id

    Note: If capacity_reservation_group_id is specified the single_placement_group must be set to false.

    dataDisks List<Property Map>
    One or more data_disk blocks as defined below.
    encryptionAtHostEnabled Boolean
    Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host?
    evictionPolicy String
    The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<Property Map>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    identity Property Map
    An identity block as defined below.
    instances Number
    The number of Virtual Machines in the Virtual Machine Scale Set.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Number
    The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.
    name String
    The name of the Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<Property Map>
    One or more network_interface blocks as defined below.
    osDisk Property Map
    An os_disk block as defined below.
    osProfile Property Map
    An os_profile block as defined below.
    plan Property Map
    A plan block as documented below. Changing this forces a new resource to be created.
    platformFaultDomainCount Number

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

    Note: The number of Fault Domains varies depending on which Azure Region you're using. More information about update and fault domains and how they work can be found here.

    priority String
    The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
    priorityMix Property Map
    a priority_mix block as defined below
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the Resource Group in which the Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean

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

    Note: single_placement_group behaves differently for Flexible orchestration Virtual Machine Scale Sets than it does for Uniform orchestration Virtual Machine Scale Sets. It is recommended that you do not define the single_placement_group field in your configuration file as the service will determine what this value should be based off of the value contained within the sku_name field of your configuration file. You may set the single_placement_group field to true, however once you set it to false you will not be able to revert it back to true.

    skuName String
    The name of the SKU to be used by this Virtual Machine Scale Set. Valid values include: any of the General purpose, Compute optimized, Memory optimized, Storage optimized, GPU optimized, FPGA optimized, High performance, or Previous generation virtual machine SKUs.
    skuProfile Property Map

    An sku_profile block as defined below. Changing this forces a new resource to be created.

    Note: If sku_profile is specified the sku_name must be set to Mix.

    sourceImageId String
    The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image IDs, Shared Image IDs, Shared Image Version IDs, Community Gallery Image IDs, Community Gallery Image Version IDs, Shared Gallery Image IDs and Shared Gallery Image Version IDs.
    sourceImageReference Property Map
    A source_image_reference block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification Property Map
    A termination_notification block as defined below.
    uniqueId String
    The Unique ID for the Virtual Machine Scale Set.
    userDataBase64 String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    zoneBalance Boolean

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

    Note: This can only be set to true when one or more zones are configured.

    zones List<String>

    Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.

    Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

    Note: Availability Zones are only supported in several regions at this time.

    Supporting Types

    OrchestratedVirtualMachineScaleSetAdditionalCapabilities, OrchestratedVirtualMachineScaleSetAdditionalCapabilitiesArgs

    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
    ultra_ssd_enabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Defaults to false. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetAutomaticInstanceRepair, OrchestratedVirtualMachineScaleSetAutomaticInstanceRepairArgs

    Enabled bool
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    Action string

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    GracePeriod string

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Enabled bool
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    Action string

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    GracePeriod string

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    enabled Boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    action String

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    gracePeriod String

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    enabled boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    action string

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    gracePeriod string

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    enabled bool
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    action str

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    grace_period str

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    enabled Boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set? Possible values are true and false.
    action String

    The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

    Note: Once the action field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    gracePeriod String

    Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    OrchestratedVirtualMachineScaleSetBootDiagnostics, OrchestratedVirtualMachineScaleSetBootDiagnosticsArgs

    StorageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
    StorageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
    storageAccountUri String
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
    storageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
    storage_account_uri str
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.
    storageAccountUri String
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. By including a boot_diagnostics block without passing the storage_account_uri field will cause the API to utilize a Managed Storage Account to store the Boot Diagnostics output.

    OrchestratedVirtualMachineScaleSetDataDisk, OrchestratedVirtualMachineScaleSetDataDiskArgs

    Caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    CreateOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    DiskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    DiskSizeGb int
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    Lun int
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    UltraSsdDiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    UltraSsdDiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    WriteAcceleratorEnabled bool
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
    Caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    CreateOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    DiskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    DiskSizeGb int
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    Lun int
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    UltraSsdDiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    UltraSsdDiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    WriteAcceleratorEnabled bool
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
    caching String
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    createOption String
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId String
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    diskSizeGb Integer
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    lun Integer
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    ultraSsdDiskIopsReadWrite Integer
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite Integer
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled Boolean
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
    caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType string
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    createOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    diskSizeGb number
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    lun number
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    ultraSsdDiskIopsReadWrite number
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled boolean
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
    caching str
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    storage_account_type str
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    create_option str
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    disk_encryption_set_id str
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    disk_size_gb int
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    lun int
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    ultra_ssd_disk_iops_read_write int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultra_ssd_disk_mbps_read_write int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    write_accelerator_enabled bool
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.
    caching String
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.
    createOption String
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId String
    The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
    diskSizeGb Number
    The size of the Data Disk which should be created. Required if create_option is specified as Empty.
    lun Number
    The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if create_option is specified as Empty.
    ultraSsdDiskIopsReadWrite Number
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite Number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled Boolean
    Specifies if Write Accelerator is enabled on the Data Disk. Defaults to false.

    OrchestratedVirtualMachineScaleSetExtension, OrchestratedVirtualMachineScaleSetExtensionArgs

    Name string
    The name for the Virtual Machine Scale Set Extension.
    Publisher string
    Specifies the Publisher of the Extension.
    Type string
    Specifies the Type of the Extension.
    TypeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    AutoUpgradeMinorVersionEnabled 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.
    ExtensionsToProvisionAfterVmCreations List<string>
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    FailureSuppressionEnabled bool

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    ForceExtensionExecutionOnChange 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.
    ProtectedSettings string

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

    Note: Keys within the protected_settings block 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.

    ProtectedSettingsFromKeyVault OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    Settings string
    A JSON String which specifies Settings for the Extension.
    Name string
    The name for the Virtual Machine Scale Set Extension.
    Publisher string
    Specifies the Publisher of the Extension.
    Type string
    Specifies the Type of the Extension.
    TypeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    AutoUpgradeMinorVersionEnabled 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.
    ExtensionsToProvisionAfterVmCreations []string
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    FailureSuppressionEnabled bool

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    ForceExtensionExecutionOnChange 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.
    ProtectedSettings string

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

    Note: Keys within the protected_settings block 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.

    ProtectedSettingsFromKeyVault OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    Settings string
    A JSON String which specifies Settings for the Extension.
    name String
    The name for the Virtual Machine Scale Set Extension.
    publisher String
    Specifies the Publisher of the Extension.
    type String
    Specifies the Type of the Extension.
    typeHandlerVersion String
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersionEnabled 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.
    extensionsToProvisionAfterVmCreations List<String>
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    failureSuppressionEnabled Boolean

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    forceExtensionExecutionOnChange 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.
    protectedSettings String

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

    Note: Keys within the protected_settings block 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.

    protectedSettingsFromKeyVault OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    settings String
    A JSON String which specifies Settings for the Extension.
    name string
    The name for the Virtual Machine Scale Set Extension.
    publisher string
    Specifies the Publisher of the Extension.
    type string
    Specifies the Type of the Extension.
    typeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersionEnabled 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.
    extensionsToProvisionAfterVmCreations string[]
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    failureSuppressionEnabled boolean

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    forceExtensionExecutionOnChange 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.
    protectedSettings string

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

    Note: Keys within the protected_settings block 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.

    protectedSettingsFromKeyVault OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    settings string
    A JSON String which specifies Settings for the Extension.
    name str
    The name for the Virtual Machine Scale Set Extension.
    publisher str
    Specifies the Publisher of the Extension.
    type str
    Specifies the Type of the Extension.
    type_handler_version str
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    auto_upgrade_minor_version_enabled 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.
    extensions_to_provision_after_vm_creations Sequence[str]
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    failure_suppression_enabled bool

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    force_extension_execution_on_change 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.
    protected_settings str

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

    Note: Keys within the protected_settings block 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_from_key_vault OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    settings str
    A JSON String which specifies Settings for the Extension.
    name String
    The name for the Virtual Machine Scale Set Extension.
    publisher String
    Specifies the Publisher of the Extension.
    type String
    Specifies the Type of the Extension.
    typeHandlerVersion String
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersionEnabled 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.
    extensionsToProvisionAfterVmCreations List<String>
    An ordered list of Extension names which Virtual Machine Scale Set should provision after VM creation.
    failureSuppressionEnabled Boolean

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

    Note: Operational failures such as not connecting to the VM will not be suppressed regardless of the failure_suppression_enabled value.

    forceExtensionExecutionOnChange 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.
    protectedSettings String

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

    Note: Keys within the protected_settings block 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.

    protectedSettingsFromKeyVault Property Map

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    settings String
    A JSON String which specifies Settings for the Extension.

    OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault, OrchestratedVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

    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.

    OrchestratedVirtualMachineScaleSetIdentity, OrchestratedVirtualMachineScaleSetIdentityArgs

    IdentityIds List<string>
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    Type string
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
    IdentityIds []string
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    Type string
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    type String
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
    identityIds string[]
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    type string
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
    identity_ids Sequence[str]
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    type str
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.
    type String
    The type of Managed Identity that should be configured on this Windows Virtual Machine Scale Set. Only possible value is UserAssigned.

    OrchestratedVirtualMachineScaleSetNetworkInterface, OrchestratedVirtualMachineScaleSetNetworkInterfaceArgs

    IpConfigurations List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
    One or more ip_configuration blocks as defined above.
    Name string
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    DnsServers List<string>
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    EnableAcceleratedNetworking bool
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    EnableIpForwarding bool
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    NetworkSecurityGroupId string
    The ID of a Network Security Group which should be assigned to this Network Interface.
    Primary bool

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    IpConfigurations []OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration
    One or more ip_configuration blocks as defined above.
    Name string
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    DnsServers []string
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    EnableAcceleratedNetworking bool
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    EnableIpForwarding bool
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    NetworkSecurityGroupId string
    The ID of a Network Security Group which should be assigned to this Network Interface.
    Primary bool

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    ipConfigurations List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
    One or more ip_configuration blocks as defined above.
    name String
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    dnsServers List<String>
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    enableAcceleratedNetworking Boolean
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    enableIpForwarding Boolean
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    networkSecurityGroupId String
    The ID of a Network Security Group which should be assigned to this Network Interface.
    primary Boolean

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    ipConfigurations OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration[]
    One or more ip_configuration blocks as defined above.
    name string
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    dnsServers string[]
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    enableAcceleratedNetworking boolean
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    enableIpForwarding boolean
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    networkSecurityGroupId string
    The ID of a Network Security Group which should be assigned to this Network Interface.
    primary boolean

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    ip_configurations Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration]
    One or more ip_configuration blocks as defined above.
    name str
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    dns_servers Sequence[str]
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    enable_accelerated_networking bool
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    enable_ip_forwarding bool
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    network_security_group_id str
    The ID of a Network Security Group which should be assigned to this Network Interface.
    primary bool

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    ipConfigurations List<Property Map>
    One or more ip_configuration blocks as defined above.
    name String
    The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
    dnsServers List<String>
    A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
    enableAcceleratedNetworking Boolean
    Does this Network Interface support Accelerated Networking? Possible values are true and false. Defaults to false.
    enableIpForwarding Boolean
    Does this Network Interface support IP Forwarding? Possible values are true and false. Defaults to false.
    networkSecurityGroupId String
    The ID of a Network Security Group which should be assigned to this Network Interface.
    primary Boolean

    Is this the Primary IP Configuration? Possible values are true and false. Defaults to false.

    Note: If multiple network_interface blocks are specified, one must be set to primary.

    OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfiguration, OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs

    Name string
    The Name which should be used for this IP Configuration.
    ApplicationGatewayBackendAddressPoolIds List<string>
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    ApplicationSecurityGroupIds List<string>
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    LoadBalancerBackendAddressPoolIds List<string>

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    Primary bool

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    PublicIpAddresses List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress>
    A public_ip_address block as defined below.
    SubnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    Version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    Name string
    The Name which should be used for this IP Configuration.
    ApplicationGatewayBackendAddressPoolIds []string
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    ApplicationSecurityGroupIds []string
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    LoadBalancerBackendAddressPoolIds []string

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    Primary bool

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    PublicIpAddresses []OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress
    A public_ip_address block as defined below.
    SubnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    Version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name String
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds List<String>
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds List<String>

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    primary Boolean

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress>
    A public_ip_address block as defined below.
    subnetId String

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    version String
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name string
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds string[]
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds string[]
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds string[]

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    primary boolean

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress[]
    A public_ip_address block as defined below.
    subnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name str
    The Name which should be used for this IP Configuration.
    application_gateway_backend_address_pool_ids Sequence[str]
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    application_security_group_ids Sequence[str]
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    load_balancer_backend_address_pool_ids Sequence[str]

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    primary bool

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    public_ip_addresses Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress]
    A public_ip_address block as defined below.
    subnet_id str

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    version str
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name String
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds List<String>
    A list of Backend Address Pools IDs from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group IDs which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds List<String>

    A list of Backend Address Pools IDs from a Load Balancer which this Virtual Machine Scale Set should be connected to.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    primary Boolean

    Is this the Primary IP Configuration for this Network Interface? Possible values are true and false. Defaults to false.

    Note: One ip_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses List<Property Map>
    A public_ip_address block as defined below.
    subnetId String

    The ID of the Subnet which this IP Configuration should be connected to.

    Note: subnet_id is required if version is set to IPv4.

    version String
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.

    OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress, OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs

    Name string
    The Name of the Public IP Address Configuration.
    DomainNameLabel string
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    IdleTimeoutInMinutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    IpTags List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    PublicIpPrefixId string
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    SkuName string
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    Version string
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    Name string
    The Name of the Public IP Address Configuration.
    DomainNameLabel string
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    IdleTimeoutInMinutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    IpTags []OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    PublicIpPrefixId string
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    SkuName string
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    Version string
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name String
    The Name of the Public IP Address Configuration.
    domainNameLabel String
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    idleTimeoutInMinutes Integer
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags List<OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId String
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    skuName String
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    version String
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name string
    The Name of the Public IP Address Configuration.
    domainNameLabel string
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    idleTimeoutInMinutes number
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag[]
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId string
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    skuName string
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    version string
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name str
    The Name of the Public IP Address Configuration.
    domain_name_label str
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    idle_timeout_in_minutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ip_tags Sequence[OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag]
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    public_ip_prefix_id str
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    sku_name str
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    version str
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name String
    The Name of the Public IP Address Configuration.
    domainNameLabel String
    The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine. Valid values must be between 1 and 26 characters long, start with a lower case letter, end with a lower case letter or number and contains only a-z, 0-9 and hyphens.
    idleTimeoutInMinutes Number
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags List<Property Map>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId String
    The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
    skuName String
    Specifies what Public IP Address SKU the Public IP Address should be provisioned as. Possible vaules include Basic_Regional, Basic_Global, Standard_Regional or Standard_Global. For more information about Public IP Address SKU's and their capabilities, please see the product documentation. Changing this forces a new resource to be created.
    version String
    The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag, OrchestratedVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs

    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    Type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    Type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type String
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag str
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type str
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type String
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetOsDisk, OrchestratedVirtualMachineScaleSetOsDiskArgs

    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    DiskEncryptionSetId string

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    DiskSizeGb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    WriteAcceleratorEnabled bool
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    DiskEncryptionSetId string

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    DiskSizeGb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    WriteAcceleratorEnabled bool
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId String

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    diskSizeGb Integer
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    writeAcceleratorEnabled Boolean
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
    caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId string

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    diskSizeGb number
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    writeAcceleratorEnabled boolean
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
    caching str
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storage_account_type str
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diff_disk_settings OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    disk_encryption_set_id str

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    disk_size_gb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    write_accelerator_enabled bool
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.
    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings Property Map
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId String

    The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.

    Note: Disk Encryption Sets are in Public Preview in a limited set of regions

    diskSizeGb Number
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
    writeAcceleratorEnabled Boolean
    Specifies if Write Accelerator is enabled on the OS Disk. Defaults to false.

    OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettings, OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs

    Option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    Placement string
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
    Option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    Placement string
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
    option String
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    placement String
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
    option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    placement string
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
    option str
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    placement str
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
    option String
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    placement String
    Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetOsProfile, OrchestratedVirtualMachineScaleSetOsProfileArgs

    CustomData string

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    LinuxConfiguration OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration
    A linux_configuration block as documented below.
    WindowsConfiguration OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration
    A windows_configuration block as documented below.
    CustomData string

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    LinuxConfiguration OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration
    A linux_configuration block as documented below.
    WindowsConfiguration OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration
    A windows_configuration block as documented below.
    customData String

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    linuxConfiguration OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration
    A linux_configuration block as documented below.
    windowsConfiguration OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration
    A windows_configuration block as documented below.
    customData string

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    linuxConfiguration OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration
    A linux_configuration block as documented below.
    windowsConfiguration OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration
    A windows_configuration block as documented below.
    custom_data str

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    linux_configuration OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration
    A linux_configuration block as documented below.
    windows_configuration OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration
    A windows_configuration block as documented below.
    customData String

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

    Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

    linuxConfiguration Property Map
    A linux_configuration block as documented below.
    windowsConfiguration Property Map
    A windows_configuration block as documented below.

    OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration, OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationArgs

    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminSshKeys List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey>
    A admin_ssh_key block as documented below.
    ComputerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    DisablePasswordAuthentication bool

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    PatchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    PatchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    Secrets List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret>
    One or more secret blocks as defined below.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminSshKeys []OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey
    A admin_ssh_key block as documented below.
    ComputerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    DisablePasswordAuthentication bool

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    PatchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    PatchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    Secrets []OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret
    One or more secret blocks as defined below.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminSshKeys List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey>
    A admin_ssh_key block as documented below.
    computerNamePrefix String
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    disablePasswordAuthentication Boolean

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    patchAssessmentMode String

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode String

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret>
    One or more secret blocks as defined below.
    adminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    adminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminSshKeys OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey[]
    A admin_ssh_key block as documented below.
    computerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    disablePasswordAuthentication boolean

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    patchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    provisionVmAgent boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret[]
    One or more secret blocks as defined below.
    admin_username str
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    admin_password str
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    admin_ssh_keys Sequence[OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey]
    A admin_ssh_key block as documented below.
    computer_name_prefix str
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    disable_password_authentication bool

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    patch_assessment_mode str

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patch_mode str

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    provision_vm_agent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets Sequence[OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret]
    One or more secret blocks as defined below.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminSshKeys List<Property Map>
    A admin_ssh_key block as documented below.
    computerNamePrefix String
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    disablePasswordAuthentication Boolean

    When an admin_password is specified disable_password_authentication must be set to false. Defaults to true.

    Note: Either admin_password or admin_ssh_key must be specified.

    patchAssessmentMode String

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode String

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are ImageDefault or AutomaticByPlatform. Defaults to ImageDefault. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the ./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching directory within the GitHub Repository.

    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets List<Property Map>
    One or more secret blocks as defined below.

    OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey, OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKeyArgs

    PublicKey string
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    Username string

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    PublicKey string
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    Username string

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    publicKey String
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    username String

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    publicKey string
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    username string

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    public_key str
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    username str

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    publicKey String
    The Public Key which should be used for authentication, which needs to be in ssh-rsa format with at least 2048-bit or in ssh-ed25519 format.
    username String

    The Username for which this Public SSH Key should be configured.

    Note: The Azure VM Agent only allows creating SSH Keys at the path /home/{username}/.ssh/authorized_keys - as such this public key will be written to the authorized keys file.

    OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret, OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretArgs

    Certificates List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate>
    One or more certificate blocks as defined below.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    Certificates []OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate
    One or more certificate blocks as defined below.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate>
    One or more certificate blocks as defined below.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate[]
    One or more certificate blocks as defined below.
    keyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates Sequence[OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate]
    One or more certificate blocks as defined below.
    key_vault_id str
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<Property Map>
    One or more certificate blocks as defined below.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.

    OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificate, OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecretCertificateArgs

    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    url str

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration, OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs

    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AdditionalUnattendContents List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    ComputerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    HotpatchingEnabled bool

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    PatchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    PatchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    Secrets List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret>
    One or more secret blocks as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    WinrmListeners List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener>
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AdditionalUnattendContents []OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    ComputerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    HotpatchingEnabled bool

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    PatchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    PatchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    Secrets []OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret
    One or more secret blocks as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    WinrmListeners []OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    additionalUnattendContents List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    computerNamePrefix String
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    hotpatchingEnabled Boolean

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    patchAssessmentMode String

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode String

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret>
    One or more secret blocks as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    winrmListeners List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener>
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
    adminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    additionalUnattendContents OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    computerNamePrefix string
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    enableAutomaticUpdates boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    hotpatchingEnabled boolean

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    patchAssessmentMode string

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode string

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    provisionVmAgent boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret[]
    One or more secret blocks as defined below.
    timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    winrmListeners OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener[]
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
    admin_password str
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    admin_username str
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    additional_unattend_contents Sequence[OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    computer_name_prefix str
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    enable_automatic_updates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    hotpatching_enabled bool

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    patch_assessment_mode str

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patch_mode str

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    provision_vm_agent bool
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets Sequence[OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret]
    One or more secret blocks as defined below.
    timezone str
    Specifies the time zone of the virtual machine, the possible values are defined here.
    winrm_listeners Sequence[OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener]
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    computerNamePrefix String
    The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    hotpatchingEnabled Boolean

    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.

    Note: Hotpatching can only be enabled if the patch_mode is set to AutomaticByPlatform, the provision_vm_agent is set to true, your source_image_reference references a hotpatching enabled image, the VM's sku_name is set to a Azure generation 2 VM SKU and the extension contains an application health extension. An example of how to correctly configure a Virtual Machine Scale Set to provision a Windows Virtual Machine with hotpatching enabled can be found in the ./examples/orchestrated-vm-scale-set/hotpatching-enabled directory within the GitHub Repository.

    patchAssessmentMode String

    Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are AutomaticByPlatform or ImageDefault. Defaults to ImageDefault.

    Note: If the patch_assessment_mode is set to AutomaticByPlatform then the provision_vm_agent field must be set to true.

    patchMode String

    Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more information on patch modes please see the product documentation.

    Note: If patch_mode is set to AutomaticByPlatform the provision_vm_agent must be set to true and the extension must contain at least one application health extension.

    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
    secrets List<Property Map>
    One or more secret blocks as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    winrmListeners List<Property Map>
    One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent, OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgs

    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content str
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting str
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret, OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgs

    Certificates List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate>
    One or more certificate blocks as defined below.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    Certificates []OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate
    One or more certificate blocks as defined below.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate>
    One or more certificate blocks as defined below.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate[]
    One or more certificate blocks as defined below.
    keyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates Sequence[OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate]
    One or more certificate blocks as defined below.
    key_vault_id str
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<Property Map>
    One or more certificate blocks as defined below.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.

    OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificate, OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretCertificateArgs

    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store string
    The certificate store on the Virtual Machine where the certificate should be added.
    url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store str
    The certificate store on the Virtual Machine where the certificate should be added.
    url str

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener, OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgs

    Protocol string
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    CertificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Protocol string
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    CertificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol String
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    certificateUrl String

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol string
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    certificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol str
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    certificate_url str

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol String
    Specifies the protocol of listener. Possible values are Http or Https. Changing this forces a new resource to be created.
    certificateUrl String

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    OrchestratedVirtualMachineScaleSetPlan, OrchestratedVirtualMachineScaleSetPlanArgs

    Name string
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    Product string
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    Product string
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image. Changing this forces a new resource to be created.
    name String
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    product String
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image. Changing this forces a new resource to be created.
    name string
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    product string
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    publisher string
    Specifies the publisher of the image. Changing this forces a new resource to be created.
    name str
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    product str
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    publisher str
    Specifies the publisher of the image. Changing this forces a new resource to be created.
    name String
    Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
    product String
    Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image. Changing this forces a new resource to be created.

    OrchestratedVirtualMachineScaleSetPriorityMix, OrchestratedVirtualMachineScaleSetPriorityMixArgs

    BaseRegularCount int
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    RegularPercentageAboveBase int
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
    BaseRegularCount int
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    RegularPercentageAboveBase int
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
    baseRegularCount Integer
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    regularPercentageAboveBase Integer
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
    baseRegularCount number
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    regularPercentageAboveBase number
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
    base_regular_count int
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    regular_percentage_above_base int
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.
    baseRegularCount Number
    Specifies the base number of VMs of Regular priority that will be created before any VMs of priority Spot are created. Possible values are integers between 0 and 1000. Defaults to 0.
    regularPercentageAboveBase Number
    Specifies the desired percentage of VM instances that are of Regular priority after the base count has been reached. Possible values are integers between 0 and 100. Defaults to 0.

    OrchestratedVirtualMachineScaleSetSkuProfile, OrchestratedVirtualMachineScaleSetSkuProfileArgs

    AllocationStrategy string
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    VmSizes List<string>
    Specifies the VM sizes for the virtual machine scale set.
    AllocationStrategy string
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    VmSizes []string
    Specifies the VM sizes for the virtual machine scale set.
    allocationStrategy String
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    vmSizes List<String>
    Specifies the VM sizes for the virtual machine scale set.
    allocationStrategy string
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    vmSizes string[]
    Specifies the VM sizes for the virtual machine scale set.
    allocation_strategy str
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    vm_sizes Sequence[str]
    Specifies the VM sizes for the virtual machine scale set.
    allocationStrategy String
    Specifies the allocation strategy for the virtual machine scale set based on which the VMs will be allocated. Possible values are LowestPrice and CapacityOptimized.
    vmSizes List<String>
    Specifies the VM sizes for the virtual machine scale set.

    OrchestratedVirtualMachineScaleSetSourceImageReference, OrchestratedVirtualMachineScaleSetSourceImageReferenceArgs

    Offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Sku string
    Specifies the SKU of the image used to create the virtual machines.
    Version string
    Specifies the version of the image used to create the virtual machines.
    Offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Sku string
    Specifies the SKU of the image used to create the virtual machines.
    Version string
    Specifies the version of the image used to create the virtual machines.
    offer String
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku String
    Specifies the SKU of the image used to create the virtual machines.
    version String
    Specifies the version of the image used to create the virtual machines.
    offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku string
    Specifies the SKU of the image used to create the virtual machines.
    version string
    Specifies the version of the image used to create the virtual machines.
    offer str
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher str
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku str
    Specifies the SKU of the image used to create the virtual machines.
    version str
    Specifies the version of the image used to create the virtual machines.
    offer String
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku String
    Specifies the SKU of the image used to create the virtual machines.
    version String
    Specifies the version of the image used to create the virtual machines.

    OrchestratedVirtualMachineScaleSetTerminationNotification, OrchestratedVirtualMachineScaleSetTerminationNotificationArgs

    Enabled bool
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    Timeout string
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
    Enabled bool
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    Timeout string
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
    enabled Boolean
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    timeout String
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
    enabled boolean
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    timeout string
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
    enabled bool
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    timeout str
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.
    enabled Boolean
    Should the termination notification be enabled on this Virtual Machine Scale Set? Possible values true or false.
    timeout String
    Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

    Import

    An Virtual Machine Scale Set can be imported using the resource id, e.g.

    $ pulumi import azure:compute/orchestratedVirtualMachineScaleSet:OrchestratedVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1
    

    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 azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi