Share via


Microsoft.VirtualMachineImages imageTemplates 2018-02-01-preview

Bicep resource definition

The imageTemplates resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.VirtualMachineImages/imageTemplates resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.VirtualMachineImages/imageTemplates@2018-02-01-preview' = {
  location: 'string'
  name: 'string'
  properties: {
    customize: [
      {
        name: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateCustomizer objects
      }
    ]
    distribute: [
      {
        artifactTags: {
          {customized property}: 'string'
        }
        runOutputName: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateDistributor objects
      }
    ]
    source: {
      type: 'string'
      // For remaining properties, see ImageTemplateSource objects
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

ImageTemplateCustomizer objects

Set the type property to specify the type of object.

For shell, use:

{
  script: 'string'
  type: 'shell'
}

ImageTemplateSource objects

Set the type property to specify the type of object.

For ISO, use:

{
  sha256Checksum: 'string'
  sourceURI: 'string'
  type: 'ISO'
}

For PlatformImage, use:

{
  offer: 'string'
  publisher: 'string'
  sku: 'string'
  type: 'PlatformImage'
  version: 'string'
}

ImageTemplateDistributor objects

Set the type property to specify the type of object.

For managedImage, use:

{
  imageId: 'string'
  location: 'string'
  type: 'managedImage'
}

For sharedImage, use:

{
  galleryImageId: 'string'
  replicationRegions: [
    'string'
  ]
  type: 'sharedImage'
}

Property Values

Microsoft.VirtualMachineImages/imageTemplates

Name Description Value
location Resource location string (required)
name The resource name string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
properties ImageTemplateProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ImageTemplateCustomizer

Name Description Value
name Friendly Name to provide context on what this customization step does string
type Set to 'shell' for type ImageTemplateShellCustomizer. 'shell' (required)

ImageTemplateDistributor

Name Description Value
artifactTags Tags that will be applied to the artifact once it has been created/updated by the distributor. ImageTemplateDistributorArtifactTags
runOutputName The name to be used for the associated RunOutput. string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
type Set to 'managedImage' for type ImageTemplateManagedImageDistributor. Set to 'sharedImage' for type ImageTemplateSharedImageDistributor. 'managedImage'
'sharedImage' (required)

ImageTemplateDistributorArtifactTags

Name Description Value

ImageTemplateIsoSource

Name Description Value
sha256Checksum SHA256 Checksum of the ISO image. string (required)
sourceURI URL to get the ISO image. This URL has to be accessible to the resource provider at the time of the imageTemplate creation. string (required)
type Specifies the type of source image you want to start with. 'ISO' (required)

ImageTemplateManagedImageDistributor

Name Description Value
imageId Resource Id of the Managed Disk Image string (required)
location Azure location for the image, should match if image already exists string (required)
type Type of distribution. 'managedImage' (required)

ImageTemplatePlatformImageSource

Name Description Value
offer Image offer from the Azure Gallery Images. string
publisher Image Publisher in Azure Gallery Images. string
sku Image sku from the Azure Gallery Images. string
type Specifies the type of source image you want to start with. 'PlatformImage' (required)
version Image version from the Azure Gallery Images. string

ImageTemplateProperties

Name Description Value
customize Specifies the properties used to describe the customization steps of the image, like Image source etc ImageTemplateCustomizer[]
distribute The distribution targets where the image output needs to go to. ImageTemplateDistributor[] (required)
source Specifies the properties used to describe the source image. ImageTemplateSource (required)

ImageTemplateSharedImageDistributor

Name Description Value
galleryImageId Resource Id of the Shared Image Gallery image string (required)
replicationRegions string[] (required)
type Type of distribution. 'sharedImage' (required)

ImageTemplateShellCustomizer

Name Description Value
script The shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc string
type The type of customization tool you want to use on the Image. For example, "shell" can be shellCustomizer 'shell' (required)

ImageTemplateSource

Name Description Value
type Set to 'ISO' for type ImageTemplateIsoSource. Set to 'PlatformImage' for type ImageTemplatePlatformImageSource. 'ISO'
'PlatformImage' (required)

ResourceTags

Name Description Value

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
Virtual Machine Image Template AVM Resource Module for Virtual Machine Image Template

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Azure Image Builder with Azure Windows Baseline Creates an Azure Image Builder environment and builds a Windows Server image with the latest Windows Updates and Azure Windows Baseline applied.
Configure Dev Box service This template would create all Dev Box admin resources as per Dev Box quick start guide (/azure/dev-box/quickstart-create-dev-box). You can view all resources created, or directly go to DevPortal.microsoft.com to create your first Dev Box.

ARM template resource definition

The imageTemplates resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.VirtualMachineImages/imageTemplates resource, add the following JSON to your template.

{
  "type": "Microsoft.VirtualMachineImages/imageTemplates",
  "apiVersion": "2018-02-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "customize": [ {
      "name": "string",
      "type": "string"
      // For remaining properties, see ImageTemplateCustomizer objects
    } ],
    "distribute": [ {
      "artifactTags": {
        "{customized property}": "string"
      },
      "runOutputName": "string",
      "type": "string"
      // For remaining properties, see ImageTemplateDistributor objects
    } ],
    "source": {
      "type": "string"
      // For remaining properties, see ImageTemplateSource objects
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

ImageTemplateCustomizer objects

Set the type property to specify the type of object.

For shell, use:

{
  "script": "string",
  "type": "shell"
}

ImageTemplateSource objects

Set the type property to specify the type of object.

For ISO, use:

{
  "sha256Checksum": "string",
  "sourceURI": "string",
  "type": "ISO"
}

For PlatformImage, use:

{
  "offer": "string",
  "publisher": "string",
  "sku": "string",
  "type": "PlatformImage",
  "version": "string"
}

ImageTemplateDistributor objects

Set the type property to specify the type of object.

For managedImage, use:

{
  "imageId": "string",
  "location": "string",
  "type": "managedImage"
}

For sharedImage, use:

{
  "galleryImageId": "string",
  "replicationRegions": [ "string" ],
  "type": "sharedImage"
}

Property Values

Microsoft.VirtualMachineImages/imageTemplates

Name Description Value
apiVersion The api version '2018-02-01-preview'
location Resource location string (required)
name The resource name string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
properties ImageTemplateProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.VirtualMachineImages/imageTemplates'

ImageTemplateCustomizer

Name Description Value
name Friendly Name to provide context on what this customization step does string
type Set to 'shell' for type ImageTemplateShellCustomizer. 'shell' (required)

ImageTemplateDistributor

Name Description Value
artifactTags Tags that will be applied to the artifact once it has been created/updated by the distributor. ImageTemplateDistributorArtifactTags
runOutputName The name to be used for the associated RunOutput. string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
type Set to 'managedImage' for type ImageTemplateManagedImageDistributor. Set to 'sharedImage' for type ImageTemplateSharedImageDistributor. 'managedImage'
'sharedImage' (required)

ImageTemplateDistributorArtifactTags

Name Description Value

ImageTemplateIsoSource

Name Description Value
sha256Checksum SHA256 Checksum of the ISO image. string (required)
sourceURI URL to get the ISO image. This URL has to be accessible to the resource provider at the time of the imageTemplate creation. string (required)
type Specifies the type of source image you want to start with. 'ISO' (required)

ImageTemplateManagedImageDistributor

Name Description Value
imageId Resource Id of the Managed Disk Image string (required)
location Azure location for the image, should match if image already exists string (required)
type Type of distribution. 'managedImage' (required)

ImageTemplatePlatformImageSource

Name Description Value
offer Image offer from the Azure Gallery Images. string
publisher Image Publisher in Azure Gallery Images. string
sku Image sku from the Azure Gallery Images. string
type Specifies the type of source image you want to start with. 'PlatformImage' (required)
version Image version from the Azure Gallery Images. string

ImageTemplateProperties

Name Description Value
customize Specifies the properties used to describe the customization steps of the image, like Image source etc ImageTemplateCustomizer[]
distribute The distribution targets where the image output needs to go to. ImageTemplateDistributor[] (required)
source Specifies the properties used to describe the source image. ImageTemplateSource (required)

ImageTemplateSharedImageDistributor

Name Description Value
galleryImageId Resource Id of the Shared Image Gallery image string (required)
replicationRegions string[] (required)
type Type of distribution. 'sharedImage' (required)

ImageTemplateShellCustomizer

Name Description Value
script The shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc string
type The type of customization tool you want to use on the Image. For example, "shell" can be shellCustomizer 'shell' (required)

ImageTemplateSource

Name Description Value
type Set to 'ISO' for type ImageTemplateIsoSource. Set to 'PlatformImage' for type ImageTemplatePlatformImageSource. 'ISO'
'PlatformImage' (required)

ResourceTags

Name Description Value

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Azure Image Builder with Azure Windows Baseline

Deploy to Azure
Creates an Azure Image Builder environment and builds a Windows Server image with the latest Windows Updates and Azure Windows Baseline applied.
Configure Dev Box service

Deploy to Azure
This template would create all Dev Box admin resources as per Dev Box quick start guide (/azure/dev-box/quickstart-create-dev-box). You can view all resources created, or directly go to DevPortal.microsoft.com to create your first Dev Box.

Terraform (AzAPI provider) resource definition

The imageTemplates resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.VirtualMachineImages/imageTemplates resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.VirtualMachineImages/imageTemplates@2018-02-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      customize = [
        {
          name = "string"
          type = "string"
          // For remaining properties, see ImageTemplateCustomizer objects
        }
      ]
      distribute = [
        {
          artifactTags = {
            {customized property} = "string"
          }
          runOutputName = "string"
          type = "string"
          // For remaining properties, see ImageTemplateDistributor objects
        }
      ]
      source = {
        type = "string"
        // For remaining properties, see ImageTemplateSource objects
      }
    }
  }
}

