Microsoft.Resources templateSpecs

The templateSpecs resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.


Instead of using an ARM template or Bicep file, we recommend that you use PowerShell or CLI to create your template spec. Those tools automatically convert linked templates to artifacts connected to your main template. When you use an ARM template to create the template spec, you must manually add those linked templates as artifacts, which can be complicated. For more information, see Quickstart: Create and deploy template spec.

Template format

To create a Microsoft.Resources/templateSpecs resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.Resources/templateSpecs@2021-05-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  properties: {
    description: 'string'
    displayName: 'string'
    metadata: any()

Property values


Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
name The resource name string (required)
location The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported Azure locations. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Template Spec properties. TemplateSpecProperties


Name Description Value
description Template Spec description. string
displayName Template Spec display name. string
metadata Any object For Bicep, you can use the any() function.