Microsoft Bicep · Schema

Microsoft Bicep Template Spec

An Azure Template Spec resource that stores reusable Bicep/ARM templates as Azure resources. Template Specs provide versioning, sharing, and access control for infrastructure as code templates compiled from Bicep.

ARM TemplatesAzureCloudDeploymentDevOpsInfrastructure as Code

Properties

Name Type Description
id string The fully qualified Azure resource ID of the Template Spec
name string Name of the Template Spec
type string The resource type
location string The Azure location of the Template Spec. Cannot be changed after creation.
tags object Resource tags
systemData object
properties object
View JSON Schema on GitHub

JSON Schema

microsoft-bicep-template-spec-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://management.azure.com/schemas/microsoft-bicep/template-spec.json",
  "title": "Microsoft Bicep Template Spec",
  "description": "An Azure Template Spec resource that stores reusable Bicep/ARM templates as Azure resources. Template Specs provide versioning, sharing, and access control for infrastructure as code templates compiled from Bicep.",
  "type": "object",
  "required": ["location"],
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "The fully qualified Azure resource ID of the Template Spec"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 90,
      "pattern": "^[-\\w\\.\\_\\(\\)]+$",
      "description": "Name of the Template Spec"
    },
    "type": {
      "type": "string",
      "const": "Microsoft.Resources/templateSpecs",
      "description": "The resource type"
    },
    "location": {
      "type": "string",
      "description": "The Azure location of the Template Spec. Cannot be changed after creation."
    },
    "tags": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Resource tags"
    },
    "systemData": {
      "$ref": "#/$defs/SystemData"
    },
    "properties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "maxLength": 4096,
          "description": "Template Spec description"
        },
        "displayName": {
          "type": "string",
          "maxLength": 64,
          "description": "Template Spec display name"
        },
        "metadata": {
          "type": "object",
          "description": "The Template Spec metadata, typically a collection of key-value pairs"
        },
        "versions": {
          "type": "object",
          "readOnly": true,
          "additionalProperties": {
            "$ref": "#/$defs/TemplateSpecVersionInfo"
          },
          "description": "High-level information about the versions within this Template Spec"
        }
      }
    }
  },
  "$defs": {
    "TemplateSpecVersionInfo": {
      "type": "object",
      "description": "High-level information about a Template Spec version",
      "properties": {
        "description": {
          "type": "string",
          "description": "Template Spec version description"
        },
        "timeCreated": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "The timestamp of when the version was created"
        },
        "timeModified": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "The timestamp of when the version was last modified"
        }
      }
    },
    "TemplateSpecVersion": {
      "type": "object",
      "required": ["location", "properties"],
      "description": "A specific version of a Template Spec containing the compiled template content",
      "properties": {
        "id": {
          "type": "string",
          "readOnly": true,
          "description": "The fully qualified Azure resource ID"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Name of this version"
        },
        "type": {
          "type": "string",
          "const": "Microsoft.Resources/templateSpecs/versions",
          "description": "The resource type"
        },
        "location": {
          "type": "string",
          "description": "The Azure location of the Template Spec version"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags"
        },
        "systemData": {
          "$ref": "#/$defs/SystemData"
        },
        "properties": {
          "type": "object",
          "required": ["mainTemplate"],
          "properties": {
            "description": {
              "type": "string",
              "maxLength": 4096,
              "description": "Template Spec version description"
            },
            "mainTemplate": {
              "type": "object",
              "description": "The main ARM/Bicep compiled template content"
            },
            "linkedTemplates": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/LinkedTemplateArtifact"
              },
              "description": "Array of linked template artifacts"
            },
            "metadata": {
              "type": "object",
              "description": "Version metadata, typically a collection of key-value pairs"
            },
            "uiFormDefinition": {
              "type": "object",
              "description": "Azure portal UI form definition for customizing the deployment experience"
            }
          }
        }
      }
    },
    "LinkedTemplateArtifact": {
      "type": "object",
      "required": ["path", "template"],
      "description": "A linked template artifact within a Template Spec version",
      "properties": {
        "path": {
          "type": "string",
          "description": "A filesystem safe relative path of the artifact"
        },
        "template": {
          "type": "object",
          "description": "The compiled ARM/Bicep template content"
        }
      }
    },
    "SystemData": {
      "type": "object",
      "description": "Metadata pertaining to creation and last modification of the resource",
      "properties": {
        "createdBy": {
          "type": "string",
          "description": "The identity that created the resource"
        },
        "createdByType": {
          "type": "string",
          "enum": ["User", "Application", "ManagedIdentity", "Key"],
          "description": "The type of identity that created the resource"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp of resource creation (UTC)"
        },
        "lastModifiedBy": {
          "type": "string",
          "description": "The identity that last modified the resource"
        },
        "lastModifiedByType": {
          "type": "string",
          "enum": ["User", "Application", "ManagedIdentity", "Key"],
          "description": "The type of identity that last modified the resource"
        },
        "lastModifiedAt": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp of resource last modification (UTC)"
        }
      }
    }
  }
}