ImageTemplateCustomizer objects

Set the type property to specify the type of object.

For shell, use:

{
  script = "string"
  type = "shell"
}

ImageTemplateSource objects

Set the type property to specify the type of object.

For ISO, use:

{
  sha256Checksum = "string"
  sourceURI = "string"
  type = "ISO"
}

For PlatformImage, use:

{
  offer = "string"
  publisher = "string"
  sku = "string"
  type = "PlatformImage"
  version = "string"
}

ImageTemplateDistributor objects

Set the type property to specify the type of object.

For managedImage, use:

{
  imageId = "string"
  location = "string"
  type = "managedImage"
}

For sharedImage, use:

{
  galleryImageId = "string"
  replicationRegions = [
    "string"
  ]
  type = "sharedImage"
}

Property Values

Microsoft.VirtualMachineImages/imageTemplates

Name Description Value
location Resource location string (required)
name The resource name string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
properties ImageTemplateProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.VirtualMachineImages/imageTemplates@2018-02-01-preview"

ImageTemplateCustomizer

Name Description Value
name Friendly Name to provide context on what this customization step does string
type Set to 'shell' for type ImageTemplateShellCustomizer. 'shell' (required)

ImageTemplateDistributor

Name Description Value
artifactTags Tags that will be applied to the artifact once it has been created/updated by the distributor. ImageTemplateDistributorArtifactTags
runOutputName The name to be used for the associated RunOutput. string

