New-AzSnapshotUpdateConfig

Creates a configurable snapshot update object.

Syntax

New-AzSnapshotUpdateConfig
   [[-SkuName] <String>]
   [[-OsType] <OperatingSystemTypes>]
   [[-DiskSizeGB] <Int32>]
   [[-Tag] <Hashtable>]
   [-SupportsHibernation <Boolean>]
   [-EncryptionSettingsEnabled <Boolean>]
   [-DiskEncryptionKey <KeyVaultAndSecretReference>]
   [-EdgeZone <String>]
   [-KeyEncryptionKey <KeyVaultAndKeyReference>]
   [-DiskEncryptionSetId <String>]
   [-EncryptionType <String>]
   [-PublicNetworkAccess <String>]
   [-DataAccessAuthMode <String>]
   [-Architecture <String>]
   [-NetworkAccessPolicy <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzSnapshotUpdateConfig cmdlet creates a configurable snapshot update object.

Examples

Example 1

$snapshotupdateconfig = New-AzSnapshotUpdateConfig -DiskSizeGB 10 -AccountType PremiumLRS -OsType Windows -EncryptionSettingsEnabled $true;
$secretUrl = 'https://myvault.vault-int.azure-int.net/secrets/123/';
$secretId = '/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup01/providers/Microsoft.KeyVault/vaults/TestVault123';
$keyUrl = 'https://myvault.vault-int.azure-int.net/keys/456';
$keyId = '/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup01/providers/Microsoft.KeyVault/vaults/TestVault456';
$snapshotupdateconfig = Set-AzSnapshotUpdateDiskEncryptionKey -SnapshotUpdate $snapshotupdateconfig -SecretUrl $secretUrl -SourceVaultId $secretId;
$snapshotupdateconfig = Set-AzSnapshotUpdateKeyEncryptionKey -SnapshotUpdate $snapshotupdateconfig -KeyUrl $keyUrl -SourceVaultId $keyId;
Update-AzSnapshot -ResourceGroupName 'ResourceGroup01' -SnapshotName 'Snapshot01' -SnapshotUpdate $snapshotupdateconfig;

The first command creates a local empty snapshot update object with size 10GB in Premium_LRS storage account type. It also sets Windows OS type and enables encryption settings. The second and third commands set the disk encryption key and key encryption key settings for the snapshot update object. The last command takes the snapshot update object and updates an existing snapshot with name 'Snapshot01' in resource group 'ResourceGroup01'.

Example 2

New-AzSnapshotUpdateConfig -DiskSizeGB 10 | Update-AzSnapshot -ResourceGroupName 'ResourceGroup01' -SnapshotName 'Snapshot01';

This command updates an existing snapshot with name 'Snapshot01' in resource group 'ResourceGroup01' to 10 GB disk size.

Parameters

-Architecture

CPU architecture supported by an OS disk. Possible values are "X64" and "Arm64".

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

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-DataAccessAuthMode

Additional authentication requirements when exporting or uploading to a disk or snapshot.

Type:String
Position:Named
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskEncryptionKey

Specifies the disk encryption key object on a snapshot.

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

-DiskEncryptionSetId

Specifies the resource Id of the disk encryption set to use for enabling encryption at rest.

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

-DiskSizeGB

Specifies the size of the disk in GB.

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

-EdgeZone

Sets the edge zone name. If set, the query will be routed to the specified edgezone instead of the main region.

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

-EncryptionSettingsEnabled

Enable encryption settings.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionType

The type of key used to encrypt the data of the disk. Available values are: 'EncryptionAtRestWithPlatformKey', 'EncryptionAtRestWithCustomerKey'

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

-KeyEncryptionKey

Specifies the Key encryption key on a snapshot.

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

-NetworkAccessPolicy

Policy for accessing the disk via network. Available values are: AllowAll, AllowPrivate, DeyAll

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

-OsType

Specifies the OS type.

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

-PublicNetworkAccess

Policy for controlling export on the disk.

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

-SkuName

Specifies the Sku name of the storage account.

Type:String
Aliases:AccountType
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SupportsHibernation

Indicates if the OS on the snapshot supports hibernation with $true or $false

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Tag

Key-value pairs in the form of a hash table. For example: @{key0="value0";key1=$null;key2="value2"}

Type:Hashtable
Position:3
Default value:None
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

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

Int32

Hashtable

Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

KeyVaultAndSecretReference

KeyVaultAndKeyReference

Outputs

PSSnapshotUpdate