New-AzSnapshotConfig

Creates a configurable snapshot object.

Syntax

New-AzSnapshotConfig
   [[-SkuName] <String>]
   [[-OsType] <OperatingSystemTypes>]
   [[-DiskSizeGB] <Int32>]
   [[-Location] <String>]
   [-EdgeZone <String>]
   [-HyperVGeneration <String>]
   [-Incremental]
   [-Tag <Hashtable>]
   [-CreateOption <String>]
   [-StorageAccountId <String>]
   [-PurchasePlan <PSPurchasePlan>]
   [-SupportsHibernation <Boolean>]
   [-ImageReference <ImageDiskReference>]
   [-SourceUri <String>]
   [-SourceResourceId <String>]
   [-EncryptionSettingsEnabled <Boolean>]
   [-DiskEncryptionKey <KeyVaultAndSecretReference>]
   [-KeyEncryptionKey <KeyVaultAndKeyReference>]
   [-DiskEncryptionSetId <String>]
   [-EncryptionType <String>]
   [-DiskAccessId <String>]
   [-NetworkAccessPolicy <String>]
   [-PublicNetworkAccess <String>]
   [-AcceleratedNetwork <Boolean>]
   [-DataAccessAuthMode <String>]
   [-Architecture <String>]
   [-ElasticSanResourceId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzSnapshotConfig cmdlet creates a configurable snapshot object.

Examples

Example 1

$snapshotconfig = New-AzSnapshotConfig -Location 'Central US' -DiskSizeGB 5 -AccountType StandardLRS -OsType Windows -CreateOption Empty -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';
$snapshotconfig = Set-AzSnapshotDiskEncryptionKey -Snapshot $snapshotconfig -SecretUrl $secretUrl -SourceVaultId $secretId;
$snapshotconfig = Set-AzSnapshotKeyEncryptionKey -Snapshot $snapshotconfig -KeyUrl $keyUrl -SourceVaultId $keyId;
New-AzSnapshot -ResourceGroupName 'ResourceGroup01' -SnapshotName 'Snapshot01' -Snapshot $snapshotconfig;

The first command creates a local empty snapshot object with size 5GB in Standard_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 object. The last command takes the snapshot object and creates a snapshot with name 'Snapshot01' in resource group 'ResourceGroup01'.

Example 2

$elasticSanVolumeSnapshotResourceId =  "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup01/providers/Microsoft.ElasticSan/elasticSans/san1/volumeGroups/volumegroup1/snapshots/snapshot1"
$snapshotconfig = New-AzSnapshotConfig -Location 'France Central' -AccountType Standard_LRS -CreateOption CopyFromSanSnapshot -ElasticSanResourceId $elasticSanVolumeSnapshotResourceId
New-AzSnapshot -ResourceGroupName 'ResourceGroup01' -SnapshotName 'Snapshot01' -Snapshot $snapshotconfig;

The first command creates a local empty snapshot object with a ElasticSan Volume snapshot resource Id, with CreateOption as CopyFromSanSnapshot. The second command takes the snapshot object and creates a snapshot with name 'Snapshot01' in resource group 'ResourceGroup01'.

Example 3

Creates a configurable snapshot object. (autogenerated)

New-AzSnapshotConfig -CreateOption Empty -Location 'Central US' -SourceUri 'https://contosoaccount.blob.core.windows.net/vhdstore/win7baseimage.vhd'

Parameters

-AcceleratedNetwork

True if the image from which the OS disk is created supports accelerated networking.

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

-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

-CreateOption

Specifies whether this cmdlet creates a disk in the virtual machine from a platform or user image, creates an empty disk, or attaches an existing disk.

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

-DiskAccessId

Gets or sets ARM id of the DiskAccess resource for using private endpoints on.

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

-ElasticSanResourceId

Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san volume snapshot.

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

-HyperVGeneration

The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Allowed values are V1 and V2.

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

-ImageReference

Specifies the image reference on a snapshot.

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

-Incremental

Specifies an incremental snapshot. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed.

Type:SwitchParameter
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

-Location

Specifies a location.

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

-NetworkAccessPolicy

Network access policy defines the network access policy. Possible values include: 'AllowAll', 'AllowPrivate', 'DenyAll'

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

-PurchasePlan

Sets the purchase plan for the snapshot. Used for establishing the purchase context of any 3rd Party artifact through Marketplace.

Type:PSPurchasePlan
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

-SourceResourceId

Specifies the source resource ID.

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

-SourceUri

Specifies the source Uri.

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

-StorageAccountId

Specifies the storage account ID.

Type:String
Position:Named
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:Named
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

ImageDiskReference

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

KeyVaultAndSecretReference

KeyVaultAndKeyReference

Outputs

PSSnapshot