Set-AzVmssStorageProfile

Sets the storage profile properties for the VMSS.

Syntax

Set-AzVmssStorageProfile
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [[-ImageReferencePublisher] <String>]
   [[-ImageReferenceOffer] <String>]
   [[-ImageReferenceSku] <String>]
   [[-ImageReferenceVersion] <String>]
   [[-OsDiskName] <String>]
   [[-OsDiskCaching] <CachingTypes>]
   [[-OsDiskCreateOption] <String>]
   [-OsDiskDeleteOption <String>]
   [[-OsDiskOsType] <OperatingSystemTypes>]
   [[-Image] <String>]
   [[-VhdContainer] <String[]>]
   [-ImageReferenceId <String>]
   [-OsDiskWriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-ManagedDisk <String>]
   [-DiskEncryptionSetId <String>]
   [-DataDisk <VirtualMachineScaleSetDataDisk[]>]
   [-OSDiskSizeGB <Int32>]
   [-DiskControllerType <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-AzVmssStorageProfile cmdlet sets the storage profile properties for the Virtual Machine Scale Set (VMSS).

Examples

Example 1: Set the storage profile properties for the VMSS

Set-AzVmssStorageProfile -VirtualMachineScaleSet "ContosoVMSS" -Name "Test" -OsDiskCreateOption "FromImage" -OsDiskCaching "None" `
            -ImageReferenceOffer $ImgRef.Offer -ImageReferenceSku $ImgRef.Skus -ImageReferenceVersion $ImgRef.Version `
            -ImageReferencePublisher $ImgRef.PublisherName -VhdContainer $VhdContainer

This command sets the storage profile properties for the VMSS named ContosoVMSS.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DataDisk

Specifies the data disk object.

Type:VirtualMachineScaleSetDataDisk[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DiffDiskPlacement

Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e. cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. This parameter can only be used if the parameter DiffDiskSetting is set to 'Local'.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-DiffDiskSetting

Specifies the differencing disk settings for operating system disk.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-DiskControllerType

Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list) .
For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DiskEncryptionSetId

Specifies the resource Id of customer managed disk encryption set. This can only be specified for managed disk.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Image

Specifies the blob URI for the user image. VMSS creates an operating system disk in the same container of the user image.

Type:String
Position:9
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ImageReferenceId

Specifies the image reference ID.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ImageReferenceOffer

Specifies the type of virtual machine image (VMImage) offer. To obtain an image offer, use the Get-AzVMImageOffer cmdlet.

Type:String
Position:2
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ImageReferencePublisher

Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzVMImagePublisher cmdlet.

Type:String
Position:1
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ImageReferenceSku

Specifies the VMImage SKU. To obtain SKUs, use the Get-AzVMImageSku cmdlet.

Type:String
Position:3
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ImageReferenceVersion

Specifies the version of the VMImage. To use the latest version, specify a value of latest instead of a particular version.

Type:String
Position:4
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ManagedDisk

Specifies the managed disk.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskCaching

Specifies the caching mode of the operating system disk. The acceptable values for this parameter are:

  • ReadOnly
  • ReadWrite The default value is ReadWrite. If you change the caching value, the cmdlet will restart the virtual machine. This setting affects the consistency and performance of the disk.
Type:Nullable<T>[CachingTypes]
Accepted values:None, ReadOnly, ReadWrite
Position:6
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskCreateOption

Specifies how this cmdlet creates the VMSS virtual machines. The acceptable values for this parameter are:

  • Attach : This value is used when you are using a specialized disk to create the VMSS virtual machine.
  • FromImage : This value is used when you are using an image to create the VMSS virtual machine. If you are using a platform image, you will also use the imageReference parameter.
Type:String
Position:7
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskDeleteOption

Specifies whether OS disk should be deleted or detached upon VMSS Flex deletion (This feature is available for VMSS with Flexible OrchestrationMode only).

Accepted Values Delete - If this value is used, the OS disk is deleted when the VMSS Flex VM is deleted. Detach - If this value is used, the OS disk is retained after VMSS Flex VM is deleted.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskName

Specifies the name of the operating system disk.

Type:String
Aliases:Name
Position:5
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskOsType

Specifies the type of operating system on the disk. This is only needed for user image scenarios and not for a platform image.

Type:Nullable<T>[OperatingSystemTypes]
Accepted values:Windows, Linux
Position:8
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OSDiskSizeGB

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.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-OsDiskWriteAccelerator

Specifies whether WriteAccelerator should be enabled or disabled on the OS disk.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-VhdContainer

Specifies the container URLs that are used to store operating system disks for the VMSS.

Type:String[]
Position:10
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

Specifies the VMSS object. To obtain the object, use the New-AzVmssConfig object.

Type:PSVirtualMachineScaleSet
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Inputs

PSVirtualMachineScaleSet

String

Nullable<T>[[Microsoft.Azure.Management.Compute.Models.CachingTypes, Microsoft.Azure.Management.Compute, Version=23.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]

Nullable<T>[[Microsoft.Azure.Management.Compute.Models.OperatingSystemTypes, Microsoft.Azure.Management.Compute, Version=23.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]

String[]

VirtualMachineScaleSetDataDisk[]

Outputs

PSVirtualMachineScaleSet