1. Packages
  2. Azure Native
  3. API Docs
  4. compute
  5. VirtualMachineScaleSetVM
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.44.1 published on Thursday, Jun 6, 2024 by Pulumi

azure-native.compute.VirtualMachineScaleSetVM

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.44.1 published on Thursday, Jun 6, 2024 by Pulumi

    Describes a virtual machine scale set virtual machine. Azure REST API version: 2023-03-01. Prior API version in Azure Native 1.x: 2021-03-01.

    Other available API versions: 2023-07-01, 2023-09-01, 2024-03-01.

    Example Usage

    VirtualMachineScaleSetVM_Update_MaximumSet_Gen

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSetVM = new AzureNative.Compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM", new()
        {
            AdditionalCapabilities = new AzureNative.Compute.Inputs.AdditionalCapabilitiesArgs
            {
                HibernationEnabled = true,
                UltraSSDEnabled = true,
            },
            AvailabilitySet = new AzureNative.Compute.Inputs.SubResourceArgs
            {
                Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
            },
            DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
            {
                BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                {
                    Enabled = true,
                    StorageUri = "aaaaaaaaaaaaa",
                },
            },
            HardwareProfile = new AzureNative.Compute.Inputs.HardwareProfileArgs
            {
                VmSize = AzureNative.Compute.VirtualMachineSizeTypes.Basic_A0,
                VmSizeProperties = new AzureNative.Compute.Inputs.VMSizePropertiesArgs
                {
                    VCPUsAvailable = 9,
                    VCPUsPerCore = 12,
                },
            },
            InstanceId = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            LicenseType = "aaaaaaaaaa",
            Location = "westus",
            NetworkProfile = new AzureNative.Compute.Inputs.NetworkProfileArgs
            {
                NetworkApiVersion = AzureNative.Compute.NetworkApiVersion.NetworkApiVersion_2020_11_01,
                NetworkInterfaceConfigurations = new[]
                {
                    new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceConfigurationArgs
                    {
                        DeleteOption = AzureNative.Compute.DeleteOptions.Delete,
                        DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs
                        {
                            DnsServers = new[]
                            {
                                "aaaaaa",
                            },
                        },
                        DscpConfiguration = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                        EnableAcceleratedNetworking = true,
                        EnableFpga = true,
                        EnableIPForwarding = true,
                        IpConfigurations = new[]
                        {
                            new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceIPConfigurationArgs
                            {
                                ApplicationGatewayBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                ApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                LoadBalancerBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                Name = "aa",
                                Primary = true,
                                PrivateIPAddressVersion = AzureNative.Compute.IPVersions.IPv4,
                                PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachinePublicIPAddressConfigurationArgs
                                {
                                    DeleteOption = AzureNative.Compute.DeleteOptions.Delete,
                                    DnsSettings = new AzureNative.Compute.Inputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs
                                    {
                                        DomainNameLabel = "aaaaaaaaaaaaaaaaaaaaaaaaa",
                                    },
                                    IdleTimeoutInMinutes = 2,
                                    IpTags = new[]
                                    {
                                        new AzureNative.Compute.Inputs.VirtualMachineIpTagArgs
                                        {
                                            IpTagType = "aaaaaaaaaaaaaaaaaaaaaaaaa",
                                            Tag = "aaaaaaaaaaaaaaaaaaaa",
                                        },
                                    },
                                    Name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                                    PublicIPAddressVersion = AzureNative.Compute.IPVersions.IPv4,
                                    PublicIPAllocationMethod = AzureNative.Compute.PublicIPAllocationMethod.Dynamic,
                                    PublicIPPrefix = new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                    Sku = new AzureNative.Compute.Inputs.PublicIPAddressSkuArgs
                                    {
                                        Name = AzureNative.Compute.PublicIPAddressSkuName.Basic,
                                        Tier = AzureNative.Compute.PublicIPAddressSkuTier.Regional,
                                    },
                                },
                                Subnet = new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                },
                            },
                        },
                        Name = "aaaaaaaaaaa",
                        NetworkSecurityGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                        Primary = true,
                    },
                },
                NetworkInterfaces = new[]
                {
                    new AzureNative.Compute.Inputs.NetworkInterfaceReferenceArgs
                    {
                        DeleteOption = AzureNative.Compute.DeleteOptions.Delete,
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415",
                        Primary = true,
                    },
                },
            },
            NetworkProfileConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs
            {
                NetworkInterfaceConfigurations = new[]
                {
                    new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                    {
                        DeleteOption = AzureNative.Compute.DeleteOptions.Delete,
                        DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs
                        {
                            DnsServers = new() { },
                        },
                        EnableAcceleratedNetworking = true,
                        EnableFpga = true,
                        EnableIPForwarding = true,
                        IpConfigurations = new[]
                        {
                            new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                            {
                                ApplicationGatewayBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                ApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                LoadBalancerBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                LoadBalancerInboundNatPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                },
                                Name = "vmsstestnetconfig9693",
                                Primary = true,
                                PrivateIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                                {
                                    DeleteOption = AzureNative.Compute.DeleteOptions.Delete,
                                    DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs
                                    {
                                        DomainNameLabel = "aaaaaaaaaaaaaaaaaa",
                                    },
                                    IdleTimeoutInMinutes = 18,
                                    IpTags = new[]
                                    {
                                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetIpTagArgs
                                        {
                                            IpTagType = "aaaaaaa",
                                            Tag = "aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                                        },
                                    },
                                    Name = "aaaaaaaaaaaaaaaaaa",
                                    PublicIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                    PublicIPPrefix = new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                                    },
                                    Sku = new AzureNative.Compute.Inputs.PublicIPAddressSkuArgs
                                    {
                                        Name = AzureNative.Compute.PublicIPAddressSkuName.Basic,
                                        Tier = AzureNative.Compute.PublicIPAddressSkuTier.Regional,
                                    },
                                },
                                Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                {
                                    Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503",
                                },
                            },
                        },
                        Name = "vmsstestnetconfig5415",
                        NetworkSecurityGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                        Primary = true,
                    },
                },
            },
            OsProfile = new AzureNative.Compute.Inputs.OSProfileArgs
            {
                AdminPassword = "aaaaaaaaaaaaaaaa",
                AdminUsername = "Foo12",
                AllowExtensionOperations = true,
                ComputerName = "test000000",
                CustomData = "aaaa",
                LinuxConfiguration = new AzureNative.Compute.Inputs.LinuxConfigurationArgs
                {
                    DisablePasswordAuthentication = true,
                    PatchSettings = new AzureNative.Compute.Inputs.LinuxPatchSettingsArgs
                    {
                        AssessmentMode = AzureNative.Compute.LinuxPatchAssessmentMode.ImageDefault,
                        PatchMode = AzureNative.Compute.LinuxVMGuestPatchMode.ImageDefault,
                    },
                    ProvisionVMAgent = true,
                    Ssh = new AzureNative.Compute.Inputs.SshConfigurationArgs
                    {
                        PublicKeys = new[]
                        {
                            new AzureNative.Compute.Inputs.SshPublicKeyArgs
                            {
                                KeyData = "aaaaaa",
                                Path = "aaa",
                            },
                        },
                    },
                },
                RequireGuestProvisionSignal = true,
                Secrets = new() { },
                WindowsConfiguration = new AzureNative.Compute.Inputs.WindowsConfigurationArgs
                {
                    AdditionalUnattendContent = new[]
                    {
                        new AzureNative.Compute.Inputs.AdditionalUnattendContentArgs
                        {
                            ComponentName = AzureNative.Compute.ComponentNames.Microsoft_Windows_Shell_Setup,
                            Content = "aaaaaaaaaaaaaaaaaaaa",
                            PassName = AzureNative.Compute.PassNames.OobeSystem,
                            SettingName = AzureNative.Compute.SettingNames.AutoLogon,
                        },
                    },
                    EnableAutomaticUpdates = true,
                    PatchSettings = new AzureNative.Compute.Inputs.PatchSettingsArgs
                    {
                        AssessmentMode = AzureNative.Compute.WindowsPatchAssessmentMode.ImageDefault,
                        EnableHotpatching = true,
                        PatchMode = AzureNative.Compute.WindowsVMGuestPatchMode.Manual,
                    },
                    ProvisionVMAgent = true,
                    TimeZone = "aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                    WinRM = new AzureNative.Compute.Inputs.WinRMConfigurationArgs
                    {
                        Listeners = new[]
                        {
                            new AzureNative.Compute.Inputs.WinRMListenerArgs
                            {
                                CertificateUrl = "aaaaaaaaaaaaaaaaaaaaaa",
                                Protocol = AzureNative.Compute.ProtocolTypes.Http,
                            },
                        },
                    },
                },
            },
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "aaaaaaaaaa",
                Product = "aaaaaaaaaaaaaaaaaaaa",
                PromotionCode = "aaaaaaaaaaaaaaaaaaaa",
                Publisher = "aaaaaaaaaaaaaaaaaaaaaa",
            },
            ProtectionPolicy = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProtectionPolicyArgs
            {
                ProtectFromScaleIn = true,
                ProtectFromScaleSetActions = true,
            },
            ResourceGroupName = "rgcompute",
            SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
            {
                EncryptionAtHost = true,
                SecurityType = AzureNative.Compute.SecurityTypes.TrustedLaunch,
                UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
                {
                    SecureBootEnabled = true,
                    VTpmEnabled = true,
                },
            },
            StorageProfile = new AzureNative.Compute.Inputs.StorageProfileArgs
            {
                DataDisks = new[]
                {
                    new AzureNative.Compute.Inputs.DataDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.None,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                        DeleteOption = AzureNative.Compute.DiskDeleteOptionTypes.Delete,
                        DetachOption = AzureNative.Compute.DiskDetachOptionTypes.ForceDetach,
                        DiskSizeGB = 128,
                        Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                        {
                            Uri = "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                        },
                        Lun = 1,
                        ManagedDisk = new AzureNative.Compute.Inputs.ManagedDiskParametersArgs
                        {
                            DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                            {
                                Id = "aaaaaaaaaaaa",
                            },
                            Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                        Name = "vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                        ToBeDetached = true,
                        Vhd = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                        {
                            Uri = "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                        },
                        WriteAcceleratorEnabled = true,
                    },
                },
                ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                {
                    Id = "a",
                    Offer = "WindowsServer",
                    Publisher = "MicrosoftWindowsServer",
                    SharedGalleryImageId = "aaaaaaaaaaaaaaaaaaaa",
                    Sku = "2012-R2-Datacenter",
                    Version = "4.127.20180315",
                },
                OsDisk = new AzureNative.Compute.Inputs.OSDiskArgs
                {
                    Caching = AzureNative.Compute.CachingTypes.None,
                    CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                    DeleteOption = AzureNative.Compute.DiskDeleteOptionTypes.Delete,
                    DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                    {
                        Option = AzureNative.Compute.DiffDiskOptions.Local,
                        Placement = AzureNative.Compute.DiffDiskPlacement.CacheDisk,
                    },
                    DiskSizeGB = 127,
                    EncryptionSettings = new AzureNative.Compute.Inputs.DiskEncryptionSettingsArgs
                    {
                        DiskEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultSecretReferenceArgs
                        {
                            SecretUrl = "aaaaaaaa",
                            SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                            {
                                Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                            },
                        },
                        Enabled = true,
                        KeyEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultKeyReferenceArgs
                        {
                            KeyUrl = "aaaaaaaaaaaaaa",
                            SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                            {
                                Id = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                            },
                        },
                    },
                    Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                    {
                        Uri = "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                    },
                    ManagedDisk = new AzureNative.Compute.Inputs.ManagedDiskParametersArgs
                    {
                        DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                        {
                            Id = "aaaaaaaaaaaa",
                        },
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                        StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                    },
                    Name = "vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                    OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
                    Vhd = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                    {
                        Uri = "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                    },
                    WriteAcceleratorEnabled = true,
                },
            },
            Tags = null,
            UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
            VmScaleSetName = "aaaaaaaaaaaaaa",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSetVM(ctx, "virtualMachineScaleSetVM", &compute.VirtualMachineScaleSetVMArgs{
    			AdditionalCapabilities: &compute.AdditionalCapabilitiesArgs{
    				HibernationEnabled: pulumi.Bool(true),
    				UltraSSDEnabled:    pulumi.Bool(true),
    			},
    			AvailabilitySet: &compute.SubResourceArgs{
    				Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    			},
    			DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    				BootDiagnostics: &compute.BootDiagnosticsArgs{
    					Enabled:    pulumi.Bool(true),
    					StorageUri: pulumi.String("aaaaaaaaaaaaa"),
    				},
    			},
    			HardwareProfile: &compute.HardwareProfileArgs{
    				VmSize: pulumi.String(compute.VirtualMachineSizeTypes_Basic_A0),
    				VmSizeProperties: &compute.VMSizePropertiesArgs{
    					VCPUsAvailable: pulumi.Int(9),
    					VCPUsPerCore:   pulumi.Int(12),
    				},
    			},
    			InstanceId:  pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
    			LicenseType: pulumi.String("aaaaaaaaaa"),
    			Location:    pulumi.String("westus"),
    			NetworkProfile: &compute.NetworkProfileArgs{
    				NetworkApiVersion: pulumi.String(compute.NetworkApiVersion_2020_11_01),
    				NetworkInterfaceConfigurations: compute.VirtualMachineNetworkInterfaceConfigurationArray{
    					&compute.VirtualMachineNetworkInterfaceConfigurationArgs{
    						DeleteOption: pulumi.String(compute.DeleteOptionsDelete),
    						DnsSettings: &compute.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs{
    							DnsServers: pulumi.StringArray{
    								pulumi.String("aaaaaa"),
    							},
    						},
    						DscpConfiguration: &compute.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    						},
    						EnableAcceleratedNetworking: pulumi.Bool(true),
    						EnableFpga:                  pulumi.Bool(true),
    						EnableIPForwarding:          pulumi.Bool(true),
    						IpConfigurations: compute.VirtualMachineNetworkInterfaceIPConfigurationArray{
    							&compute.VirtualMachineNetworkInterfaceIPConfigurationArgs{
    								ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								ApplicationSecurityGroups: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								LoadBalancerBackendAddressPools: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								Name:                    pulumi.String("aa"),
    								Primary:                 pulumi.Bool(true),
    								PrivateIPAddressVersion: pulumi.String(compute.IPVersionsIPv4),
    								PublicIPAddressConfiguration: &compute.VirtualMachinePublicIPAddressConfigurationArgs{
    									DeleteOption: pulumi.String(compute.DeleteOptionsDelete),
    									DnsSettings: &compute.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs{
    										DomainNameLabel: pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaa"),
    									},
    									IdleTimeoutInMinutes: pulumi.Int(2),
    									IpTags: compute.VirtualMachineIpTagArray{
    										&compute.VirtualMachineIpTagArgs{
    											IpTagType: pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaa"),
    											Tag:       pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    										},
    									},
    									Name:                     pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
    									PublicIPAddressVersion:   pulumi.String(compute.IPVersionsIPv4),
    									PublicIPAllocationMethod: pulumi.String(compute.PublicIPAllocationMethodDynamic),
    									PublicIPPrefix: &compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    									Sku: &compute.PublicIPAddressSkuArgs{
    										Name: pulumi.String(compute.PublicIPAddressSkuNameBasic),
    										Tier: pulumi.String(compute.PublicIPAddressSkuTierRegional),
    									},
    								},
    								Subnet: &compute.SubResourceArgs{
    									Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    								},
    							},
    						},
    						Name: pulumi.String("aaaaaaaaaaa"),
    						NetworkSecurityGroup: &compute.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    						},
    						Primary: pulumi.Bool(true),
    					},
    				},
    				NetworkInterfaces: compute.NetworkInterfaceReferenceArray{
    					&compute.NetworkInterfaceReferenceArgs{
    						DeleteOption: pulumi.String(compute.DeleteOptionsDelete),
    						Id:           pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415"),
    						Primary:      pulumi.Bool(true),
    					},
    				},
    			},
    			NetworkProfileConfiguration: &compute.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs{
    				NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    					&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    						DeleteOption: pulumi.String(compute.DeleteOptionsDelete),
    						DnsSettings: &compute.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs{
    							DnsServers: pulumi.StringArray{},
    						},
    						EnableAcceleratedNetworking: pulumi.Bool(true),
    						EnableFpga:                  pulumi.Bool(true),
    						EnableIPForwarding:          pulumi.Bool(true),
    						IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    							&compute.VirtualMachineScaleSetIPConfigurationArgs{
    								ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								ApplicationSecurityGroups: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								LoadBalancerBackendAddressPools: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								LoadBalancerInboundNatPools: compute.SubResourceArray{
    									&compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    								},
    								Name:                    pulumi.String("vmsstestnetconfig9693"),
    								Primary:                 pulumi.Bool(true),
    								PrivateIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    								PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    									DeleteOption: pulumi.String(compute.DeleteOptionsDelete),
    									DnsSettings: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs{
    										DomainNameLabel: pulumi.String("aaaaaaaaaaaaaaaaaa"),
    									},
    									IdleTimeoutInMinutes: pulumi.Int(18),
    									IpTags: compute.VirtualMachineScaleSetIpTagArray{
    										&compute.VirtualMachineScaleSetIpTagArgs{
    											IpTagType: pulumi.String("aaaaaaa"),
    											Tag:       pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaaaa"),
    										},
    									},
    									Name:                   pulumi.String("aaaaaaaaaaaaaaaaaa"),
    									PublicIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    									PublicIPPrefix: &compute.SubResourceArgs{
    										Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    									},
    									Sku: &compute.PublicIPAddressSkuArgs{
    										Name: pulumi.String(compute.PublicIPAddressSkuNameBasic),
    										Tier: pulumi.String(compute.PublicIPAddressSkuTierRegional),
    									},
    								},
    								Subnet: &compute.ApiEntityReferenceArgs{
    									Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503"),
    								},
    							},
    						},
    						Name: pulumi.String("vmsstestnetconfig5415"),
    						NetworkSecurityGroup: &compute.SubResourceArgs{
    							Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    						},
    						Primary: pulumi.Bool(true),
    					},
    				},
    			},
    			OsProfile: &compute.OSProfileArgs{
    				AdminPassword:            pulumi.String("aaaaaaaaaaaaaaaa"),
    				AdminUsername:            pulumi.String("Foo12"),
    				AllowExtensionOperations: pulumi.Bool(true),
    				ComputerName:             pulumi.String("test000000"),
    				CustomData:               pulumi.String("aaaa"),
    				LinuxConfiguration: &compute.LinuxConfigurationArgs{
    					DisablePasswordAuthentication: pulumi.Bool(true),
    					PatchSettings: &compute.LinuxPatchSettingsArgs{
    						AssessmentMode: pulumi.String(compute.LinuxPatchAssessmentModeImageDefault),
    						PatchMode:      pulumi.String(compute.LinuxVMGuestPatchModeImageDefault),
    					},
    					ProvisionVMAgent: pulumi.Bool(true),
    					Ssh: &compute.SshConfigurationArgs{
    						PublicKeys: compute.SshPublicKeyTypeArray{
    							&compute.SshPublicKeyTypeArgs{
    								KeyData: pulumi.String("aaaaaa"),
    								Path:    pulumi.String("aaa"),
    							},
    						},
    					},
    				},
    				RequireGuestProvisionSignal: pulumi.Bool(true),
    				Secrets:                     compute.VaultSecretGroupArray{},
    				WindowsConfiguration: &compute.WindowsConfigurationArgs{
    					AdditionalUnattendContent: compute.AdditionalUnattendContentArray{
    						&compute.AdditionalUnattendContentArgs{
    							ComponentName: compute.ComponentNames_Microsoft_Windows_Shell_Setup,
    							Content:       pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    							PassName:      compute.PassNamesOobeSystem,
    							SettingName:   compute.SettingNamesAutoLogon,
    						},
    					},
    					EnableAutomaticUpdates: pulumi.Bool(true),
    					PatchSettings: &compute.PatchSettingsArgs{
    						AssessmentMode:    pulumi.String(compute.WindowsPatchAssessmentModeImageDefault),
    						EnableHotpatching: pulumi.Bool(true),
    						PatchMode:         pulumi.String(compute.WindowsVMGuestPatchModeManual),
    					},
    					ProvisionVMAgent: pulumi.Bool(true),
    					TimeZone:         pulumi.String("aaaaaaaaaaaaaaaaaaaaaaaaaaa"),
    					WinRM: &compute.WinRMConfigurationArgs{
    						Listeners: compute.WinRMListenerArray{
    							&compute.WinRMListenerArgs{
    								CertificateUrl: pulumi.String("aaaaaaaaaaaaaaaaaaaaaa"),
    								Protocol:       compute.ProtocolTypesHttp,
    							},
    						},
    					},
    				},
    			},
    			Plan: &compute.PlanArgs{
    				Name:          pulumi.String("aaaaaaaaaa"),
    				Product:       pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    				PromotionCode: pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    				Publisher:     pulumi.String("aaaaaaaaaaaaaaaaaaaaaa"),
    			},
    			ProtectionPolicy: &compute.VirtualMachineScaleSetVMProtectionPolicyArgs{
    				ProtectFromScaleIn:         pulumi.Bool(true),
    				ProtectFromScaleSetActions: pulumi.Bool(true),
    			},
    			ResourceGroupName: pulumi.String("rgcompute"),
    			SecurityProfile: &compute.SecurityProfileArgs{
    				EncryptionAtHost: pulumi.Bool(true),
    				SecurityType:     pulumi.String(compute.SecurityTypesTrustedLaunch),
    				UefiSettings: &compute.UefiSettingsArgs{
    					SecureBootEnabled: pulumi.Bool(true),
    					VTpmEnabled:       pulumi.Bool(true),
    				},
    			},
    			StorageProfile: &compute.StorageProfileArgs{
    				DataDisks: compute.DataDiskArray{
    					&compute.DataDiskArgs{
    						Caching:      compute.CachingTypesNone,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    						DeleteOption: pulumi.String(compute.DiskDeleteOptionTypesDelete),
    						DetachOption: pulumi.String(compute.DiskDetachOptionTypesForceDetach),
    						DiskSizeGB:   pulumi.Int(128),
    						Image: &compute.VirtualHardDiskArgs{
    							Uri: pulumi.String("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"),
    						},
    						Lun: pulumi.Int(1),
    						ManagedDisk: &compute.ManagedDiskParametersArgs{
    							DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    								Id: pulumi.String("aaaaaaaaaaaa"),
    							},
    							Id:                 pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d"),
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    						Name:         pulumi.String("vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d"),
    						ToBeDetached: pulumi.Bool(true),
    						Vhd: &compute.VirtualHardDiskArgs{
    							Uri: pulumi.String("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"),
    						},
    						WriteAcceleratorEnabled: pulumi.Bool(true),
    					},
    				},
    				ImageReference: &compute.ImageReferenceArgs{
    					Id:                   pulumi.String("a"),
    					Offer:                pulumi.String("WindowsServer"),
    					Publisher:            pulumi.String("MicrosoftWindowsServer"),
    					SharedGalleryImageId: pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    					Sku:                  pulumi.String("2012-R2-Datacenter"),
    					Version:              pulumi.String("4.127.20180315"),
    				},
    				OsDisk: &compute.OSDiskArgs{
    					Caching:      compute.CachingTypesNone,
    					CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    					DeleteOption: pulumi.String(compute.DiskDeleteOptionTypesDelete),
    					DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    						Option:    pulumi.String(compute.DiffDiskOptionsLocal),
    						Placement: pulumi.String(compute.DiffDiskPlacementCacheDisk),
    					},
    					DiskSizeGB: pulumi.Int(127),
    					EncryptionSettings: &compute.DiskEncryptionSettingsArgs{
    						DiskEncryptionKey: &compute.KeyVaultSecretReferenceArgs{
    							SecretUrl: pulumi.String("aaaaaaaa"),
    							SourceVault: &compute.SubResourceArgs{
    								Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    							},
    						},
    						Enabled: pulumi.Bool(true),
    						KeyEncryptionKey: &compute.KeyVaultKeyReferenceArgs{
    							KeyUrl: pulumi.String("aaaaaaaaaaaaaa"),
    							SourceVault: &compute.SubResourceArgs{
    								Id: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"),
    							},
    						},
    					},
    					Image: &compute.VirtualHardDiskArgs{
    						Uri: pulumi.String("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"),
    					},
    					ManagedDisk: &compute.ManagedDiskParametersArgs{
    						DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    							Id: pulumi.String("aaaaaaaaaaaa"),
    						},
    						Id:                 pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc"),
    						StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    					},
    					Name:   pulumi.String("vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc"),
    					OsType: compute.OperatingSystemTypesWindows,
    					Vhd: &compute.VirtualHardDiskArgs{
    						Uri: pulumi.String("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"),
    					},
    					WriteAcceleratorEnabled: pulumi.Bool(true),
    				},
    			},
    			Tags:           nil,
    			UserData:       pulumi.String("RXhhbXBsZSBVc2VyRGF0YQ=="),
    			VmScaleSetName: pulumi.String("aaaaaaaaaaaaaa"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetVM;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetVMArgs;
    import com.pulumi.azurenative.compute.inputs.AdditionalCapabilitiesArgs;
    import com.pulumi.azurenative.compute.inputs.SubResourceArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.HardwareProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs;
    import com.pulumi.azurenative.compute.inputs.NetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.OSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.LinuxConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.LinuxPatchSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.SshConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.WindowsConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.PatchSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.WinRMConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProtectionPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.UefiSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.StorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.OSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.DiskEncryptionSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.KeyVaultSecretReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.KeyVaultKeyReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualHardDiskArgs;
    import com.pulumi.azurenative.compute.inputs.ManagedDiskParametersArgs;
    import com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs;
    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 virtualMachineScaleSetVM = new VirtualMachineScaleSetVM("virtualMachineScaleSetVM", VirtualMachineScaleSetVMArgs.builder()
                .additionalCapabilities(AdditionalCapabilitiesArgs.builder()
                    .hibernationEnabled(true)
                    .ultraSSDEnabled(true)
                    .build())
                .availabilitySet(SubResourceArgs.builder()
                    .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                    .build())
                .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                    .bootDiagnostics(BootDiagnosticsArgs.builder()
                        .enabled(true)
                        .storageUri("aaaaaaaaaaaaa")
                        .build())
                    .build())
                .hardwareProfile(HardwareProfileArgs.builder()
                    .vmSize("Basic_A0")
                    .vmSizeProperties(VMSizePropertiesArgs.builder()
                        .vCPUsAvailable(9)
                        .vCPUsPerCore(12)
                        .build())
                    .build())
                .instanceId("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
                .licenseType("aaaaaaaaaa")
                .location("westus")
                .networkProfile(NetworkProfileArgs.builder()
                    .networkApiVersion("2020-11-01")
                    .networkInterfaceConfigurations(VirtualMachineNetworkInterfaceConfigurationArgs.builder()
                        .deleteOption("Delete")
                        .dnsSettings(VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.builder()
                            .dnsServers("aaaaaa")
                            .build())
                        .dscpConfiguration(SubResourceArgs.builder()
                            .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                            .build())
                        .enableAcceleratedNetworking(true)
                        .enableFpga(true)
                        .enableIPForwarding(true)
                        .ipConfigurations(VirtualMachineNetworkInterfaceIPConfigurationArgs.builder()
                            .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .applicationSecurityGroups(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .loadBalancerBackendAddressPools(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .name("aa")
                            .primary(true)
                            .privateIPAddressVersion("IPv4")
                            .publicIPAddressConfiguration(VirtualMachinePublicIPAddressConfigurationArgs.builder()
                                .deleteOption("Delete")
                                .dnsSettings(VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.builder()
                                    .domainNameLabel("aaaaaaaaaaaaaaaaaaaaaaaaa")
                                    .build())
                                .idleTimeoutInMinutes(2)
                                .ipTags(VirtualMachineIpTagArgs.builder()
                                    .ipTagType("aaaaaaaaaaaaaaaaaaaaaaaaa")
                                    .tag("aaaaaaaaaaaaaaaaaaaa")
                                    .build())
                                .name("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
                                .publicIPAddressVersion("IPv4")
                                .publicIPAllocationMethod("Dynamic")
                                .publicIPPrefix(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                    .build())
                                .sku(PublicIPAddressSkuArgs.builder()
                                    .name("Basic")
                                    .tier("Regional")
                                    .build())
                                .build())
                            .subnet(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .build())
                        .name("aaaaaaaaaaa")
                        .networkSecurityGroup(SubResourceArgs.builder()
                            .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                            .build())
                        .primary(true)
                        .build())
                    .networkInterfaces(NetworkInterfaceReferenceArgs.builder()
                        .deleteOption("Delete")
                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415")
                        .primary(true)
                        .build())
                    .build())
                .networkProfileConfiguration(VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.builder()
                    .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                        .deleteOption("Delete")
                        .dnsSettings(VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.builder()
                            .dnsServers()
                            .build())
                        .enableAcceleratedNetworking(true)
                        .enableFpga(true)
                        .enableIPForwarding(true)
                        .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                            .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .applicationSecurityGroups(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .loadBalancerBackendAddressPools(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .loadBalancerInboundNatPools(SubResourceArgs.builder()
                                .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                .build())
                            .name("vmsstestnetconfig9693")
                            .primary(true)
                            .privateIPAddressVersion("IPv4")
                            .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                                .deleteOption("Delete")
                                .dnsSettings(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.builder()
                                    .domainNameLabel("aaaaaaaaaaaaaaaaaa")
                                    .build())
                                .idleTimeoutInMinutes(18)
                                .ipTags(VirtualMachineScaleSetIpTagArgs.builder()
                                    .ipTagType("aaaaaaa")
                                    .tag("aaaaaaaaaaaaaaaaaaaaaaaaaaa")
                                    .build())
                                .name("aaaaaaaaaaaaaaaaaa")
                                .publicIPAddressVersion("IPv4")
                                .publicIPPrefix(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                    .build())
                                .sku(PublicIPAddressSkuArgs.builder()
                                    .name("Basic")
                                    .tier("Regional")
                                    .build())
                                .build())
                            .subnet(ApiEntityReferenceArgs.builder()
                                .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503")
                                .build())
                            .build())
                        .name("vmsstestnetconfig5415")
                        .networkSecurityGroup(SubResourceArgs.builder()
                            .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                            .build())
                        .primary(true)
                        .build())
                    .build())
                .osProfile(OSProfileArgs.builder()
                    .adminPassword("aaaaaaaaaaaaaaaa")
                    .adminUsername("Foo12")
                    .allowExtensionOperations(true)
                    .computerName("test000000")
                    .customData("aaaa")
                    .linuxConfiguration(LinuxConfigurationArgs.builder()
                        .disablePasswordAuthentication(true)
                        .patchSettings(LinuxPatchSettingsArgs.builder()
                            .assessmentMode("ImageDefault")
                            .patchMode("ImageDefault")
                            .build())
                        .provisionVMAgent(true)
                        .ssh(SshConfigurationArgs.builder()
                            .publicKeys(SshPublicKeyArgs.builder()
                                .keyData("aaaaaa")
                                .path("aaa")
                                .build())
                            .build())
                        .build())
                    .requireGuestProvisionSignal(true)
                    .secrets()
                    .windowsConfiguration(WindowsConfigurationArgs.builder()
                        .additionalUnattendContent(AdditionalUnattendContentArgs.builder()
                            .componentName("Microsoft-Windows-Shell-Setup")
                            .content("aaaaaaaaaaaaaaaaaaaa")
                            .passName("OobeSystem")
                            .settingName("AutoLogon")
                            .build())
                        .enableAutomaticUpdates(true)
                        .patchSettings(PatchSettingsArgs.builder()
                            .assessmentMode("ImageDefault")
                            .enableHotpatching(true)
                            .patchMode("Manual")
                            .build())
                        .provisionVMAgent(true)
                        .timeZone("aaaaaaaaaaaaaaaaaaaaaaaaaaa")
                        .winRM(WinRMConfigurationArgs.builder()
                            .listeners(WinRMListenerArgs.builder()
                                .certificateUrl("aaaaaaaaaaaaaaaaaaaaaa")
                                .protocol("Http")
                                .build())
                            .build())
                        .build())
                    .build())
                .plan(PlanArgs.builder()
                    .name("aaaaaaaaaa")
                    .product("aaaaaaaaaaaaaaaaaaaa")
                    .promotionCode("aaaaaaaaaaaaaaaaaaaa")
                    .publisher("aaaaaaaaaaaaaaaaaaaaaa")
                    .build())
                .protectionPolicy(VirtualMachineScaleSetVMProtectionPolicyArgs.builder()
                    .protectFromScaleIn(true)
                    .protectFromScaleSetActions(true)
                    .build())
                .resourceGroupName("rgcompute")
                .securityProfile(SecurityProfileArgs.builder()
                    .encryptionAtHost(true)
                    .securityType("TrustedLaunch")
                    .uefiSettings(UefiSettingsArgs.builder()
                        .secureBootEnabled(true)
                        .vTpmEnabled(true)
                        .build())
                    .build())
                .storageProfile(StorageProfileArgs.builder()
                    .dataDisks(DataDiskArgs.builder()
                        .caching("None")
                        .createOption("Empty")
                        .deleteOption("Delete")
                        .detachOption("ForceDetach")
                        .diskSizeGB(128)
                        .image(VirtualHardDiskArgs.builder()
                            .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
                            .build())
                        .lun(1)
                        .managedDisk(ManagedDiskParametersArgs.builder()
                            .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                                .id("aaaaaaaaaaaa")
                                .build())
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d")
                            .storageAccountType("Standard_LRS")
                            .build())
                        .name("vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d")
                        .toBeDetached(true)
                        .vhd(VirtualHardDiskArgs.builder()
                            .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
                            .build())
                        .writeAcceleratorEnabled(true)
                        .build())
                    .imageReference(ImageReferenceArgs.builder()
                        .id("a")
                        .offer("WindowsServer")
                        .publisher("MicrosoftWindowsServer")
                        .sharedGalleryImageId("aaaaaaaaaaaaaaaaaaaa")
                        .sku("2012-R2-Datacenter")
                        .version("4.127.20180315")
                        .build())
                    .osDisk(OSDiskArgs.builder()
                        .caching("None")
                        .createOption("FromImage")
                        .deleteOption("Delete")
                        .diffDiskSettings(DiffDiskSettingsArgs.builder()
                            .option("Local")
                            .placement("CacheDisk")
                            .build())
                        .diskSizeGB(127)
                        .encryptionSettings(DiskEncryptionSettingsArgs.builder()
                            .diskEncryptionKey(KeyVaultSecretReferenceArgs.builder()
                                .secretUrl("aaaaaaaa")
                                .sourceVault(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                    .build())
                                .build())
                            .enabled(true)
                            .keyEncryptionKey(KeyVaultKeyReferenceArgs.builder()
                                .keyUrl("aaaaaaaaaaaaaa")
                                .sourceVault(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}")
                                    .build())
                                .build())
                            .build())
                        .image(VirtualHardDiskArgs.builder()
                            .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
                            .build())
                        .managedDisk(ManagedDiskParametersArgs.builder()
                            .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                                .id("aaaaaaaaaaaa")
                                .build())
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc")
                            .storageAccountType("Standard_LRS")
                            .build())
                        .name("vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc")
                        .osType("Windows")
                        .vhd(VirtualHardDiskArgs.builder()
                            .uri("https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd")
                            .build())
                        .writeAcceleratorEnabled(true)
                        .build())
                    .build())
                .tags()
                .userData("RXhhbXBsZSBVc2VyRGF0YQ==")
                .vmScaleSetName("aaaaaaaaaaaaaa")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set_vm = azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM",
        additional_capabilities=azure_native.compute.AdditionalCapabilitiesArgs(
            hibernation_enabled=True,
            ultra_ssd_enabled=True,
        ),
        availability_set=azure_native.compute.SubResourceArgs(
            id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
        ),
        diagnostics_profile=azure_native.compute.DiagnosticsProfileArgs(
            boot_diagnostics=azure_native.compute.BootDiagnosticsArgs(
                enabled=True,
                storage_uri="aaaaaaaaaaaaa",
            ),
        ),
        hardware_profile=azure_native.compute.HardwareProfileArgs(
            vm_size=azure_native.compute.VirtualMachineSizeTypes.BASIC_A0,
            vm_size_properties=azure_native.compute.VMSizePropertiesArgs(
                v_cpus_available=9,
                v_cpus_per_core=12,
            ),
        ),
        instance_id="aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        license_type="aaaaaaaaaa",
        location="westus",
        network_profile=azure_native.compute.NetworkProfileArgs(
            network_api_version=azure_native.compute.NetworkApiVersion.NETWORK_API_VERSION_2020_11_01,
            network_interface_configurations=[azure_native.compute.VirtualMachineNetworkInterfaceConfigurationArgs(
                delete_option=azure_native.compute.DeleteOptions.DELETE,
                dns_settings=azure_native.compute.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs(
                    dns_servers=["aaaaaa"],
                ),
                dscp_configuration=azure_native.compute.SubResourceArgs(
                    id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                ),
                enable_accelerated_networking=True,
                enable_fpga=True,
                enable_ip_forwarding=True,
                ip_configurations=[azure_native.compute.VirtualMachineNetworkInterfaceIPConfigurationArgs(
                    application_gateway_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    application_security_groups=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    load_balancer_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    name="aa",
                    primary=True,
                    private_ip_address_version=azure_native.compute.IPVersions.I_PV4,
                    public_ip_address_configuration=azure_native.compute.VirtualMachinePublicIPAddressConfigurationArgs(
                        delete_option=azure_native.compute.DeleteOptions.DELETE,
                        dns_settings=azure_native.compute.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs(
                            domain_name_label="aaaaaaaaaaaaaaaaaaaaaaaaa",
                        ),
                        idle_timeout_in_minutes=2,
                        ip_tags=[azure_native.compute.VirtualMachineIpTagArgs(
                            ip_tag_type="aaaaaaaaaaaaaaaaaaaaaaaaa",
                            tag="aaaaaaaaaaaaaaaaaaaa",
                        )],
                        name="aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                        public_ip_address_version=azure_native.compute.IPVersions.I_PV4,
                        public_ip_allocation_method=azure_native.compute.PublicIPAllocationMethod.DYNAMIC,
                        public_ip_prefix=azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        ),
                        sku=azure_native.compute.PublicIPAddressSkuArgs(
                            name=azure_native.compute.PublicIPAddressSkuName.BASIC,
                            tier=azure_native.compute.PublicIPAddressSkuTier.REGIONAL,
                        ),
                    ),
                    subnet=azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    ),
                )],
                name="aaaaaaaaaaa",
                network_security_group=azure_native.compute.SubResourceArgs(
                    id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                ),
                primary=True,
            )],
            network_interfaces=[azure_native.compute.NetworkInterfaceReferenceArgs(
                delete_option=azure_native.compute.DeleteOptions.DELETE,
                id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415",
                primary=True,
            )],
        ),
        network_profile_configuration=azure_native.compute.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs(
            network_interface_configurations=[azure_native.compute.VirtualMachineScaleSetNetworkConfigurationArgs(
                delete_option=azure_native.compute.DeleteOptions.DELETE,
                dns_settings=azure_native.compute.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs(
                    dns_servers=[],
                ),
                enable_accelerated_networking=True,
                enable_fpga=True,
                enable_ip_forwarding=True,
                ip_configurations=[azure_native.compute.VirtualMachineScaleSetIPConfigurationArgs(
                    application_gateway_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    application_security_groups=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    load_balancer_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    load_balancer_inbound_nat_pools=[azure_native.compute.SubResourceArgs(
                        id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    )],
                    name="vmsstestnetconfig9693",
                    primary=True,
                    private_ip_address_version=azure_native.compute.IPVersion.I_PV4,
                    public_ip_address_configuration=azure_native.compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs(
                        delete_option=azure_native.compute.DeleteOptions.DELETE,
                        dns_settings=azure_native.compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs(
                            domain_name_label="aaaaaaaaaaaaaaaaaa",
                        ),
                        idle_timeout_in_minutes=18,
                        ip_tags=[azure_native.compute.VirtualMachineScaleSetIpTagArgs(
                            ip_tag_type="aaaaaaa",
                            tag="aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                        )],
                        name="aaaaaaaaaaaaaaaaaa",
                        public_ip_address_version=azure_native.compute.IPVersion.I_PV4,
                        public_ip_prefix=azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        ),
                        sku=azure_native.compute.PublicIPAddressSkuArgs(
                            name=azure_native.compute.PublicIPAddressSkuName.BASIC,
                            tier=azure_native.compute.PublicIPAddressSkuTier.REGIONAL,
                        ),
                    ),
                    subnet=azure_native.compute.ApiEntityReferenceArgs(
                        id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503",
                    ),
                )],
                name="vmsstestnetconfig5415",
                network_security_group=azure_native.compute.SubResourceArgs(
                    id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                ),
                primary=True,
            )],
        ),
        os_profile=azure_native.compute.OSProfileArgs(
            admin_password="aaaaaaaaaaaaaaaa",
            admin_username="Foo12",
            allow_extension_operations=True,
            computer_name="test000000",
            custom_data="aaaa",
            linux_configuration=azure_native.compute.LinuxConfigurationArgs(
                disable_password_authentication=True,
                patch_settings=azure_native.compute.LinuxPatchSettingsArgs(
                    assessment_mode=azure_native.compute.LinuxPatchAssessmentMode.IMAGE_DEFAULT,
                    patch_mode=azure_native.compute.LinuxVMGuestPatchMode.IMAGE_DEFAULT,
                ),
                provision_vm_agent=True,
                ssh=azure_native.compute.SshConfigurationArgs(
                    public_keys=[azure_native.compute.SshPublicKeyArgs(
                        key_data="aaaaaa",
                        path="aaa",
                    )],
                ),
            ),
            require_guest_provision_signal=True,
            secrets=[],
            windows_configuration=azure_native.compute.WindowsConfigurationArgs(
                additional_unattend_content=[azure_native.compute.AdditionalUnattendContentArgs(
                    component_name=azure_native.compute.ComponentNames.MICROSOFT_WINDOWS_SHELL_SETUP,
                    content="aaaaaaaaaaaaaaaaaaaa",
                    pass_name=azure_native.compute.PassNames.OOBE_SYSTEM,
                    setting_name=azure_native.compute.SettingNames.AUTO_LOGON,
                )],
                enable_automatic_updates=True,
                patch_settings=azure_native.compute.PatchSettingsArgs(
                    assessment_mode=azure_native.compute.WindowsPatchAssessmentMode.IMAGE_DEFAULT,
                    enable_hotpatching=True,
                    patch_mode=azure_native.compute.WindowsVMGuestPatchMode.MANUAL,
                ),
                provision_vm_agent=True,
                time_zone="aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                win_rm=azure_native.compute.WinRMConfigurationArgs(
                    listeners=[azure_native.compute.WinRMListenerArgs(
                        certificate_url="aaaaaaaaaaaaaaaaaaaaaa",
                        protocol=azure_native.compute.ProtocolTypes.HTTP,
                    )],
                ),
            ),
        ),
        plan=azure_native.compute.PlanArgs(
            name="aaaaaaaaaa",
            product="aaaaaaaaaaaaaaaaaaaa",
            promotion_code="aaaaaaaaaaaaaaaaaaaa",
            publisher="aaaaaaaaaaaaaaaaaaaaaa",
        ),
        protection_policy=azure_native.compute.VirtualMachineScaleSetVMProtectionPolicyArgs(
            protect_from_scale_in=True,
            protect_from_scale_set_actions=True,
        ),
        resource_group_name="rgcompute",
        security_profile=azure_native.compute.SecurityProfileArgs(
            encryption_at_host=True,
            security_type=azure_native.compute.SecurityTypes.TRUSTED_LAUNCH,
            uefi_settings=azure_native.compute.UefiSettingsArgs(
                secure_boot_enabled=True,
                v_tpm_enabled=True,
            ),
        ),
        storage_profile=azure_native.compute.StorageProfileArgs(
            data_disks=[azure_native.compute.DataDiskArgs(
                caching=azure_native.compute.CachingTypes.NONE,
                create_option=azure_native.compute.DiskCreateOptionTypes.EMPTY,
                delete_option=azure_native.compute.DiskDeleteOptionTypes.DELETE,
                detach_option=azure_native.compute.DiskDetachOptionTypes.FORCE_DETACH,
                disk_size_gb=128,
                image=azure_native.compute.VirtualHardDiskArgs(
                    uri="https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                ),
                lun=1,
                managed_disk=azure_native.compute.ManagedDiskParametersArgs(
                    disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                        id="aaaaaaaaaaaa",
                    ),
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                    storage_account_type=azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                ),
                name="vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                to_be_detached=True,
                vhd=azure_native.compute.VirtualHardDiskArgs(
                    uri="https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                ),
                write_accelerator_enabled=True,
            )],
            image_reference=azure_native.compute.ImageReferenceArgs(
                id="a",
                offer="WindowsServer",
                publisher="MicrosoftWindowsServer",
                shared_gallery_image_id="aaaaaaaaaaaaaaaaaaaa",
                sku="2012-R2-Datacenter",
                version="4.127.20180315",
            ),
            os_disk=azure_native.compute.OSDiskArgs(
                caching=azure_native.compute.CachingTypes.NONE,
                create_option=azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                delete_option=azure_native.compute.DiskDeleteOptionTypes.DELETE,
                diff_disk_settings=azure_native.compute.DiffDiskSettingsArgs(
                    option=azure_native.compute.DiffDiskOptions.LOCAL,
                    placement=azure_native.compute.DiffDiskPlacement.CACHE_DISK,
                ),
                disk_size_gb=127,
                encryption_settings=azure_native.compute.DiskEncryptionSettingsArgs(
                    disk_encryption_key=azure_native.compute.KeyVaultSecretReferenceArgs(
                        secret_url="aaaaaaaa",
                        source_vault=azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        ),
                    ),
                    enabled=True,
                    key_encryption_key=azure_native.compute.KeyVaultKeyReferenceArgs(
                        key_url="aaaaaaaaaaaaaa",
                        source_vault=azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        ),
                    ),
                ),
                image=azure_native.compute.VirtualHardDiskArgs(
                    uri="https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                ),
                managed_disk=azure_native.compute.ManagedDiskParametersArgs(
                    disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                        id="aaaaaaaaaaaa",
                    ),
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                    storage_account_type=azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                ),
                name="vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
                vhd=azure_native.compute.VirtualHardDiskArgs(
                    uri="https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                ),
                write_accelerator_enabled=True,
            ),
        ),
        tags={},
        user_data="RXhhbXBsZSBVc2VyRGF0YQ==",
        vm_scale_set_name="aaaaaaaaaaaaaa")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSetVM = new azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM", {
        additionalCapabilities: {
            hibernationEnabled: true,
            ultraSSDEnabled: true,
        },
        availabilitySet: {
            id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
        },
        diagnosticsProfile: {
            bootDiagnostics: {
                enabled: true,
                storageUri: "aaaaaaaaaaaaa",
            },
        },
        hardwareProfile: {
            vmSize: azure_native.compute.VirtualMachineSizeTypes.Basic_A0,
            vmSizeProperties: {
                vCPUsAvailable: 9,
                vCPUsPerCore: 12,
            },
        },
        instanceId: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        licenseType: "aaaaaaaaaa",
        location: "westus",
        networkProfile: {
            networkApiVersion: azure_native.compute.NetworkApiVersion.NetworkApiVersion_2020_11_01,
            networkInterfaceConfigurations: [{
                deleteOption: azure_native.compute.DeleteOptions.Delete,
                dnsSettings: {
                    dnsServers: ["aaaaaa"],
                },
                dscpConfiguration: {
                    id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                },
                enableAcceleratedNetworking: true,
                enableFpga: true,
                enableIPForwarding: true,
                ipConfigurations: [{
                    applicationGatewayBackendAddressPools: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    applicationSecurityGroups: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    loadBalancerBackendAddressPools: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    name: "aa",
                    primary: true,
                    privateIPAddressVersion: azure_native.compute.IPVersions.IPv4,
                    publicIPAddressConfiguration: {
                        deleteOption: azure_native.compute.DeleteOptions.Delete,
                        dnsSettings: {
                            domainNameLabel: "aaaaaaaaaaaaaaaaaaaaaaaaa",
                        },
                        idleTimeoutInMinutes: 2,
                        ipTags: [{
                            ipTagType: "aaaaaaaaaaaaaaaaaaaaaaaaa",
                            tag: "aaaaaaaaaaaaaaaaaaaa",
                        }],
                        name: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                        publicIPAddressVersion: azure_native.compute.IPVersions.IPv4,
                        publicIPAllocationMethod: azure_native.compute.PublicIPAllocationMethod.Dynamic,
                        publicIPPrefix: {
                            id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                        sku: {
                            name: azure_native.compute.PublicIPAddressSkuName.Basic,
                            tier: azure_native.compute.PublicIPAddressSkuTier.Regional,
                        },
                    },
                    subnet: {
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    },
                }],
                name: "aaaaaaaaaaa",
                networkSecurityGroup: {
                    id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                },
                primary: true,
            }],
            networkInterfaces: [{
                deleteOption: azure_native.compute.DeleteOptions.Delete,
                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415",
                primary: true,
            }],
        },
        networkProfileConfiguration: {
            networkInterfaceConfigurations: [{
                deleteOption: azure_native.compute.DeleteOptions.Delete,
                dnsSettings: {
                    dnsServers: [],
                },
                enableAcceleratedNetworking: true,
                enableFpga: true,
                enableIPForwarding: true,
                ipConfigurations: [{
                    applicationGatewayBackendAddressPools: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    applicationSecurityGroups: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    loadBalancerBackendAddressPools: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    loadBalancerInboundNatPools: [{
                        id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                    }],
                    name: "vmsstestnetconfig9693",
                    primary: true,
                    privateIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                    publicIPAddressConfiguration: {
                        deleteOption: azure_native.compute.DeleteOptions.Delete,
                        dnsSettings: {
                            domainNameLabel: "aaaaaaaaaaaaaaaaaa",
                        },
                        idleTimeoutInMinutes: 18,
                        ipTags: [{
                            ipTagType: "aaaaaaa",
                            tag: "aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                        }],
                        name: "aaaaaaaaaaaaaaaaaa",
                        publicIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                        publicIPPrefix: {
                            id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                        sku: {
                            name: azure_native.compute.PublicIPAddressSkuName.Basic,
                            tier: azure_native.compute.PublicIPAddressSkuTier.Regional,
                        },
                    },
                    subnet: {
                        id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503",
                    },
                }],
                name: "vmsstestnetconfig5415",
                networkSecurityGroup: {
                    id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                },
                primary: true,
            }],
        },
        osProfile: {
            adminPassword: "aaaaaaaaaaaaaaaa",
            adminUsername: "Foo12",
            allowExtensionOperations: true,
            computerName: "test000000",
            customData: "aaaa",
            linuxConfiguration: {
                disablePasswordAuthentication: true,
                patchSettings: {
                    assessmentMode: azure_native.compute.LinuxPatchAssessmentMode.ImageDefault,
                    patchMode: azure_native.compute.LinuxVMGuestPatchMode.ImageDefault,
                },
                provisionVMAgent: true,
                ssh: {
                    publicKeys: [{
                        keyData: "aaaaaa",
                        path: "aaa",
                    }],
                },
            },
            requireGuestProvisionSignal: true,
            secrets: [],
            windowsConfiguration: {
                additionalUnattendContent: [{
                    componentName: azure_native.compute.ComponentNames.Microsoft_Windows_Shell_Setup,
                    content: "aaaaaaaaaaaaaaaaaaaa",
                    passName: azure_native.compute.PassNames.OobeSystem,
                    settingName: azure_native.compute.SettingNames.AutoLogon,
                }],
                enableAutomaticUpdates: true,
                patchSettings: {
                    assessmentMode: azure_native.compute.WindowsPatchAssessmentMode.ImageDefault,
                    enableHotpatching: true,
                    patchMode: azure_native.compute.WindowsVMGuestPatchMode.Manual,
                },
                provisionVMAgent: true,
                timeZone: "aaaaaaaaaaaaaaaaaaaaaaaaaaa",
                winRM: {
                    listeners: [{
                        certificateUrl: "aaaaaaaaaaaaaaaaaaaaaa",
                        protocol: azure_native.compute.ProtocolTypes.Http,
                    }],
                },
            },
        },
        plan: {
            name: "aaaaaaaaaa",
            product: "aaaaaaaaaaaaaaaaaaaa",
            promotionCode: "aaaaaaaaaaaaaaaaaaaa",
            publisher: "aaaaaaaaaaaaaaaaaaaaaa",
        },
        protectionPolicy: {
            protectFromScaleIn: true,
            protectFromScaleSetActions: true,
        },
        resourceGroupName: "rgcompute",
        securityProfile: {
            encryptionAtHost: true,
            securityType: azure_native.compute.SecurityTypes.TrustedLaunch,
            uefiSettings: {
                secureBootEnabled: true,
                vTpmEnabled: true,
            },
        },
        storageProfile: {
            dataDisks: [{
                caching: azure_native.compute.CachingTypes.None,
                createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                deleteOption: azure_native.compute.DiskDeleteOptionTypes.Delete,
                detachOption: azure_native.compute.DiskDetachOptionTypes.ForceDetach,
                diskSizeGB: 128,
                image: {
                    uri: "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                },
                lun: 1,
                managedDisk: {
                    diskEncryptionSet: {
                        id: "aaaaaaaaaaaa",
                    },
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                    storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                },
                name: "vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
                toBeDetached: true,
                vhd: {
                    uri: "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                },
                writeAcceleratorEnabled: true,
            }],
            imageReference: {
                id: "a",
                offer: "WindowsServer",
                publisher: "MicrosoftWindowsServer",
                sharedGalleryImageId: "aaaaaaaaaaaaaaaaaaaa",
                sku: "2012-R2-Datacenter",
                version: "4.127.20180315",
            },
            osDisk: {
                caching: azure_native.compute.CachingTypes.None,
                createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                deleteOption: azure_native.compute.DiskDeleteOptionTypes.Delete,
                diffDiskSettings: {
                    option: azure_native.compute.DiffDiskOptions.Local,
                    placement: azure_native.compute.DiffDiskPlacement.CacheDisk,
                },
                diskSizeGB: 127,
                encryptionSettings: {
                    diskEncryptionKey: {
                        secretUrl: "aaaaaaaa",
                        sourceVault: {
                            id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                    },
                    enabled: true,
                    keyEncryptionKey: {
                        keyUrl: "aaaaaaaaaaaaaa",
                        sourceVault: {
                            id: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
                        },
                    },
                },
                image: {
                    uri: "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                },
                managedDisk: {
                    diskEncryptionSet: {
                        id: "aaaaaaaaaaaa",
                    },
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                    storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                },
                name: "vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
                osType: azure_native.compute.OperatingSystemTypes.Windows,
                vhd: {
                    uri: "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd",
                },
                writeAcceleratorEnabled: true,
            },
        },
        tags: {},
        userData: "RXhhbXBsZSBVc2VyRGF0YQ==",
        vmScaleSetName: "aaaaaaaaaaaaaa",
    });
    
    resources:
      virtualMachineScaleSetVM:
        type: azure-native:compute:VirtualMachineScaleSetVM
        properties:
          additionalCapabilities:
            hibernationEnabled: true
            ultraSSDEnabled: true
          availabilitySet:
            id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
          diagnosticsProfile:
            bootDiagnostics:
              enabled: true
              storageUri: aaaaaaaaaaaaa
          hardwareProfile:
            vmSize: Basic_A0
            vmSizeProperties:
              vCPUsAvailable: 9
              vCPUsPerCore: 12
          instanceId: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
          licenseType: aaaaaaaaaa
          location: westus
          networkProfile:
            networkApiVersion: 2020-11-01
            networkInterfaceConfigurations:
              - deleteOption: Delete
                dnsSettings:
                  dnsServers:
                    - aaaaaa
                dscpConfiguration:
                  id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                enableAcceleratedNetworking: true
                enableFpga: true
                enableIPForwarding: true
                ipConfigurations:
                  - applicationGatewayBackendAddressPools:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    applicationSecurityGroups:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    loadBalancerBackendAddressPools:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    name: aa
                    primary: true
                    privateIPAddressVersion: IPv4
                    publicIPAddressConfiguration:
                      deleteOption: Delete
                      dnsSettings:
                        domainNameLabel: aaaaaaaaaaaaaaaaaaaaaaaaa
                      idleTimeoutInMinutes: 2
                      ipTags:
                        - ipTagType: aaaaaaaaaaaaaaaaaaaaaaaaa
                          tag: aaaaaaaaaaaaaaaaaaaa
                      name: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      publicIPAddressVersion: IPv4
                      publicIPAllocationMethod: Dynamic
                      publicIPPrefix:
                        id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                      sku:
                        name: Basic
                        tier: Regional
                    subnet:
                      id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                name: aaaaaaaaaaa
                networkSecurityGroup:
                  id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                primary: true
            networkInterfaces:
              - deleteOption: Delete
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415
                primary: true
          networkProfileConfiguration:
            networkInterfaceConfigurations:
              - deleteOption: Delete
                dnsSettings:
                  dnsServers: []
                enableAcceleratedNetworking: true
                enableFpga: true
                enableIPForwarding: true
                ipConfigurations:
                  - applicationGatewayBackendAddressPools:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    applicationSecurityGroups:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    loadBalancerBackendAddressPools:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    loadBalancerInboundNatPools:
                      - id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                    name: vmsstestnetconfig9693
                    primary: true
                    privateIPAddressVersion: IPv4
                    publicIPAddressConfiguration:
                      deleteOption: Delete
                      dnsSettings:
                        domainNameLabel: aaaaaaaaaaaaaaaaaa
                      idleTimeoutInMinutes: 18
                      ipTags:
                        - ipTagType: aaaaaaa
                          tag: aaaaaaaaaaaaaaaaaaaaaaaaaaa
                      name: aaaaaaaaaaaaaaaaaa
                      publicIPAddressVersion: IPv4
                      publicIPPrefix:
                        id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                      sku:
                        name: Basic
                        tier: Regional
                    subnet:
                      id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503
                name: vmsstestnetconfig5415
                networkSecurityGroup:
                  id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                primary: true
          osProfile:
            adminPassword: aaaaaaaaaaaaaaaa
            adminUsername: Foo12
            allowExtensionOperations: true
            computerName: test000000
            customData: aaaa
            linuxConfiguration:
              disablePasswordAuthentication: true
              patchSettings:
                assessmentMode: ImageDefault
                patchMode: ImageDefault
              provisionVMAgent: true
              ssh:
                publicKeys:
                  - keyData: aaaaaa
                    path: aaa
            requireGuestProvisionSignal: true
            secrets: []
            windowsConfiguration:
              additionalUnattendContent:
                - componentName: Microsoft-Windows-Shell-Setup
                  content: aaaaaaaaaaaaaaaaaaaa
                  passName: OobeSystem
                  settingName: AutoLogon
              enableAutomaticUpdates: true
              patchSettings:
                assessmentMode: ImageDefault
                enableHotpatching: true
                patchMode: Manual
              provisionVMAgent: true
              timeZone: aaaaaaaaaaaaaaaaaaaaaaaaaaa
              winRM:
                listeners:
                  - certificateUrl: aaaaaaaaaaaaaaaaaaaaaa
                    protocol: Http
          plan:
            name: aaaaaaaaaa
            product: aaaaaaaaaaaaaaaaaaaa
            promotionCode: aaaaaaaaaaaaaaaaaaaa
            publisher: aaaaaaaaaaaaaaaaaaaaaa
          protectionPolicy:
            protectFromScaleIn: true
            protectFromScaleSetActions: true
          resourceGroupName: rgcompute
          securityProfile:
            encryptionAtHost: true
            securityType: TrustedLaunch
            uefiSettings:
              secureBootEnabled: true
              vTpmEnabled: true
          storageProfile:
            dataDisks:
              - caching: None
                createOption: Empty
                deleteOption: Delete
                detachOption: ForceDetach
                diskSizeGB: 128
                image:
                  uri: https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd
                lun: 1
                managedDisk:
                  diskEncryptionSet:
                    id: aaaaaaaaaaaa
                  id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d
                  storageAccountType: Standard_LRS
                name: vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d
                toBeDetached: true
                vhd:
                  uri: https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd
                writeAcceleratorEnabled: true
            imageReference:
              id: a
              offer: WindowsServer
              publisher: MicrosoftWindowsServer
              sharedGalleryImageId: aaaaaaaaaaaaaaaaaaaa
              sku: 2012-R2-Datacenter
              version: 4.127.20180315
            osDisk:
              caching: None
              createOption: FromImage
              deleteOption: Delete
              diffDiskSettings:
                option: Local
                placement: CacheDisk
              diskSizeGB: 127
              encryptionSettings:
                diskEncryptionKey:
                  secretUrl: aaaaaaaa
                  sourceVault:
                    id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
                enabled: true
                keyEncryptionKey:
                  keyUrl: aaaaaaaaaaaaaa
                  sourceVault:
                    id: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}
              image:
                uri: https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd
              managedDisk:
                diskEncryptionSet:
                  id: aaaaaaaaaaaa
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc
                storageAccountType: Standard_LRS
              name: vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc
              osType: Windows
              vhd:
                uri: https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd
              writeAcceleratorEnabled: true
          tags: {}
          userData: RXhhbXBsZSBVc2VyRGF0YQ==
          vmScaleSetName: aaaaaaaaaaaaaa
    

    VirtualMachineScaleSetVM_Update_MinimumSet_Gen

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSetVM = new AzureNative.Compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM", new()
        {
            InstanceId = "aaaaaaaaaaaaaaaaaaaa",
            Location = "westus",
            ResourceGroupName = "rgcompute",
            VmScaleSetName = "aaaaaaaaaaaaaaaaaa",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSetVM(ctx, "virtualMachineScaleSetVM", &compute.VirtualMachineScaleSetVMArgs{
    			InstanceId:        pulumi.String("aaaaaaaaaaaaaaaaaaaa"),
    			Location:          pulumi.String("westus"),
    			ResourceGroupName: pulumi.String("rgcompute"),
    			VmScaleSetName:    pulumi.String("aaaaaaaaaaaaaaaaaa"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetVM;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetVMArgs;
    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 virtualMachineScaleSetVM = new VirtualMachineScaleSetVM("virtualMachineScaleSetVM", VirtualMachineScaleSetVMArgs.builder()
                .instanceId("aaaaaaaaaaaaaaaaaaaa")
                .location("westus")
                .resourceGroupName("rgcompute")
                .vmScaleSetName("aaaaaaaaaaaaaaaaaa")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set_vm = azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM",
        instance_id="aaaaaaaaaaaaaaaaaaaa",
        location="westus",
        resource_group_name="rgcompute",
        vm_scale_set_name="aaaaaaaaaaaaaaaaaa")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSetVM = new azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVM", {
        instanceId: "aaaaaaaaaaaaaaaaaaaa",
        location: "westus",
        resourceGroupName: "rgcompute",
        vmScaleSetName: "aaaaaaaaaaaaaaaaaa",
    });
    
    resources:
      virtualMachineScaleSetVM:
        type: azure-native:compute:VirtualMachineScaleSetVM
        properties:
          instanceId: aaaaaaaaaaaaaaaaaaaa
          location: westus
          resourceGroupName: rgcompute
          vmScaleSetName: aaaaaaaaaaaaaaaaaa
    

    Create VirtualMachineScaleSetVM Resource

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

    Constructor syntax

    new VirtualMachineScaleSetVM(name: string, args: VirtualMachineScaleSetVMArgs, opts?: CustomResourceOptions);
    @overload
    def VirtualMachineScaleSetVM(resource_name: str,
                                 args: VirtualMachineScaleSetVMArgs,
                                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def VirtualMachineScaleSetVM(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 resource_group_name: Optional[str] = None,
                                 vm_scale_set_name: Optional[str] = None,
                                 network_profile: Optional[NetworkProfileArgs] = None,
                                 plan: Optional[PlanArgs] = None,
                                 identity: Optional[VirtualMachineIdentityArgs] = None,
                                 instance_id: Optional[str] = None,
                                 license_type: Optional[str] = None,
                                 location: Optional[str] = None,
                                 additional_capabilities: Optional[AdditionalCapabilitiesArgs] = None,
                                 network_profile_configuration: Optional[VirtualMachineScaleSetVMNetworkProfileConfigurationArgs] = None,
                                 os_profile: Optional[OSProfileArgs] = None,
                                 hardware_profile: Optional[HardwareProfileArgs] = None,
                                 protection_policy: Optional[VirtualMachineScaleSetVMProtectionPolicyArgs] = None,
                                 diagnostics_profile: Optional[DiagnosticsProfileArgs] = None,
                                 security_profile: Optional[SecurityProfileArgs] = None,
                                 storage_profile: Optional[StorageProfileArgs] = None,
                                 tags: Optional[Mapping[str, str]] = None,
                                 user_data: Optional[str] = None,
                                 availability_set: Optional[SubResourceArgs] = None)
    func NewVirtualMachineScaleSetVM(ctx *Context, name string, args VirtualMachineScaleSetVMArgs, opts ...ResourceOption) (*VirtualMachineScaleSetVM, error)
    public VirtualMachineScaleSetVM(string name, VirtualMachineScaleSetVMArgs args, CustomResourceOptions? opts = null)
    public VirtualMachineScaleSetVM(String name, VirtualMachineScaleSetVMArgs args)
    public VirtualMachineScaleSetVM(String name, VirtualMachineScaleSetVMArgs args, CustomResourceOptions options)
    
    type: azure-native:compute:VirtualMachineScaleSetVM
    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 VirtualMachineScaleSetVMArgs
    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 VirtualMachineScaleSetVMArgs
    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 VirtualMachineScaleSetVMArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualMachineScaleSetVMArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VirtualMachineScaleSetVMArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var virtualMachineScaleSetVMResource = new AzureNative.Compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVMResource", new()
    {
        ResourceGroupName = "string",
        VmScaleSetName = "string",
        NetworkProfile = new AzureNative.Compute.Inputs.NetworkProfileArgs
        {
            NetworkApiVersion = "string",
            NetworkInterfaceConfigurations = new[]
            {
                new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceConfigurationArgs
                {
                    IpConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceIPConfigurationArgs
                        {
                            Name = "string",
                            ApplicationGatewayBackendAddressPools = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            ApplicationSecurityGroups = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            LoadBalancerBackendAddressPools = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            Primary = false,
                            PrivateIPAddressVersion = "string",
                            PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachinePublicIPAddressConfigurationArgs
                            {
                                Name = "string",
                                DeleteOption = "string",
                                DnsSettings = new AzureNative.Compute.Inputs.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs
                                {
                                    DomainNameLabel = "string",
                                },
                                IdleTimeoutInMinutes = 0,
                                IpTags = new[]
                                {
                                    new AzureNative.Compute.Inputs.VirtualMachineIpTagArgs
                                    {
                                        IpTagType = "string",
                                        Tag = "string",
                                    },
                                },
                                PublicIPAddressVersion = "string",
                                PublicIPAllocationMethod = "string",
                                PublicIPPrefix = new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                                Sku = new AzureNative.Compute.Inputs.PublicIPAddressSkuArgs
                                {
                                    Name = "string",
                                    Tier = "string",
                                },
                            },
                            Subnet = new AzureNative.Compute.Inputs.SubResourceArgs
                            {
                                Id = "string",
                            },
                        },
                    },
                    Name = "string",
                    DeleteOption = "string",
                    DisableTcpStateTracking = false,
                    DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs
                    {
                        DnsServers = new[]
                        {
                            "string",
                        },
                    },
                    DscpConfiguration = new AzureNative.Compute.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    EnableAcceleratedNetworking = false,
                    EnableFpga = false,
                    EnableIPForwarding = false,
                    NetworkSecurityGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    Primary = false,
                },
            },
            NetworkInterfaces = new[]
            {
                new AzureNative.Compute.Inputs.NetworkInterfaceReferenceArgs
                {
                    DeleteOption = "string",
                    Id = "string",
                    Primary = false,
                },
            },
        },
        Plan = new AzureNative.Compute.Inputs.PlanArgs
        {
            Name = "string",
            Product = "string",
            PromotionCode = "string",
            Publisher = "string",
        },
        Identity = new AzureNative.Compute.Inputs.VirtualMachineIdentityArgs
        {
            Type = AzureNative.Compute.ResourceIdentityType.SystemAssigned,
            UserAssignedIdentities = new[]
            {
                "string",
            },
        },
        InstanceId = "string",
        LicenseType = "string",
        Location = "string",
        AdditionalCapabilities = new AzureNative.Compute.Inputs.AdditionalCapabilitiesArgs
        {
            HibernationEnabled = false,
            UltraSSDEnabled = false,
        },
        NetworkProfileConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs
        {
            NetworkInterfaceConfigurations = new[]
            {
                new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                {
                    IpConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                        {
                            Name = "string",
                            ApplicationGatewayBackendAddressPools = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            ApplicationSecurityGroups = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            LoadBalancerBackendAddressPools = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            LoadBalancerInboundNatPools = new[]
                            {
                                new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                            },
                            Primary = false,
                            PrivateIPAddressVersion = "string",
                            PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                            {
                                Name = "string",
                                DeleteOption = "string",
                                DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs
                                {
                                    DomainNameLabel = "string",
                                },
                                IdleTimeoutInMinutes = 0,
                                IpTags = new[]
                                {
                                    new AzureNative.Compute.Inputs.VirtualMachineScaleSetIpTagArgs
                                    {
                                        IpTagType = "string",
                                        Tag = "string",
                                    },
                                },
                                PublicIPAddressVersion = "string",
                                PublicIPPrefix = new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "string",
                                },
                                Sku = new AzureNative.Compute.Inputs.PublicIPAddressSkuArgs
                                {
                                    Name = "string",
                                    Tier = "string",
                                },
                            },
                            Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                            {
                                Id = "string",
                            },
                        },
                    },
                    Name = "string",
                    DeleteOption = "string",
                    DisableTcpStateTracking = false,
                    DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs
                    {
                        DnsServers = new[]
                        {
                            "string",
                        },
                    },
                    EnableAcceleratedNetworking = false,
                    EnableFpga = false,
                    EnableIPForwarding = false,
                    NetworkSecurityGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    Primary = false,
                },
            },
        },
        OsProfile = new AzureNative.Compute.Inputs.OSProfileArgs
        {
            AdminPassword = "string",
            AdminUsername = "string",
            AllowExtensionOperations = false,
            ComputerName = "string",
            CustomData = "string",
            LinuxConfiguration = new AzureNative.Compute.Inputs.LinuxConfigurationArgs
            {
                DisablePasswordAuthentication = false,
                EnableVMAgentPlatformUpdates = false,
                PatchSettings = new AzureNative.Compute.Inputs.LinuxPatchSettingsArgs
                {
                    AssessmentMode = "string",
                    AutomaticByPlatformSettings = new AzureNative.Compute.Inputs.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs
                    {
                        BypassPlatformSafetyChecksOnUserSchedule = false,
                        RebootSetting = "string",
                    },
                    PatchMode = "string",
                },
                ProvisionVMAgent = false,
                Ssh = new AzureNative.Compute.Inputs.SshConfigurationArgs
                {
                    PublicKeys = new[]
                    {
                        new AzureNative.Compute.Inputs.SshPublicKeyArgs
                        {
                            KeyData = "string",
                            Path = "string",
                        },
                    },
                },
            },
            RequireGuestProvisionSignal = false,
            Secrets = new[]
            {
                new AzureNative.Compute.Inputs.VaultSecretGroupArgs
                {
                    SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                    {
                        Id = "string",
                    },
                    VaultCertificates = new[]
                    {
                        new AzureNative.Compute.Inputs.VaultCertificateArgs
                        {
                            CertificateStore = "string",
                            CertificateUrl = "string",
                        },
                    },
                },
            },
            WindowsConfiguration = new AzureNative.Compute.Inputs.WindowsConfigurationArgs
            {
                AdditionalUnattendContent = new[]
                {
                    new AzureNative.Compute.Inputs.AdditionalUnattendContentArgs
                    {
                        ComponentName = AzureNative.Compute.ComponentNames.Microsoft_Windows_Shell_Setup,
                        Content = "string",
                        PassName = AzureNative.Compute.PassNames.OobeSystem,
                        SettingName = AzureNative.Compute.SettingNames.AutoLogon,
                    },
                },
                EnableAutomaticUpdates = false,
                EnableVMAgentPlatformUpdates = false,
                PatchSettings = new AzureNative.Compute.Inputs.PatchSettingsArgs
                {
                    AssessmentMode = "string",
                    AutomaticByPlatformSettings = new AzureNative.Compute.Inputs.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs
                    {
                        BypassPlatformSafetyChecksOnUserSchedule = false,
                        RebootSetting = "string",
                    },
                    EnableHotpatching = false,
                    PatchMode = "string",
                },
                ProvisionVMAgent = false,
                TimeZone = "string",
                WinRM = new AzureNative.Compute.Inputs.WinRMConfigurationArgs
                {
                    Listeners = new[]
                    {
                        new AzureNative.Compute.Inputs.WinRMListenerArgs
                        {
                            CertificateUrl = "string",
                            Protocol = AzureNative.Compute.ProtocolTypes.Http,
                        },
                    },
                },
            },
        },
        HardwareProfile = new AzureNative.Compute.Inputs.HardwareProfileArgs
        {
            VmSize = "string",
            VmSizeProperties = new AzureNative.Compute.Inputs.VMSizePropertiesArgs
            {
                VCPUsAvailable = 0,
                VCPUsPerCore = 0,
            },
        },
        ProtectionPolicy = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProtectionPolicyArgs
        {
            ProtectFromScaleIn = false,
            ProtectFromScaleSetActions = false,
        },
        DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
        {
            BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
            {
                Enabled = false,
                StorageUri = "string",
            },
        },
        SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
        {
            EncryptionAtHost = false,
            SecurityType = "string",
            UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
            {
                SecureBootEnabled = false,
                VTpmEnabled = false,
            },
        },
        StorageProfile = new AzureNative.Compute.Inputs.StorageProfileArgs
        {
            DataDisks = new[]
            {
                new AzureNative.Compute.Inputs.DataDiskArgs
                {
                    CreateOption = "string",
                    Lun = 0,
                    Caching = AzureNative.Compute.CachingTypes.None,
                    DeleteOption = "string",
                    DetachOption = "string",
                    DiskSizeGB = 0,
                    Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                    {
                        Uri = "string",
                    },
                    ManagedDisk = new AzureNative.Compute.Inputs.ManagedDiskParametersArgs
                    {
                        DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                        {
                            Id = "string",
                        },
                        Id = "string",
                        SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                        {
                            DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                            {
                                Id = "string",
                            },
                            SecurityEncryptionType = "string",
                        },
                        StorageAccountType = "string",
                    },
                    Name = "string",
                    ToBeDetached = false,
                    Vhd = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                    {
                        Uri = "string",
                    },
                    WriteAcceleratorEnabled = false,
                },
            },
            DiskControllerType = "string",
            ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
            {
                CommunityGalleryImageId = "string",
                Id = "string",
                Offer = "string",
                Publisher = "string",
                SharedGalleryImageId = "string",
                Sku = "string",
                Version = "string",
            },
            OsDisk = new AzureNative.Compute.Inputs.OSDiskArgs
            {
                CreateOption = "string",
                Caching = AzureNative.Compute.CachingTypes.None,
                DeleteOption = "string",
                DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                {
                    Option = "string",
                    Placement = "string",
                },
                DiskSizeGB = 0,
                EncryptionSettings = new AzureNative.Compute.Inputs.DiskEncryptionSettingsArgs
                {
                    DiskEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultSecretReferenceArgs
                    {
                        SecretUrl = "string",
                        SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                    },
                    Enabled = false,
                    KeyEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultKeyReferenceArgs
                    {
                        KeyUrl = "string",
                        SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                    },
                },
                Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                {
                    Uri = "string",
                },
                ManagedDisk = new AzureNative.Compute.Inputs.ManagedDiskParametersArgs
                {
                    DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                    {
                        Id = "string",
                    },
                    Id = "string",
                    SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                    {
                        DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                        {
                            Id = "string",
                        },
                        SecurityEncryptionType = "string",
                    },
                    StorageAccountType = "string",
                },
                Name = "string",
                OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
                Vhd = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                {
                    Uri = "string",
                },
                WriteAcceleratorEnabled = false,
            },
        },
        Tags = 
        {
            { "string", "string" },
        },
        UserData = "string",
        AvailabilitySet = new AzureNative.Compute.Inputs.SubResourceArgs
        {
            Id = "string",
        },
    });
    
    example, err := compute.NewVirtualMachineScaleSetVM(ctx, "virtualMachineScaleSetVMResource", &compute.VirtualMachineScaleSetVMArgs{
    ResourceGroupName: pulumi.String("string"),
    VmScaleSetName: pulumi.String("string"),
    NetworkProfile: &compute.NetworkProfileArgs{
    NetworkApiVersion: pulumi.String("string"),
    NetworkInterfaceConfigurations: compute.VirtualMachineNetworkInterfaceConfigurationArray{
    &compute.VirtualMachineNetworkInterfaceConfigurationArgs{
    IpConfigurations: compute.VirtualMachineNetworkInterfaceIPConfigurationArray{
    &compute.VirtualMachineNetworkInterfaceIPConfigurationArgs{
    Name: pulumi.String("string"),
    ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    ApplicationSecurityGroups: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    LoadBalancerBackendAddressPools: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Primary: pulumi.Bool(false),
    PrivateIPAddressVersion: pulumi.String("string"),
    PublicIPAddressConfiguration: &compute.VirtualMachinePublicIPAddressConfigurationArgs{
    Name: pulumi.String("string"),
    DeleteOption: pulumi.String("string"),
    DnsSettings: &compute.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs{
    DomainNameLabel: pulumi.String("string"),
    },
    IdleTimeoutInMinutes: pulumi.Int(0),
    IpTags: compute.VirtualMachineIpTagArray{
    &compute.VirtualMachineIpTagArgs{
    IpTagType: pulumi.String("string"),
    Tag: pulumi.String("string"),
    },
    },
    PublicIPAddressVersion: pulumi.String("string"),
    PublicIPAllocationMethod: pulumi.String("string"),
    PublicIPPrefix: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Sku: &compute.PublicIPAddressSkuArgs{
    Name: pulumi.String("string"),
    Tier: pulumi.String("string"),
    },
    },
    Subnet: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    Name: pulumi.String("string"),
    DeleteOption: pulumi.String("string"),
    DisableTcpStateTracking: pulumi.Bool(false),
    DnsSettings: &compute.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs{
    DnsServers: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    DscpConfiguration: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    EnableAcceleratedNetworking: pulumi.Bool(false),
    EnableFpga: pulumi.Bool(false),
    EnableIPForwarding: pulumi.Bool(false),
    NetworkSecurityGroup: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Primary: pulumi.Bool(false),
    },
    },
    NetworkInterfaces: compute.NetworkInterfaceReferenceArray{
    &compute.NetworkInterfaceReferenceArgs{
    DeleteOption: pulumi.String("string"),
    Id: pulumi.String("string"),
    Primary: pulumi.Bool(false),
    },
    },
    },
    Plan: &compute.PlanArgs{
    Name: pulumi.String("string"),
    Product: pulumi.String("string"),
    PromotionCode: pulumi.String("string"),
    Publisher: pulumi.String("string"),
    },
    Identity: &compute.VirtualMachineIdentityArgs{
    Type: compute.ResourceIdentityTypeSystemAssigned,
    UserAssignedIdentities: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    InstanceId: pulumi.String("string"),
    LicenseType: pulumi.String("string"),
    Location: pulumi.String("string"),
    AdditionalCapabilities: &compute.AdditionalCapabilitiesArgs{
    HibernationEnabled: pulumi.Bool(false),
    UltraSSDEnabled: pulumi.Bool(false),
    },
    NetworkProfileConfiguration: &compute.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs{
    NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    &compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    &compute.VirtualMachineScaleSetIPConfigurationArgs{
    Name: pulumi.String("string"),
    ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    ApplicationSecurityGroups: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    LoadBalancerBackendAddressPools: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    LoadBalancerInboundNatPools: compute.SubResourceArray{
    &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Primary: pulumi.Bool(false),
    PrivateIPAddressVersion: pulumi.String("string"),
    PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    Name: pulumi.String("string"),
    DeleteOption: pulumi.String("string"),
    DnsSettings: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs{
    DomainNameLabel: pulumi.String("string"),
    },
    IdleTimeoutInMinutes: pulumi.Int(0),
    IpTags: compute.VirtualMachineScaleSetIpTagArray{
    &compute.VirtualMachineScaleSetIpTagArgs{
    IpTagType: pulumi.String("string"),
    Tag: pulumi.String("string"),
    },
    },
    PublicIPAddressVersion: pulumi.String("string"),
    PublicIPPrefix: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Sku: &compute.PublicIPAddressSkuArgs{
    Name: pulumi.String("string"),
    Tier: pulumi.String("string"),
    },
    },
    Subnet: &compute.ApiEntityReferenceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    Name: pulumi.String("string"),
    DeleteOption: pulumi.String("string"),
    DisableTcpStateTracking: pulumi.Bool(false),
    DnsSettings: &compute.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs{
    DnsServers: pulumi.StringArray{
    pulumi.String("string"),
    },
    },
    EnableAcceleratedNetworking: pulumi.Bool(false),
    EnableFpga: pulumi.Bool(false),
    EnableIPForwarding: pulumi.Bool(false),
    NetworkSecurityGroup: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    Primary: pulumi.Bool(false),
    },
    },
    },
    OsProfile: &compute.OSProfileArgs{
    AdminPassword: pulumi.String("string"),
    AdminUsername: pulumi.String("string"),
    AllowExtensionOperations: pulumi.Bool(false),
    ComputerName: pulumi.String("string"),
    CustomData: pulumi.String("string"),
    LinuxConfiguration: &compute.LinuxConfigurationArgs{
    DisablePasswordAuthentication: pulumi.Bool(false),
    EnableVMAgentPlatformUpdates: pulumi.Bool(false),
    PatchSettings: &compute.LinuxPatchSettingsArgs{
    AssessmentMode: pulumi.String("string"),
    AutomaticByPlatformSettings: &compute.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs{
    BypassPlatformSafetyChecksOnUserSchedule: pulumi.Bool(false),
    RebootSetting: pulumi.String("string"),
    },
    PatchMode: pulumi.String("string"),
    },
    ProvisionVMAgent: pulumi.Bool(false),
    Ssh: &compute.SshConfigurationArgs{
    PublicKeys: compute.SshPublicKeyTypeArray{
    &compute.SshPublicKeyTypeArgs{
    KeyData: pulumi.String("string"),
    Path: pulumi.String("string"),
    },
    },
    },
    },
    RequireGuestProvisionSignal: pulumi.Bool(false),
    Secrets: compute.VaultSecretGroupArray{
    &compute.VaultSecretGroupArgs{
    SourceVault: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    VaultCertificates: compute.VaultCertificateArray{
    &compute.VaultCertificateArgs{
    CertificateStore: pulumi.String("string"),
    CertificateUrl: pulumi.String("string"),
    },
    },
    },
    },
    WindowsConfiguration: &compute.WindowsConfigurationArgs{
    AdditionalUnattendContent: compute.AdditionalUnattendContentArray{
    &compute.AdditionalUnattendContentArgs{
    ComponentName: compute.ComponentNames_Microsoft_Windows_Shell_Setup,
    Content: pulumi.String("string"),
    PassName: compute.PassNamesOobeSystem,
    SettingName: compute.SettingNamesAutoLogon,
    },
    },
    EnableAutomaticUpdates: pulumi.Bool(false),
    EnableVMAgentPlatformUpdates: pulumi.Bool(false),
    PatchSettings: &compute.PatchSettingsArgs{
    AssessmentMode: pulumi.String("string"),
    AutomaticByPlatformSettings: &compute.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs{
    BypassPlatformSafetyChecksOnUserSchedule: pulumi.Bool(false),
    RebootSetting: pulumi.String("string"),
    },
    EnableHotpatching: pulumi.Bool(false),
    PatchMode: pulumi.String("string"),
    },
    ProvisionVMAgent: pulumi.Bool(false),
    TimeZone: pulumi.String("string"),
    WinRM: &compute.WinRMConfigurationArgs{
    Listeners: compute.WinRMListenerArray{
    &compute.WinRMListenerArgs{
    CertificateUrl: pulumi.String("string"),
    Protocol: compute.ProtocolTypesHttp,
    },
    },
    },
    },
    },
    HardwareProfile: &compute.HardwareProfileArgs{
    VmSize: pulumi.String("string"),
    VmSizeProperties: &compute.VMSizePropertiesArgs{
    VCPUsAvailable: pulumi.Int(0),
    VCPUsPerCore: pulumi.Int(0),
    },
    },
    ProtectionPolicy: &compute.VirtualMachineScaleSetVMProtectionPolicyArgs{
    ProtectFromScaleIn: pulumi.Bool(false),
    ProtectFromScaleSetActions: pulumi.Bool(false),
    },
    DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    BootDiagnostics: &compute.BootDiagnosticsArgs{
    Enabled: pulumi.Bool(false),
    StorageUri: pulumi.String("string"),
    },
    },
    SecurityProfile: &compute.SecurityProfileArgs{
    EncryptionAtHost: pulumi.Bool(false),
    SecurityType: pulumi.String("string"),
    UefiSettings: &compute.UefiSettingsArgs{
    SecureBootEnabled: pulumi.Bool(false),
    VTpmEnabled: pulumi.Bool(false),
    },
    },
    StorageProfile: &compute.StorageProfileArgs{
    DataDisks: compute.DataDiskArray{
    &compute.DataDiskArgs{
    CreateOption: pulumi.String("string"),
    Lun: pulumi.Int(0),
    Caching: compute.CachingTypesNone,
    DeleteOption: pulumi.String("string"),
    DetachOption: pulumi.String("string"),
    DiskSizeGB: pulumi.Int(0),
    Image: &compute.VirtualHardDiskArgs{
    Uri: pulumi.String("string"),
    },
    ManagedDisk: &compute.ManagedDiskParametersArgs{
    DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    Id: pulumi.String("string"),
    },
    Id: pulumi.String("string"),
    SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    Id: pulumi.String("string"),
    },
    SecurityEncryptionType: pulumi.String("string"),
    },
    StorageAccountType: pulumi.String("string"),
    },
    Name: pulumi.String("string"),
    ToBeDetached: pulumi.Bool(false),
    Vhd: &compute.VirtualHardDiskArgs{
    Uri: pulumi.String("string"),
    },
    WriteAcceleratorEnabled: pulumi.Bool(false),
    },
    },
    DiskControllerType: pulumi.String("string"),
    ImageReference: &compute.ImageReferenceArgs{
    CommunityGalleryImageId: pulumi.String("string"),
    Id: pulumi.String("string"),
    Offer: pulumi.String("string"),
    Publisher: pulumi.String("string"),
    SharedGalleryImageId: pulumi.String("string"),
    Sku: pulumi.String("string"),
    Version: pulumi.String("string"),
    },
    OsDisk: &compute.OSDiskArgs{
    CreateOption: pulumi.String("string"),
    Caching: compute.CachingTypesNone,
    DeleteOption: pulumi.String("string"),
    DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    Option: pulumi.String("string"),
    Placement: pulumi.String("string"),
    },
    DiskSizeGB: pulumi.Int(0),
    EncryptionSettings: &compute.DiskEncryptionSettingsArgs{
    DiskEncryptionKey: &compute.KeyVaultSecretReferenceArgs{
    SecretUrl: pulumi.String("string"),
    SourceVault: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    Enabled: pulumi.Bool(false),
    KeyEncryptionKey: &compute.KeyVaultKeyReferenceArgs{
    KeyUrl: pulumi.String("string"),
    SourceVault: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    },
    },
    Image: &compute.VirtualHardDiskArgs{
    Uri: pulumi.String("string"),
    },
    ManagedDisk: &compute.ManagedDiskParametersArgs{
    DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    Id: pulumi.String("string"),
    },
    Id: pulumi.String("string"),
    SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    Id: pulumi.String("string"),
    },
    SecurityEncryptionType: pulumi.String("string"),
    },
    StorageAccountType: pulumi.String("string"),
    },
    Name: pulumi.String("string"),
    OsType: compute.OperatingSystemTypesWindows,
    Vhd: &compute.VirtualHardDiskArgs{
    Uri: pulumi.String("string"),
    },
    WriteAcceleratorEnabled: pulumi.Bool(false),
    },
    },
    Tags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    UserData: pulumi.String("string"),
    AvailabilitySet: &compute.SubResourceArgs{
    Id: pulumi.String("string"),
    },
    })
    
    var virtualMachineScaleSetVMResource = new VirtualMachineScaleSetVM("virtualMachineScaleSetVMResource", VirtualMachineScaleSetVMArgs.builder()
        .resourceGroupName("string")
        .vmScaleSetName("string")
        .networkProfile(NetworkProfileArgs.builder()
            .networkApiVersion("string")
            .networkInterfaceConfigurations(VirtualMachineNetworkInterfaceConfigurationArgs.builder()
                .ipConfigurations(VirtualMachineNetworkInterfaceIPConfigurationArgs.builder()
                    .name("string")
                    .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .applicationSecurityGroups(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .loadBalancerBackendAddressPools(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .primary(false)
                    .privateIPAddressVersion("string")
                    .publicIPAddressConfiguration(VirtualMachinePublicIPAddressConfigurationArgs.builder()
                        .name("string")
                        .deleteOption("string")
                        .dnsSettings(VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs.builder()
                            .domainNameLabel("string")
                            .build())
                        .idleTimeoutInMinutes(0)
                        .ipTags(VirtualMachineIpTagArgs.builder()
                            .ipTagType("string")
                            .tag("string")
                            .build())
                        .publicIPAddressVersion("string")
                        .publicIPAllocationMethod("string")
                        .publicIPPrefix(SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .sku(PublicIPAddressSkuArgs.builder()
                            .name("string")
                            .tier("string")
                            .build())
                        .build())
                    .subnet(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .build())
                .name("string")
                .deleteOption("string")
                .disableTcpStateTracking(false)
                .dnsSettings(VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs.builder()
                    .dnsServers("string")
                    .build())
                .dscpConfiguration(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .enableAcceleratedNetworking(false)
                .enableFpga(false)
                .enableIPForwarding(false)
                .networkSecurityGroup(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .primary(false)
                .build())
            .networkInterfaces(NetworkInterfaceReferenceArgs.builder()
                .deleteOption("string")
                .id("string")
                .primary(false)
                .build())
            .build())
        .plan(PlanArgs.builder()
            .name("string")
            .product("string")
            .promotionCode("string")
            .publisher("string")
            .build())
        .identity(VirtualMachineIdentityArgs.builder()
            .type("SystemAssigned")
            .userAssignedIdentities("string")
            .build())
        .instanceId("string")
        .licenseType("string")
        .location("string")
        .additionalCapabilities(AdditionalCapabilitiesArgs.builder()
            .hibernationEnabled(false)
            .ultraSSDEnabled(false)
            .build())
        .networkProfileConfiguration(VirtualMachineScaleSetVMNetworkProfileConfigurationArgs.builder()
            .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                    .name("string")
                    .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .applicationSecurityGroups(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .loadBalancerBackendAddressPools(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .loadBalancerInboundNatPools(SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .primary(false)
                    .privateIPAddressVersion("string")
                    .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                        .name("string")
                        .deleteOption("string")
                        .dnsSettings(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.builder()
                            .domainNameLabel("string")
                            .build())
                        .idleTimeoutInMinutes(0)
                        .ipTags(VirtualMachineScaleSetIpTagArgs.builder()
                            .ipTagType("string")
                            .tag("string")
                            .build())
                        .publicIPAddressVersion("string")
                        .publicIPPrefix(SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .sku(PublicIPAddressSkuArgs.builder()
                            .name("string")
                            .tier("string")
                            .build())
                        .build())
                    .subnet(ApiEntityReferenceArgs.builder()
                        .id("string")
                        .build())
                    .build())
                .name("string")
                .deleteOption("string")
                .disableTcpStateTracking(false)
                .dnsSettings(VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.builder()
                    .dnsServers("string")
                    .build())
                .enableAcceleratedNetworking(false)
                .enableFpga(false)
                .enableIPForwarding(false)
                .networkSecurityGroup(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .primary(false)
                .build())
            .build())
        .osProfile(OSProfileArgs.builder()
            .adminPassword("string")
            .adminUsername("string")
            .allowExtensionOperations(false)
            .computerName("string")
            .customData("string")
            .linuxConfiguration(LinuxConfigurationArgs.builder()
                .disablePasswordAuthentication(false)
                .enableVMAgentPlatformUpdates(false)
                .patchSettings(LinuxPatchSettingsArgs.builder()
                    .assessmentMode("string")
                    .automaticByPlatformSettings(LinuxVMGuestPatchAutomaticByPlatformSettingsArgs.builder()
                        .bypassPlatformSafetyChecksOnUserSchedule(false)
                        .rebootSetting("string")
                        .build())
                    .patchMode("string")
                    .build())
                .provisionVMAgent(false)
                .ssh(SshConfigurationArgs.builder()
                    .publicKeys(SshPublicKeyArgs.builder()
                        .keyData("string")
                        .path("string")
                        .build())
                    .build())
                .build())
            .requireGuestProvisionSignal(false)
            .secrets(VaultSecretGroupArgs.builder()
                .sourceVault(SubResourceArgs.builder()
                    .id("string")
                    .build())
                .vaultCertificates(VaultCertificateArgs.builder()
                    .certificateStore("string")
                    .certificateUrl("string")
                    .build())
                .build())
            .windowsConfiguration(WindowsConfigurationArgs.builder()
                .additionalUnattendContent(AdditionalUnattendContentArgs.builder()
                    .componentName("Microsoft-Windows-Shell-Setup")
                    .content("string")
                    .passName("OobeSystem")
                    .settingName("AutoLogon")
                    .build())
                .enableAutomaticUpdates(false)
                .enableVMAgentPlatformUpdates(false)
                .patchSettings(PatchSettingsArgs.builder()
                    .assessmentMode("string")
                    .automaticByPlatformSettings(WindowsVMGuestPatchAutomaticByPlatformSettingsArgs.builder()
                        .bypassPlatformSafetyChecksOnUserSchedule(false)
                        .rebootSetting("string")
                        .build())
                    .enableHotpatching(false)
                    .patchMode("string")
                    .build())
                .provisionVMAgent(false)
                .timeZone("string")
                .winRM(WinRMConfigurationArgs.builder()
                    .listeners(WinRMListenerArgs.builder()
                        .certificateUrl("string")
                        .protocol("Http")
                        .build())
                    .build())
                .build())
            .build())
        .hardwareProfile(HardwareProfileArgs.builder()
            .vmSize("string")
            .vmSizeProperties(VMSizePropertiesArgs.builder()
                .vCPUsAvailable(0)
                .vCPUsPerCore(0)
                .build())
            .build())
        .protectionPolicy(VirtualMachineScaleSetVMProtectionPolicyArgs.builder()
            .protectFromScaleIn(false)
            .protectFromScaleSetActions(false)
            .build())
        .diagnosticsProfile(DiagnosticsProfileArgs.builder()
            .bootDiagnostics(BootDiagnosticsArgs.builder()
                .enabled(false)
                .storageUri("string")
                .build())
            .build())
        .securityProfile(SecurityProfileArgs.builder()
            .encryptionAtHost(false)
            .securityType("string")
            .uefiSettings(UefiSettingsArgs.builder()
                .secureBootEnabled(false)
                .vTpmEnabled(false)
                .build())
            .build())
        .storageProfile(StorageProfileArgs.builder()
            .dataDisks(DataDiskArgs.builder()
                .createOption("string")
                .lun(0)
                .caching("None")
                .deleteOption("string")
                .detachOption("string")
                .diskSizeGB(0)
                .image(VirtualHardDiskArgs.builder()
                    .uri("string")
                    .build())
                .managedDisk(ManagedDiskParametersArgs.builder()
                    .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                        .id("string")
                        .build())
                    .id("string")
                    .securityProfile(VMDiskSecurityProfileArgs.builder()
                        .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                            .id("string")
                            .build())
                        .securityEncryptionType("string")
                        .build())
                    .storageAccountType("string")
                    .build())
                .name("string")
                .toBeDetached(false)
                .vhd(VirtualHardDiskArgs.builder()
                    .uri("string")
                    .build())
                .writeAcceleratorEnabled(false)
                .build())
            .diskControllerType("string")
            .imageReference(ImageReferenceArgs.builder()
                .communityGalleryImageId("string")
                .id("string")
                .offer("string")
                .publisher("string")
                .sharedGalleryImageId("string")
                .sku("string")
                .version("string")
                .build())
            .osDisk(OSDiskArgs.builder()
                .createOption("string")
                .caching("None")
                .deleteOption("string")
                .diffDiskSettings(DiffDiskSettingsArgs.builder()
                    .option("string")
                    .placement("string")
                    .build())
                .diskSizeGB(0)
                .encryptionSettings(DiskEncryptionSettingsArgs.builder()
                    .diskEncryptionKey(KeyVaultSecretReferenceArgs.builder()
                        .secretUrl("string")
                        .sourceVault(SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .build())
                    .enabled(false)
                    .keyEncryptionKey(KeyVaultKeyReferenceArgs.builder()
                        .keyUrl("string")
                        .sourceVault(SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .build())
                    .build())
                .image(VirtualHardDiskArgs.builder()
                    .uri("string")
                    .build())
                .managedDisk(ManagedDiskParametersArgs.builder()
                    .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                        .id("string")
                        .build())
                    .id("string")
                    .securityProfile(VMDiskSecurityProfileArgs.builder()
                        .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                            .id("string")
                            .build())
                        .securityEncryptionType("string")
                        .build())
                    .storageAccountType("string")
                    .build())
                .name("string")
                .osType("Windows")
                .vhd(VirtualHardDiskArgs.builder()
                    .uri("string")
                    .build())
                .writeAcceleratorEnabled(false)
                .build())
            .build())
        .tags(Map.of("string", "string"))
        .userData("string")
        .availabilitySet(SubResourceArgs.builder()
            .id("string")
            .build())
        .build());
    
    virtual_machine_scale_set_vm_resource = azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVMResource",
        resource_group_name="string",
        vm_scale_set_name="string",
        network_profile=azure_native.compute.NetworkProfileArgs(
            network_api_version="string",
            network_interface_configurations=[azure_native.compute.VirtualMachineNetworkInterfaceConfigurationArgs(
                ip_configurations=[azure_native.compute.VirtualMachineNetworkInterfaceIPConfigurationArgs(
                    name="string",
                    application_gateway_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    application_security_groups=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    load_balancer_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    primary=False,
                    private_ip_address_version="string",
                    public_ip_address_configuration=azure_native.compute.VirtualMachinePublicIPAddressConfigurationArgs(
                        name="string",
                        delete_option="string",
                        dns_settings=azure_native.compute.VirtualMachinePublicIPAddressDnsSettingsConfigurationArgs(
                            domain_name_label="string",
                        ),
                        idle_timeout_in_minutes=0,
                        ip_tags=[azure_native.compute.VirtualMachineIpTagArgs(
                            ip_tag_type="string",
                            tag="string",
                        )],
                        public_ip_address_version="string",
                        public_ip_allocation_method="string",
                        public_ip_prefix=azure_native.compute.SubResourceArgs(
                            id="string",
                        ),
                        sku=azure_native.compute.PublicIPAddressSkuArgs(
                            name="string",
                            tier="string",
                        ),
                    ),
                    subnet=azure_native.compute.SubResourceArgs(
                        id="string",
                    ),
                )],
                name="string",
                delete_option="string",
                disable_tcp_state_tracking=False,
                dns_settings=azure_native.compute.VirtualMachineNetworkInterfaceDnsSettingsConfigurationArgs(
                    dns_servers=["string"],
                ),
                dscp_configuration=azure_native.compute.SubResourceArgs(
                    id="string",
                ),
                enable_accelerated_networking=False,
                enable_fpga=False,
                enable_ip_forwarding=False,
                network_security_group=azure_native.compute.SubResourceArgs(
                    id="string",
                ),
                primary=False,
            )],
            network_interfaces=[azure_native.compute.NetworkInterfaceReferenceArgs(
                delete_option="string",
                id="string",
                primary=False,
            )],
        ),
        plan=azure_native.compute.PlanArgs(
            name="string",
            product="string",
            promotion_code="string",
            publisher="string",
        ),
        identity=azure_native.compute.VirtualMachineIdentityArgs(
            type=azure_native.compute.ResourceIdentityType.SYSTEM_ASSIGNED,
            user_assigned_identities=["string"],
        ),
        instance_id="string",
        license_type="string",
        location="string",
        additional_capabilities=azure_native.compute.AdditionalCapabilitiesArgs(
            hibernation_enabled=False,
            ultra_ssd_enabled=False,
        ),
        network_profile_configuration=azure_native.compute.VirtualMachineScaleSetVMNetworkProfileConfigurationArgs(
            network_interface_configurations=[azure_native.compute.VirtualMachineScaleSetNetworkConfigurationArgs(
                ip_configurations=[azure_native.compute.VirtualMachineScaleSetIPConfigurationArgs(
                    name="string",
                    application_gateway_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    application_security_groups=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    load_balancer_backend_address_pools=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    load_balancer_inbound_nat_pools=[azure_native.compute.SubResourceArgs(
                        id="string",
                    )],
                    primary=False,
                    private_ip_address_version="string",
                    public_ip_address_configuration=azure_native.compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs(
                        name="string",
                        delete_option="string",
                        dns_settings=azure_native.compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs(
                            domain_name_label="string",
                        ),
                        idle_timeout_in_minutes=0,
                        ip_tags=[azure_native.compute.VirtualMachineScaleSetIpTagArgs(
                            ip_tag_type="string",
                            tag="string",
                        )],
                        public_ip_address_version="string",
                        public_ip_prefix=azure_native.compute.SubResourceArgs(
                            id="string",
                        ),
                        sku=azure_native.compute.PublicIPAddressSkuArgs(
                            name="string",
                            tier="string",
                        ),
                    ),
                    subnet=azure_native.compute.ApiEntityReferenceArgs(
                        id="string",
                    ),
                )],
                name="string",
                delete_option="string",
                disable_tcp_state_tracking=False,
                dns_settings=azure_native.compute.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs(
                    dns_servers=["string"],
                ),
                enable_accelerated_networking=False,
                enable_fpga=False,
                enable_ip_forwarding=False,
                network_security_group=azure_native.compute.SubResourceArgs(
                    id="string",
                ),
                primary=False,
            )],
        ),
        os_profile=azure_native.compute.OSProfileArgs(
            admin_password="string",
            admin_username="string",
            allow_extension_operations=False,
            computer_name="string",
            custom_data="string",
            linux_configuration=azure_native.compute.LinuxConfigurationArgs(
                disable_password_authentication=False,
                enable_vm_agent_platform_updates=False,
                patch_settings=azure_native.compute.LinuxPatchSettingsArgs(
                    assessment_mode="string",
                    automatic_by_platform_settings=azure_native.compute.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs(
                        bypass_platform_safety_checks_on_user_schedule=False,
                        reboot_setting="string",
                    ),
                    patch_mode="string",
                ),
                provision_vm_agent=False,
                ssh=azure_native.compute.SshConfigurationArgs(
                    public_keys=[azure_native.compute.SshPublicKeyArgs(
                        key_data="string",
                        path="string",
                    )],
                ),
            ),
            require_guest_provision_signal=False,
            secrets=[azure_native.compute.VaultSecretGroupArgs(
                source_vault=azure_native.compute.SubResourceArgs(
                    id="string",
                ),
                vault_certificates=[azure_native.compute.VaultCertificateArgs(
                    certificate_store="string",
                    certificate_url="string",
                )],
            )],
            windows_configuration=azure_native.compute.WindowsConfigurationArgs(
                additional_unattend_content=[azure_native.compute.AdditionalUnattendContentArgs(
                    component_name=azure_native.compute.ComponentNames.MICROSOFT_WINDOWS_SHELL_SETUP,
                    content="string",
                    pass_name=azure_native.compute.PassNames.OOBE_SYSTEM,
                    setting_name=azure_native.compute.SettingNames.AUTO_LOGON,
                )],
                enable_automatic_updates=False,
                enable_vm_agent_platform_updates=False,
                patch_settings=azure_native.compute.PatchSettingsArgs(
                    assessment_mode="string",
                    automatic_by_platform_settings=azure_native.compute.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs(
                        bypass_platform_safety_checks_on_user_schedule=False,
                        reboot_setting="string",
                    ),
                    enable_hotpatching=False,
                    patch_mode="string",
                ),
                provision_vm_agent=False,
                time_zone="string",
                win_rm=azure_native.compute.WinRMConfigurationArgs(
                    listeners=[azure_native.compute.WinRMListenerArgs(
                        certificate_url="string",
                        protocol=azure_native.compute.ProtocolTypes.HTTP,
                    )],
                ),
            ),
        ),
        hardware_profile=azure_native.compute.HardwareProfileArgs(
            vm_size="string",
            vm_size_properties=azure_native.compute.VMSizePropertiesArgs(
                v_cpus_available=0,
                v_cpus_per_core=0,
            ),
        ),
        protection_policy=azure_native.compute.VirtualMachineScaleSetVMProtectionPolicyArgs(
            protect_from_scale_in=False,
            protect_from_scale_set_actions=False,
        ),
        diagnostics_profile=azure_native.compute.DiagnosticsProfileArgs(
            boot_diagnostics=azure_native.compute.BootDiagnosticsArgs(
                enabled=False,
                storage_uri="string",
            ),
        ),
        security_profile=azure_native.compute.SecurityProfileArgs(
            encryption_at_host=False,
            security_type="string",
            uefi_settings=azure_native.compute.UefiSettingsArgs(
                secure_boot_enabled=False,
                v_tpm_enabled=False,
            ),
        ),
        storage_profile=azure_native.compute.StorageProfileArgs(
            data_disks=[azure_native.compute.DataDiskArgs(
                create_option="string",
                lun=0,
                caching=azure_native.compute.CachingTypes.NONE,
                delete_option="string",
                detach_option="string",
                disk_size_gb=0,
                image=azure_native.compute.VirtualHardDiskArgs(
                    uri="string",
                ),
                managed_disk=azure_native.compute.ManagedDiskParametersArgs(
                    disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                        id="string",
                    ),
                    id="string",
                    security_profile=azure_native.compute.VMDiskSecurityProfileArgs(
                        disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                            id="string",
                        ),
                        security_encryption_type="string",
                    ),
                    storage_account_type="string",
                ),
                name="string",
                to_be_detached=False,
                vhd=azure_native.compute.VirtualHardDiskArgs(
                    uri="string",
                ),
                write_accelerator_enabled=False,
            )],
            disk_controller_type="string",
            image_reference=azure_native.compute.ImageReferenceArgs(
                community_gallery_image_id="string",
                id="string",
                offer="string",
                publisher="string",
                shared_gallery_image_id="string",
                sku="string",
                version="string",
            ),
            os_disk=azure_native.compute.OSDiskArgs(
                create_option="string",
                caching=azure_native.compute.CachingTypes.NONE,
                delete_option="string",
                diff_disk_settings=azure_native.compute.DiffDiskSettingsArgs(
                    option="string",
                    placement="string",
                ),
                disk_size_gb=0,
                encryption_settings=azure_native.compute.DiskEncryptionSettingsArgs(
                    disk_encryption_key=azure_native.compute.KeyVaultSecretReferenceArgs(
                        secret_url="string",
                        source_vault=azure_native.compute.SubResourceArgs(
                            id="string",
                        ),
                    ),
                    enabled=False,
                    key_encryption_key=azure_native.compute.KeyVaultKeyReferenceArgs(
                        key_url="string",
                        source_vault=azure_native.compute.SubResourceArgs(
                            id="string",
                        ),
                    ),
                ),
                image=azure_native.compute.VirtualHardDiskArgs(
                    uri="string",
                ),
                managed_disk=azure_native.compute.ManagedDiskParametersArgs(
                    disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                        id="string",
                    ),
                    id="string",
                    security_profile=azure_native.compute.VMDiskSecurityProfileArgs(
                        disk_encryption_set=azure_native.compute.DiskEncryptionSetParametersArgs(
                            id="string",
                        ),
                        security_encryption_type="string",
                    ),
                    storage_account_type="string",
                ),
                name="string",
                os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
                vhd=azure_native.compute.VirtualHardDiskArgs(
                    uri="string",
                ),
                write_accelerator_enabled=False,
            ),
        ),
        tags={
            "string": "string",
        },
        user_data="string",
        availability_set=azure_native.compute.SubResourceArgs(
            id="string",
        ))
    
    const virtualMachineScaleSetVMResource = new azure_native.compute.VirtualMachineScaleSetVM("virtualMachineScaleSetVMResource", {
        resourceGroupName: "string",
        vmScaleSetName: "string",
        networkProfile: {
            networkApiVersion: "string",
            networkInterfaceConfigurations: [{
                ipConfigurations: [{
                    name: "string",
                    applicationGatewayBackendAddressPools: [{
                        id: "string",
                    }],
                    applicationSecurityGroups: [{
                        id: "string",
                    }],
                    loadBalancerBackendAddressPools: [{
                        id: "string",
                    }],
                    primary: false,
                    privateIPAddressVersion: "string",
                    publicIPAddressConfiguration: {
                        name: "string",
                        deleteOption: "string",
                        dnsSettings: {
                            domainNameLabel: "string",
                        },
                        idleTimeoutInMinutes: 0,
                        ipTags: [{
                            ipTagType: "string",
                            tag: "string",
                        }],
                        publicIPAddressVersion: "string",
                        publicIPAllocationMethod: "string",
                        publicIPPrefix: {
                            id: "string",
                        },
                        sku: {
                            name: "string",
                            tier: "string",
                        },
                    },
                    subnet: {
                        id: "string",
                    },
                }],
                name: "string",
                deleteOption: "string",
                disableTcpStateTracking: false,
                dnsSettings: {
                    dnsServers: ["string"],
                },
                dscpConfiguration: {
                    id: "string",
                },
                enableAcceleratedNetworking: false,
                enableFpga: false,
                enableIPForwarding: false,
                networkSecurityGroup: {
                    id: "string",
                },
                primary: false,
            }],
            networkInterfaces: [{
                deleteOption: "string",
                id: "string",
                primary: false,
            }],
        },
        plan: {
            name: "string",
            product: "string",
            promotionCode: "string",
            publisher: "string",
        },
        identity: {
            type: azure_native.compute.ResourceIdentityType.SystemAssigned,
            userAssignedIdentities: ["string"],
        },
        instanceId: "string",
        licenseType: "string",
        location: "string",
        additionalCapabilities: {
            hibernationEnabled: false,
            ultraSSDEnabled: false,
        },
        networkProfileConfiguration: {
            networkInterfaceConfigurations: [{
                ipConfigurations: [{
                    name: "string",
                    applicationGatewayBackendAddressPools: [{
                        id: "string",
                    }],
                    applicationSecurityGroups: [{
                        id: "string",
                    }],
                    loadBalancerBackendAddressPools: [{
                        id: "string",
                    }],
                    loadBalancerInboundNatPools: [{
                        id: "string",
                    }],
                    primary: false,
                    privateIPAddressVersion: "string",
                    publicIPAddressConfiguration: {
                        name: "string",
                        deleteOption: "string",
                        dnsSettings: {
                            domainNameLabel: "string",
                        },
                        idleTimeoutInMinutes: 0,
                        ipTags: [{
                            ipTagType: "string",
                            tag: "string",
                        }],
                        publicIPAddressVersion: "string",
                        publicIPPrefix: {
                            id: "string",
                        },
                        sku: {
                            name: "string",
                            tier: "string",
                        },
                    },
                    subnet: {
                        id: "string",
                    },
                }],
                name: "string",
                deleteOption: "string",
                disableTcpStateTracking: false,
                dnsSettings: {
                    dnsServers: ["string"],
                },
                enableAcceleratedNetworking: false,
                enableFpga: false,
                enableIPForwarding: false,
                networkSecurityGroup: {
                    id: "string",
                },
                primary: false,
            }],
        },
        osProfile: {
            adminPassword: "string",
            adminUsername: "string",
            allowExtensionOperations: false,
            computerName: "string",
            customData: "string",
            linuxConfiguration: {
                disablePasswordAuthentication: false,
                enableVMAgentPlatformUpdates: false,
                patchSettings: {
                    assessmentMode: "string",
                    automaticByPlatformSettings: {
                        bypassPlatformSafetyChecksOnUserSchedule: false,
                        rebootSetting: "string",
                    },
                    patchMode: "string",
                },
                provisionVMAgent: false,
                ssh: {
                    publicKeys: [{
                        keyData: "string",
                        path: "string",
                    }],
                },
            },
            requireGuestProvisionSignal: false,
            secrets: [{
                sourceVault: {
                    id: "string",
                },
                vaultCertificates: [{
                    certificateStore: "string",
                    certificateUrl: "string",
                }],
            }],
            windowsConfiguration: {
                additionalUnattendContent: [{
                    componentName: azure_native.compute.ComponentNames.Microsoft_Windows_Shell_Setup,
                    content: "string",
                    passName: azure_native.compute.PassNames.OobeSystem,
                    settingName: azure_native.compute.SettingNames.AutoLogon,
                }],
                enableAutomaticUpdates: false,
                enableVMAgentPlatformUpdates: false,
                patchSettings: {
                    assessmentMode: "string",
                    automaticByPlatformSettings: {
                        bypassPlatformSafetyChecksOnUserSchedule: false,
                        rebootSetting: "string",
                    },
                    enableHotpatching: false,
                    patchMode: "string",
                },
                provisionVMAgent: false,
                timeZone: "string",
                winRM: {
                    listeners: [{
                        certificateUrl: "string",
                        protocol: azure_native.compute.ProtocolTypes.Http,
                    }],
                },
            },
        },
        hardwareProfile: {
            vmSize: "string",
            vmSizeProperties: {
                vCPUsAvailable: 0,
                vCPUsPerCore: 0,
            },
        },
        protectionPolicy: {
            protectFromScaleIn: false,
            protectFromScaleSetActions: false,
        },
        diagnosticsProfile: {
            bootDiagnostics: {
                enabled: false,
                storageUri: "string",
            },
        },
        securityProfile: {
            encryptionAtHost: false,
            securityType: "string",
            uefiSettings: {
                secureBootEnabled: false,
                vTpmEnabled: false,
            },
        },
        storageProfile: {
            dataDisks: [{
                createOption: "string",
                lun: 0,
                caching: azure_native.compute.CachingTypes.None,
                deleteOption: "string",
                detachOption: "string",
                diskSizeGB: 0,
                image: {
                    uri: "string",
                },
                managedDisk: {
                    diskEncryptionSet: {
                        id: "string",
                    },
                    id: "string",
                    securityProfile: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        securityEncryptionType: "string",
                    },
                    storageAccountType: "string",
                },
                name: "string",
                toBeDetached: false,
                vhd: {
                    uri: "string",
                },
                writeAcceleratorEnabled: false,
            }],
            diskControllerType: "string",
            imageReference: {
                communityGalleryImageId: "string",
                id: "string",
                offer: "string",
                publisher: "string",
                sharedGalleryImageId: "string",
                sku: "string",
                version: "string",
            },
            osDisk: {
                createOption: "string",
                caching: azure_native.compute.CachingTypes.None,
                deleteOption: "string",
                diffDiskSettings: {
                    option: "string",
                    placement: "string",
                },
                diskSizeGB: 0,
                encryptionSettings: {
                    diskEncryptionKey: {
                        secretUrl: "string",
                        sourceVault: {
                            id: "string",
                        },
                    },
                    enabled: false,
                    keyEncryptionKey: {
                        keyUrl: "string",
                        sourceVault: {
                            id: "string",
                        },
                    },
                },
                image: {
                    uri: "string",
                },
                managedDisk: {
                    diskEncryptionSet: {
                        id: "string",
                    },
                    id: "string",
                    securityProfile: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        securityEncryptionType: "string",
                    },
                    storageAccountType: "string",
                },
                name: "string",
                osType: azure_native.compute.OperatingSystemTypes.Windows,
                vhd: {
                    uri: "string",
                },
                writeAcceleratorEnabled: false,
            },
        },
        tags: {
            string: "string",
        },
        userData: "string",
        availabilitySet: {
            id: "string",
        },
    });
    
    type: azure-native:compute:VirtualMachineScaleSetVM
    properties:
        additionalCapabilities:
            hibernationEnabled: false
            ultraSSDEnabled: false
        availabilitySet:
            id: string
        diagnosticsProfile:
            bootDiagnostics:
                enabled: false
                storageUri: string
        hardwareProfile:
            vmSize: string
            vmSizeProperties:
                vCPUsAvailable: 0
                vCPUsPerCore: 0
        identity:
            type: SystemAssigned
            userAssignedIdentities:
                - string
        instanceId: string
        licenseType: string
        location: string
        networkProfile:
            networkApiVersion: string
            networkInterfaceConfigurations:
                - deleteOption: string
                  disableTcpStateTracking: false
                  dnsSettings:
                    dnsServers:
                        - string
                  dscpConfiguration:
                    id: string
                  enableAcceleratedNetworking: false
                  enableFpga: false
                  enableIPForwarding: false
                  ipConfigurations:
                    - applicationGatewayBackendAddressPools:
                        - id: string
                      applicationSecurityGroups:
                        - id: string
                      loadBalancerBackendAddressPools:
                        - id: string
                      name: string
                      primary: false
                      privateIPAddressVersion: string
                      publicIPAddressConfiguration:
                        deleteOption: string
                        dnsSettings:
                            domainNameLabel: string
                        idleTimeoutInMinutes: 0
                        ipTags:
                            - ipTagType: string
                              tag: string
                        name: string
                        publicIPAddressVersion: string
                        publicIPAllocationMethod: string
                        publicIPPrefix:
                            id: string
                        sku:
                            name: string
                            tier: string
                      subnet:
                        id: string
                  name: string
                  networkSecurityGroup:
                    id: string
                  primary: false
            networkInterfaces:
                - deleteOption: string
                  id: string
                  primary: false
        networkProfileConfiguration:
            networkInterfaceConfigurations:
                - deleteOption: string
                  disableTcpStateTracking: false
                  dnsSettings:
                    dnsServers:
                        - string
                  enableAcceleratedNetworking: false
                  enableFpga: false
                  enableIPForwarding: false
                  ipConfigurations:
                    - applicationGatewayBackendAddressPools:
                        - id: string
                      applicationSecurityGroups:
                        - id: string
                      loadBalancerBackendAddressPools:
                        - id: string
                      loadBalancerInboundNatPools:
                        - id: string
                      name: string
                      primary: false
                      privateIPAddressVersion: string
                      publicIPAddressConfiguration:
                        deleteOption: string
                        dnsSettings:
                            domainNameLabel: string
                        idleTimeoutInMinutes: 0
                        ipTags:
                            - ipTagType: string
                              tag: string
                        name: string
                        publicIPAddressVersion: string
                        publicIPPrefix:
                            id: string
                        sku:
                            name: string
                            tier: string
                      subnet:
                        id: string
                  name: string
                  networkSecurityGroup:
                    id: string
                  primary: false
        osProfile:
            adminPassword: string
            adminUsername: string
            allowExtensionOperations: false
            computerName: string
            customData: string
            linuxConfiguration:
                disablePasswordAuthentication: false
                enableVMAgentPlatformUpdates: false
                patchSettings:
                    assessmentMode: string
                    automaticByPlatformSettings:
                        bypassPlatformSafetyChecksOnUserSchedule: false
                        rebootSetting: string
                    patchMode: string
                provisionVMAgent: false
                ssh:
                    publicKeys:
                        - keyData: string
                          path: string
            requireGuestProvisionSignal: false
            secrets:
                - sourceVault:
                    id: string
                  vaultCertificates:
                    - certificateStore: string
                      certificateUrl: string
            windowsConfiguration:
                additionalUnattendContent:
                    - componentName: Microsoft-Windows-Shell-Setup
                      content: string
                      passName: OobeSystem
                      settingName: AutoLogon
                enableAutomaticUpdates: false
                enableVMAgentPlatformUpdates: false
                patchSettings:
                    assessmentMode: string
                    automaticByPlatformSettings:
                        bypassPlatformSafetyChecksOnUserSchedule: false
                        rebootSetting: string
                    enableHotpatching: false
                    patchMode: string
                provisionVMAgent: false
                timeZone: string
                winRM:
                    listeners:
                        - certificateUrl: string
                          protocol: Http
        plan:
            name: string
            product: string
            promotionCode: string
            publisher: string
        protectionPolicy:
            protectFromScaleIn: false
            protectFromScaleSetActions: false
        resourceGroupName: string
        securityProfile:
            encryptionAtHost: false
            securityType: string
            uefiSettings:
                secureBootEnabled: false
                vTpmEnabled: false
        storageProfile:
            dataDisks:
                - caching: None
                  createOption: string
                  deleteOption: string
                  detachOption: string
                  diskSizeGB: 0
                  image:
                    uri: string
                  lun: 0
                  managedDisk:
                    diskEncryptionSet:
                        id: string
                    id: string
                    securityProfile:
                        diskEncryptionSet:
                            id: string
                        securityEncryptionType: string
                    storageAccountType: string
                  name: string
                  toBeDetached: false
                  vhd:
                    uri: string
                  writeAcceleratorEnabled: false
            diskControllerType: string
            imageReference:
                communityGalleryImageId: string
                id: string
                offer: string
                publisher: string
                sharedGalleryImageId: string
                sku: string
                version: string
            osDisk:
                caching: None
                createOption: string
                deleteOption: string
                diffDiskSettings:
                    option: string
                    placement: string
                diskSizeGB: 0
                encryptionSettings:
                    diskEncryptionKey:
                        secretUrl: string
                        sourceVault:
                            id: string
                    enabled: false
                    keyEncryptionKey:
                        keyUrl: string
                        sourceVault:
                            id: string
                image:
                    uri: string
                managedDisk:
                    diskEncryptionSet:
                        id: string
                    id: string
                    securityProfile:
                        diskEncryptionSet:
                            id: string
                        securityEncryptionType: string
                    storageAccountType: string
                name: string
                osType: Windows
                vhd:
                    uri: string
                writeAcceleratorEnabled: false
        tags:
            string: string
        userData: string
        vmScaleSetName: string
    

    VirtualMachineScaleSetVM Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The VirtualMachineScaleSetVM resource accepts the following input properties:

    ResourceGroupName string
    The name of the resource group.
    VmScaleSetName string
    The name of the VM scale set where the extension should be create or updated.
    AdditionalCapabilities Pulumi.AzureNative.Compute.Inputs.AdditionalCapabilities
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    AvailabilitySet Pulumi.AzureNative.Compute.Inputs.SubResource
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    DiagnosticsProfile Pulumi.AzureNative.Compute.Inputs.DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    HardwareProfile Pulumi.AzureNative.Compute.Inputs.HardwareProfile
    Specifies the hardware settings for the virtual machine.
    Identity Pulumi.AzureNative.Compute.Inputs.VirtualMachineIdentity
    The identity of the virtual machine, if configured.
    InstanceId string
    The instance ID of the virtual machine.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    Location string
    Resource location
    NetworkProfile Pulumi.AzureNative.Compute.Inputs.NetworkProfile
    Specifies the network interfaces of the virtual machine.
    NetworkProfileConfiguration Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetVMNetworkProfileConfiguration
    Specifies the network profile configuration of the virtual machine.
    OsProfile Pulumi.AzureNative.Compute.Inputs.OSProfile
    Specifies the operating system settings for the virtual machine.
    Plan Pulumi.AzureNative.Compute.Inputs.Plan
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    ProtectionPolicy Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProtectionPolicy
    Specifies the protection policy of the virtual machine.
    SecurityProfile Pulumi.AzureNative.Compute.Inputs.SecurityProfile
    Specifies the Security related profile settings for the virtual machine.
    StorageProfile Pulumi.AzureNative.Compute.Inputs.StorageProfile
    Specifies the storage settings for the virtual machine disks.
    Tags Dictionary<string, string>
    Resource tags
    UserData string
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    ResourceGroupName string
    The name of the resource group.
    VmScaleSetName string
    The name of the VM scale set where the extension should be create or updated.
    AdditionalCapabilities AdditionalCapabilitiesArgs
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    AvailabilitySet SubResourceArgs
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    DiagnosticsProfile DiagnosticsProfileArgs
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    HardwareProfile HardwareProfileArgs
    Specifies the hardware settings for the virtual machine.
    Identity VirtualMachineIdentityArgs
    The identity of the virtual machine, if configured.
    InstanceId string
    The instance ID of the virtual machine.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    Location string
    Resource location
    NetworkProfile NetworkProfileArgs
    Specifies the network interfaces of the virtual machine.
    NetworkProfileConfiguration VirtualMachineScaleSetVMNetworkProfileConfigurationArgs
    Specifies the network profile configuration of the virtual machine.
    OsProfile OSProfileArgs
    Specifies the operating system settings for the virtual machine.
    Plan PlanArgs
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    ProtectionPolicy VirtualMachineScaleSetVMProtectionPolicyArgs
    Specifies the protection policy of the virtual machine.
    SecurityProfile SecurityProfileArgs
    Specifies the Security related profile settings for the virtual machine.
    StorageProfile StorageProfileArgs
    Specifies the storage settings for the virtual machine disks.
    Tags map[string]string
    Resource tags
    UserData string
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    resourceGroupName String
    The name of the resource group.
    vmScaleSetName String
    The name of the VM scale set where the extension should be create or updated.
    additionalCapabilities AdditionalCapabilities
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    availabilitySet SubResource
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    diagnosticsProfile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    hardwareProfile HardwareProfile
    Specifies the hardware settings for the virtual machine.
    identity VirtualMachineIdentity
    The identity of the virtual machine, if configured.
    instanceId String
    The instance ID of the virtual machine.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    location String
    Resource location
    networkProfile NetworkProfile
    Specifies the network interfaces of the virtual machine.
    networkProfileConfiguration VirtualMachineScaleSetVMNetworkProfileConfiguration
    Specifies the network profile configuration of the virtual machine.
    osProfile OSProfile
    Specifies the operating system settings for the virtual machine.
    plan Plan
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    protectionPolicy VirtualMachineScaleSetVMProtectionPolicy
    Specifies the protection policy of the virtual machine.
    securityProfile SecurityProfile
    Specifies the Security related profile settings for the virtual machine.
    storageProfile StorageProfile
    Specifies the storage settings for the virtual machine disks.
    tags Map<String,String>
    Resource tags
    userData String
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    resourceGroupName string
    The name of the resource group.
    vmScaleSetName string
    The name of the VM scale set where the extension should be create or updated.
    additionalCapabilities AdditionalCapabilities
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    availabilitySet SubResource
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    diagnosticsProfile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    hardwareProfile HardwareProfile
    Specifies the hardware settings for the virtual machine.
    identity VirtualMachineIdentity
    The identity of the virtual machine, if configured.
    instanceId string
    The instance ID of the virtual machine.
    licenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    location string
    Resource location
    networkProfile NetworkProfile
    Specifies the network interfaces of the virtual machine.
    networkProfileConfiguration VirtualMachineScaleSetVMNetworkProfileConfiguration
    Specifies the network profile configuration of the virtual machine.
    osProfile OSProfile
    Specifies the operating system settings for the virtual machine.
    plan Plan
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    protectionPolicy VirtualMachineScaleSetVMProtectionPolicy
    Specifies the protection policy of the virtual machine.
    securityProfile SecurityProfile
    Specifies the Security related profile settings for the virtual machine.
    storageProfile StorageProfile
    Specifies the storage settings for the virtual machine disks.
    tags {[key: string]: string}
    Resource tags
    userData string
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    resource_group_name str
    The name of the resource group.
    vm_scale_set_name str
    The name of the VM scale set where the extension should be create or updated.
    additional_capabilities AdditionalCapabilitiesArgs
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    availability_set SubResourceArgs
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    diagnostics_profile DiagnosticsProfileArgs
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    hardware_profile HardwareProfileArgs
    Specifies the hardware settings for the virtual machine.
    identity VirtualMachineIdentityArgs
    The identity of the virtual machine, if configured.
    instance_id str
    The instance ID of the virtual machine.
    license_type str
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    location str
    Resource location
    network_profile NetworkProfileArgs
    Specifies the network interfaces of the virtual machine.
    network_profile_configuration VirtualMachineScaleSetVMNetworkProfileConfigurationArgs
    Specifies the network profile configuration of the virtual machine.
    os_profile OSProfileArgs
    Specifies the operating system settings for the virtual machine.
    plan PlanArgs
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    protection_policy VirtualMachineScaleSetVMProtectionPolicyArgs
    Specifies the protection policy of the virtual machine.
    security_profile SecurityProfileArgs
    Specifies the Security related profile settings for the virtual machine.
    storage_profile StorageProfileArgs
    Specifies the storage settings for the virtual machine disks.
    tags Mapping[str, str]
    Resource tags
    user_data str
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    resourceGroupName String
    The name of the resource group.
    vmScaleSetName String
    The name of the VM scale set where the extension should be create or updated.
    additionalCapabilities Property Map
    Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    availabilitySet Property Map
    Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
    diagnosticsProfile Property Map
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    hardwareProfile Property Map
    Specifies the hardware settings for the virtual machine.
    identity Property Map
    The identity of the virtual machine, if configured.
    instanceId String
    The instance ID of the virtual machine.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    location String
    Resource location
    networkProfile Property Map
    Specifies the network interfaces of the virtual machine.
    networkProfileConfiguration Property Map
    Specifies the network profile configuration of the virtual machine.
    osProfile Property Map
    Specifies the operating system settings for the virtual machine.
    plan Property Map
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    protectionPolicy Property Map
    Specifies the protection policy of the virtual machine.
    securityProfile Property Map
    Specifies the Security related profile settings for the virtual machine.
    storageProfile Property Map
    Specifies the storage settings for the virtual machine disks.
    tags Map<String>
    Resource tags
    userData String
    UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceView Pulumi.AzureNative.Compute.Outputs.VirtualMachineScaleSetVMInstanceViewResponse
    The virtual machine instance view.
    LatestModelApplied bool
    Specifies whether the latest model has been applied to the virtual machine.
    ModelDefinitionApplied string
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    Name string
    Resource name
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Resources List<Pulumi.AzureNative.Compute.Outputs.VirtualMachineExtensionResponse>
    The virtual machine child extension resources.
    Sku Pulumi.AzureNative.Compute.Outputs.SkuResponse
    The virtual machine SKU.
    Type string
    Resource type
    VmId string
    Azure VM unique ID.
    Zones List<string>
    The virtual machine zones.
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceView VirtualMachineScaleSetVMInstanceViewResponse
    The virtual machine instance view.
    LatestModelApplied bool
    Specifies whether the latest model has been applied to the virtual machine.
    ModelDefinitionApplied string
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    Name string
    Resource name
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Resources []VirtualMachineExtensionResponse
    The virtual machine child extension resources.
    Sku SkuResponse
    The virtual machine SKU.
    Type string
    Resource type
    VmId string
    Azure VM unique ID.
    Zones []string
    The virtual machine zones.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceView VirtualMachineScaleSetVMInstanceViewResponse
    The virtual machine instance view.
    latestModelApplied Boolean
    Specifies whether the latest model has been applied to the virtual machine.
    modelDefinitionApplied String
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    name String
    Resource name
    provisioningState String
    The provisioning state, which only appears in the response.
    resources List<VirtualMachineExtensionResponse>
    The virtual machine child extension resources.
    sku SkuResponse
    The virtual machine SKU.
    type String
    Resource type
    vmId String
    Azure VM unique ID.
    zones List<String>
    The virtual machine zones.
    id string
    The provider-assigned unique ID for this managed resource.
    instanceView VirtualMachineScaleSetVMInstanceViewResponse
    The virtual machine instance view.
    latestModelApplied boolean
    Specifies whether the latest model has been applied to the virtual machine.
    modelDefinitionApplied string
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    name string
    Resource name
    provisioningState string
    The provisioning state, which only appears in the response.
    resources VirtualMachineExtensionResponse[]
    The virtual machine child extension resources.
    sku SkuResponse
    The virtual machine SKU.
    type string
    Resource type
    vmId string
    Azure VM unique ID.
    zones string[]
    The virtual machine zones.
    id str
    The provider-assigned unique ID for this managed resource.
    instance_view VirtualMachineScaleSetVMInstanceViewResponse
    The virtual machine instance view.
    latest_model_applied bool
    Specifies whether the latest model has been applied to the virtual machine.
    model_definition_applied str
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    name str
    Resource name
    provisioning_state str
    The provisioning state, which only appears in the response.
    resources Sequence[VirtualMachineExtensionResponse]
    The virtual machine child extension resources.
    sku SkuResponse
    The virtual machine SKU.
    type str
    Resource type
    vm_id str
    Azure VM unique ID.
    zones Sequence[str]
    The virtual machine zones.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceView Property Map
    The virtual machine instance view.
    latestModelApplied Boolean
    Specifies whether the latest model has been applied to the virtual machine.
    modelDefinitionApplied String
    Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine.
    name String
    Resource name
    provisioningState String
    The provisioning state, which only appears in the response.
    resources List<Property Map>
    The virtual machine child extension resources.
    sku Property Map
    The virtual machine SKU.
    type String
    Resource type
    vmId String
    Azure VM unique ID.
    zones List<String>
    The virtual machine zones.

    Supporting Types

    AdditionalCapabilities, AdditionalCapabilitiesArgs

    HibernationEnabled bool
    The flag that enables or disables hibernation capability on the VM.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    HibernationEnabled bool
    The flag that enables or disables hibernation capability on the VM.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled Boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernation_enabled bool
    The flag that enables or disables hibernation capability on the VM.
    ultra_ssd_enabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled Boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.

    AdditionalCapabilitiesResponse, AdditionalCapabilitiesResponseArgs

    HibernationEnabled bool
    The flag that enables or disables hibernation capability on the VM.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    HibernationEnabled bool
    The flag that enables or disables hibernation capability on the VM.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled Boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernation_enabled bool
    The flag that enables or disables hibernation capability on the VM.
    ultra_ssd_enabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    hibernationEnabled Boolean
    The flag that enables or disables hibernation capability on the VM.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.

    AdditionalUnattendContent, AdditionalUnattendContentArgs

    ComponentName Pulumi.AzureNative.Compute.ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName Pulumi.AzureNative.Compute.PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName Pulumi.AzureNative.Compute.SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    ComponentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    component_name ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content str
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    pass_name PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    setting_name SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName "Microsoft-Windows-Shell-Setup"
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName "OobeSystem"
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName "AutoLogon" | "FirstLogonCommands"
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.

    AdditionalUnattendContentResponse, AdditionalUnattendContentResponseArgs

    ComponentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName string
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    ComponentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName string
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName String
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName String
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName String
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName string
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    component_name str
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content str
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    pass_name str
    The pass name. Currently, the only allowable value is OobeSystem.
    setting_name str
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName String
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName String
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName String
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.

    ApiEntityReference, ApiEntityReferenceArgs

    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id str
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...

    ApiEntityReferenceResponse, ApiEntityReferenceResponseArgs

    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id str
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...

    BootDiagnostics, BootDiagnosticsArgs

    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storage_uri str
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.

    BootDiagnosticsInstanceViewResponse, BootDiagnosticsInstanceViewResponseArgs

    ConsoleScreenshotBlobUri string
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    SerialConsoleLogBlobUri string
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    Status Pulumi.AzureNative.Compute.Inputs.InstanceViewStatusResponse
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.
    ConsoleScreenshotBlobUri string
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    SerialConsoleLogBlobUri string
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    Status InstanceViewStatusResponse
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.
    consoleScreenshotBlobUri String
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    serialConsoleLogBlobUri String
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    status InstanceViewStatusResponse
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.
    consoleScreenshotBlobUri string
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    serialConsoleLogBlobUri string
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    status InstanceViewStatusResponse
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.
    console_screenshot_blob_uri str
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    serial_console_log_blob_uri str
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    status InstanceViewStatusResponse
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.
    consoleScreenshotBlobUri String
    The console screenshot blob URI. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    serialConsoleLogBlobUri String
    The serial console log blob Uri. Note: This will not be set if boot diagnostics is currently enabled with managed storage.
    status Property Map
    The boot diagnostics status information for the VM. Note: It will be set only if there are errors encountered in enabling boot diagnostics.

    BootDiagnosticsResponse, BootDiagnosticsResponseArgs

    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storage_uri str
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.

    CachingTypes, CachingTypesArgs

    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    CachingTypesNone
    None
    CachingTypesReadOnly
    ReadOnly
    CachingTypesReadWrite
    ReadWrite
    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    NONE
    None
    READ_ONLY
    ReadOnly
    READ_WRITE
    ReadWrite
    "None"
    None
    "ReadOnly"
    ReadOnly
    "ReadWrite"
    ReadWrite

    ComponentNames, ComponentNamesArgs

    Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    ComponentNames_Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    MicrosoftWindowsShellSetup
    Microsoft-Windows-Shell-Setup
    Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    MICROSOFT_WINDOWS_SHELL_SETUP
    Microsoft-Windows-Shell-Setup
    "Microsoft-Windows-Shell-Setup"
    Microsoft-Windows-Shell-Setup

    DataDisk, DataDiskArgs

    CreateOption string | Pulumi.AzureNative.Compute.DiskCreateOptionTypes
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching Pulumi.AzureNative.Compute.CachingTypes
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    DeleteOption string | Pulumi.AzureNative.Compute.DiskDeleteOptionTypes
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    DetachOption string | Pulumi.AzureNative.Compute.DiskDetachOptionTypes
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    Image Pulumi.AzureNative.Compute.Inputs.VirtualHardDisk
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.ManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    ToBeDetached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    Vhd Pulumi.AzureNative.Compute.Inputs.VirtualHardDisk
    The virtual hard disk.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string | DiskCreateOptionTypes
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching CachingTypes
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    DeleteOption string | DiskDeleteOptionTypes
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    DetachOption string | DiskDetachOptionTypes
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    Image VirtualHardDisk
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    ManagedDisk ManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    ToBeDetached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    Vhd VirtualHardDisk
    The virtual hard disk.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | DiskCreateOptionTypes
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    lun Integer
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption String | DiskDeleteOptionTypes
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption String | DiskDetachOptionTypes
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB Integer
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDisk
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk ManagedDiskParameters
    The managed disk parameters.
    name String
    The disk name.
    toBeDetached Boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDisk
    The virtual hard disk.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string | DiskCreateOptionTypes
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    lun number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption string | DiskDeleteOptionTypes
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption string | DiskDetachOptionTypes
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDisk
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk ManagedDiskParameters
    The managed disk parameters.
    name string
    The disk name.
    toBeDetached boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDisk
    The virtual hard disk.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str | DiskCreateOptionTypes
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    delete_option str | DiskDeleteOptionTypes
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detach_option str | DiskDetachOptionTypes
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    disk_size_gb int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDisk
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managed_disk ManagedDiskParameters
    The managed disk parameters.
    name str
    The disk name.
    to_be_detached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDisk
    The virtual hard disk.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | "FromImage" | "Empty" | "Attach"
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    lun Number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching "None" | "ReadOnly" | "ReadWrite"
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption String | "Delete" | "Detach"
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption String | "ForceDetach"
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB Number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image Property Map
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    toBeDetached Boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd Property Map
    The virtual hard disk.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    DataDiskResponse, DataDiskResponseArgs

    CreateOption string
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    DiskIOPSReadWrite double
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    DiskMBpsReadWrite double
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching string
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    DeleteOption string
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    DetachOption string
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    Image Pulumi.AzureNative.Compute.Inputs.VirtualHardDiskResponse
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.ManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    ToBeDetached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    Vhd Pulumi.AzureNative.Compute.Inputs.VirtualHardDiskResponse
    The virtual hard disk.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    DiskIOPSReadWrite float64
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    DiskMBpsReadWrite float64
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching string
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    DeleteOption string
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    DetachOption string
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    Image VirtualHardDiskResponse
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    ManagedDisk ManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    ToBeDetached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    Vhd VirtualHardDiskResponse
    The virtual hard disk.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    diskIOPSReadWrite Double
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    diskMBpsReadWrite Double
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    lun Integer
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching String
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption String
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption String
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB Integer
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDiskResponse
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk ManagedDiskParametersResponse
    The managed disk parameters.
    name String
    The disk name.
    toBeDetached Boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDiskResponse
    The virtual hard disk.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    diskIOPSReadWrite number
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    diskMBpsReadWrite number
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    lun number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching string
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption string
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption string
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDiskResponse
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk ManagedDiskParametersResponse
    The managed disk parameters.
    name string
    The disk name.
    toBeDetached boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDiskResponse
    The virtual hard disk.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    disk_iops_read_write float
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    disk_m_bps_read_write float
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching str
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    delete_option str
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detach_option str
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    disk_size_gb int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image VirtualHardDiskResponse
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managed_disk ManagedDiskParametersResponse
    The managed disk parameters.
    name str
    The disk name.
    to_be_detached bool
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd VirtualHardDiskResponse
    The virtual hard disk.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    Specifies how the virtual machine should be created. Possible values are: Attach. This value is used when you are using a specialized disk to create the virtual machine. FromImage. This value is used when you are using an image to create the virtual machine. If you are using a platform image, you should also use the imageReference element described above. If you are using a marketplace image, you should also use the plan element previously described.
    diskIOPSReadWrite Number
    Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    diskMBpsReadWrite Number
    Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set.
    lun Number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching String
    Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The defaulting behavior is: None for Standard storage. ReadOnly for Premium storage.
    deleteOption String
    Specifies whether data disk should be deleted or detached upon VM deletion. Possible values are: Delete. If this value is used, the data disk is deleted when VM is deleted. Detach. If this value is used, the data disk is retained after VM is deleted. The default value is set to Detach.
    detachOption String
    Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: ForceDetach. detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.
    diskSizeGB Number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. The property 'diskSizeGB' is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023.
    image Property Map
    The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist.
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    toBeDetached Boolean
    Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset
    vhd Property Map
    The virtual hard disk.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    DeleteOptions, DeleteOptionsArgs

    Delete
    Delete
    Detach
    Detach
    DeleteOptionsDelete
    Delete
    DeleteOptionsDetach
    Detach
    Delete
    Delete
    Detach
    Detach
    Delete
    Delete
    Detach
    Detach
    DELETE
    Delete
    DETACH
    Detach
    "Delete"