az image

Note

This command group has commands that are defined in both Azure CLI and at least one extension. Install each extension to benefit from its extended capabilities. Learn more about extensions.

Manage custom virtual machine images.

Commands

Name Description Type Status
az image builder

Manage and build image builder templates.

Core GA
az image builder cancel

Cancel the long running image build based on the image template.

Core GA
az image builder create

Create an image builder template.

Core GA
az image builder customizer

Manage image builder template customizers.

Core GA
az image builder customizer add

Add an image builder customizer to an image builder template.

Core GA
az image builder customizer clear

Remove all image builder customizers from an image builder template.

Core GA
az image builder customizer remove

Remove an image builder customizer from an image builder template.

Core GA
az image builder delete

Delete image builder template.

Core GA
az image builder error-handler

Manage image builder template error handler.

Core GA
az image builder error-handler add

Add error handler to an existing image builder template.

Core GA
az image builder error-handler remove

Remove error handler from an existing image builder template.

Core GA
az image builder error-handler show

Show error handler of an existing image builder template.

Core GA
az image builder identity

Manage identities of an image builder template.

Core GA
az image builder identity assign

Add managed identities to an existing image builder template. Currently, only one user identity is supported.

Core GA
az image builder identity remove

Remove managed identities from an existing image builder template.

Core GA
az image builder identity show

Display managed identities of a image builder template.

Core GA
az image builder list

List image builder templates.

Core GA
az image builder optimizer

Manage image builder template optimizer.

Core GA
az image builder optimizer add

Add optimizer to an existing image builder template.

Core GA
az image builder optimizer remove

Remove optimizer from an existing image builder template.

Core GA
az image builder optimizer show

Show optimizer of an existing image builder template.

Core GA
az image builder optimizer update

Update an optimizer from an existing image builder template.

Core GA
az image builder output

Manage image builder template output distributors.

Core GA
az image builder output add

Add an image builder output distributor to an image builder template.

Core GA
az image builder output clear

Remove all image builder output distributors from an image builder template.

Core GA
az image builder output remove

Remove an image builder output distributor from an image builder template.

Core GA
az image builder output versioning

Manage image builder template output versioner.

Core GA
az image builder output versioning remove

Remove all versioning options on specified outputs.

Core GA
az image builder output versioning set

Set the image builder output versioner of an image builder template.

Core GA
az image builder output versioning show

Show versioning options on specified outputs.

Core GA
az image builder run

Build an image builder template.

Core GA
az image builder show

Show an image builder template.

Core GA
az image builder show-runs

Show an image builder template's run outputs.

Core GA
az image builder trigger

Manage image builder template trigger.

Core GA
az image builder trigger create

Create a trigger for the specified virtual machine image template.

Core GA
az image builder trigger delete

Delete a trigger for the specified virtual machine image template.

Core GA
az image builder trigger list

List all triggers for the specified Image Template resource.

Core GA
az image builder trigger show

Get the specified trigger for the specified image template resource.

Core GA
az image builder trigger wait

Place the CLI in a waiting state until a condition is met.

Core GA
az image builder update

Update an image builder template.

Core GA
az image builder validator

Manage image builder template validate.

Core GA
az image builder validator add

Add validate to an existing image builder template.

Core GA
az image builder validator remove

Remove validate from an existing image builder template.

Core GA
az image builder validator show

Show validate of an existing image builder template.

Core GA
az image builder wait

Place the CLI in a waiting state until a condition of the template is met.

Core GA
az image copy

Copy a managed image (or vm) to other regions. It requires the source disk to be available.

Extension GA
az image create

Create a custom Virtual Machine Image from managed disks or snapshots.

Core GA
az image delete

Delete an Image.

Core GA
az image list

List the list of images under a resource group.

Core GA
az image show

Get an image.

Core GA
az image update

Update custom VM images.

Core GA
az image wait

Place the CLI in a waiting state until a condition is met.

Core GA

az image copy

Copy a managed image (or vm) to other regions. It requires the source disk to be available.

az image copy --source-object-name
              --source-resource-group
              --target-location
              --target-resource-group
              [--cleanup]
              [--export-as-snapshot]
              [--parallel-degree]
              [--source-type {image, vm}]
              [--tags]
              [--target-name]
              [--target-subscription]
              [--temporary-resource-group-name]
              [--timeout]

Examples

Copy an image to several regions and cleanup at the end.

az image copy --source-resource-group mySources-rg --source-object-name myImage \
    --target-location uksouth northeurope --target-resource-group "images-repo-rg" --cleanup

Use an already generalized vm to create images in other regions.

az image copy --source-resource-group mySources-rg --source-object-name myVm \
    --source-type vm --target-location uksouth northeurope --target-resource-group "images-repo-rg"

Required Parameters

--source-object-name

The name of the image or vm resource.

--source-resource-group

Name of the resource group of the source resource.

--target-location

Space separated location list to create the image in (e.g. westeurope etc.).

--target-resource-group

Name of the resource group to create images in.

Optional Parameters

--cleanup