Constraints:
Pattern = ^[A-Za-z0-9-_]{1,64}$ (required)
type Set to 'managedImage' for type ImageTemplateManagedImageDistributor. Set to 'sharedImage' for type ImageTemplateSharedImageDistributor. 'managedImage'
'sharedImage' (required)

ImageTemplateDistributorArtifactTags

Name Description Value

ImageTemplateIsoSource

Name Description Value
sha256Checksum SHA256 Checksum of the ISO image. string (required)
sourceURI URL to get the ISO image. This URL has to be accessible to the resource provider at the time of the imageTemplate creation. string (required)
type Specifies the type of source image you want to start with. 'ISO' (required)

ImageTemplateManagedImageDistributor

Name Description Value
imageId Resource Id of the Managed Disk Image string (required)
location Azure location for the image, should match if image already exists string (required)
type Type of distribution. 'managedImage' (required)

ImageTemplatePlatformImageSource

Name Description Value
offer Image offer from the Azure Gallery Images. string
publisher Image Publisher in Azure Gallery Images. string
sku Image sku from the Azure Gallery Images. string
type Specifies the type of source image you want to start with. 'PlatformImage' (required)
version Image version from the Azure Gallery Images. string

ImageTemplateProperties

Name Description Value
customize Specifies the properties used to describe the customization steps of the image, like Image source etc ImageTemplateCustomizer[]
distribute The distribution targets where the image output needs to go to. ImageTemplateDistributor[] (required)
source Specifies the properties used to describe the source image. ImageTemplateSource (required)

ImageTemplateSharedImageDistributor

Name Description Value
galleryImageId Resource Id of the Shared Image Gallery image string (required)
replicationRegions string[] (required)
type Type of distribution. 'sharedImage' (required)

ImageTemplateShellCustomizer

Name Description Value
script The shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc string
type The type of customization tool you want to use on the Image. For example, "shell" can be shellCustomizer 'shell' (required)

ImageTemplateSource

Name Description Value
type Set to 'ISO' for type ImageTemplateIsoSource. Set to 'PlatformImage' for type ImageTemplatePlatformImageSource. 'ISO'
'PlatformImage' (required)

ResourceTags

Name Description Value