Include this switch to delete temporary resources upon completion.

Default value: False
--export-as-snapshot

Include this switch to export the copies as snapshots instead of images.

Default value: False
--parallel-degree

Number of parallel copy operations.

Default value: -1
--source-type

Image or vm.

Accepted values: image, vm
Default value: image
--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.

--target-name

Name of the final image that will be created.

--target-subscription

Name or ID of the subscription where the final image should be created.

--temporary-resource-group-name

Resource Group name where temporary storage account will be created.

Default value: image-copy-rg
--timeout

Time in seconds for the copy operation to finish. Increase this time if you are going to copy large images (disks) like 512GB or more.

Default value: 3600
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image create

Create a custom Virtual Machine Image from managed disks or snapshots.

az image create --name
                --resource-group
                --source
                [--data-disk-caching {None, ReadOnly, ReadWrite}]
                [--data-disk-sources]
                [--edge-zone]
                [--hyper-v-generation {V1, V2}]
                [--location]
                [--os-disk-caching {None, ReadOnly, ReadWrite}]
                [--os-type {Linux, Windows}]
                [--storage-sku {PremiumV2_LRS, Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS}]
                [--tags]
                [--zone-resilient {false, true}]

Examples

Create an image from an existing disk.

az image create -g MyResourceGroup -n image1 --os-type Linux \
    --source /subscriptions/db5eb68e-73e2-4fa8-b18a-0123456789999/resourceGroups/rg1/providers/Microsoft.Compute/snapshots/s1

Create an image by capturing an existing generalized virtual machine in the same resource group.

az image create -g MyResourceGroup -n image1 --source MyVm1

Required Parameters

--name -n

New image name.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--source

OS disk source from the same region, including a virtual machine ID or name, OS disk blob URI, managed OS disk ID or name, or OS snapshot ID or name.

Optional Parameters

--data-disk-caching

Storage caching type for the image's data disk.

Accepted values: None, ReadOnly, ReadWrite
--data-disk-sources

Space-separated list of data disk sources, including unmanaged blob URI, managed disk ID or name, or snapshot ID or name.

--edge-zone

The name of edge zone.

--hyper-v-generation

The hypervisor generation of the Virtual Machine created from the image.

Accepted values: V1, V2
Default value: V1
--location -l

Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=<location>.

--os-disk-caching

Storage caching type for the image's OS disk.

Accepted values: None, ReadOnly, ReadWrite
--os-type
Accepted values: Linux, Windows
--storage-sku

The SKU of the storage account with which to create the VM image. Unused if source VM is specified.

Accepted values: PremiumV2_LRS, Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS
--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.

--zone-resilient

Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage.

Accepted values: false, true
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image delete

Delete an Image.

az image delete [--ids]
                [--image-name]
                [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                [--resource-group]
                [--subscription]

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--image-name --name -n

The name of the image.

--no-wait

Do not wait for the long-running operation to finish.

Accepted values: 0, 1, f, false, n, no, t, true, y, yes
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image list

List the list of images under a resource group.

az image list [--max-items]
              [--next-token]
              [--resource-group]

Optional Parameters

--max-items

Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token argument of a subsequent command.

--next-token

Token to specify where to start paginating. This is the token value from a previously truncated response.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image show

Get an image.

az image show [--expand]
              [--ids]
              [--image-name]
              [--resource-group]
              [--subscription]

Optional Parameters

--expand

The expand expression to apply on the operation.

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--image-name --name -n

The name of the image.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image update

Update custom VM images.

az image update [--add]
                [--force-string]
                [--ids]
                [--name]
                [--remove]
                [--resource-group]
                [--set]
                [--subscription]
                [--tags]

Examples

Add or update tags.

az image update -n ImageName -g ResourceGroup --tags tag1=val1 tag2=val2

Remove all tags.

az image update -n ImageName -g resourceGroup --tags

Optional Parameters

--add

Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty <key=value, string or JSON string>.

Default value: []
--force-string

When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON.

Default value: False
--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--name -n

The name of the image. Required.

--remove

Remove a property or an element from a list. Example: --remove property.list <indexToRemove> OR --remove propertyToRemove.

Default value: []
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--set

Update an object by specifying a property path and value to set. Example: --set property1.property2=<value>.

Default value: []
--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az image wait

Place the CLI in a waiting state until a condition is met.

az image wait [--created]
              [--custom]
              [--deleted]
              [--exists]
              [--expand]
              [--ids]
              [--image-name]
              [--interval]
              [--resource-group]
              [--subscription]
              [--timeout]
              [--updated]

Optional Parameters

--created

Wait until created with 'provisioningState' at 'Succeeded'.

Default value: False
--custom

Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running'].

--deleted

Wait until deleted.

Default value: False
--exists

Wait until the resource exists.

Default value: False
--expand

The expand expression to apply on the operation.

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--image-name --name -n

The name of the image.

--interval

Polling interval in seconds.

Default value: 30
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--timeout

Maximum wait in seconds.

Default value: 3600
--updated

Wait until updated with provisioningState at 'Succeeded'.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.