{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.api.gov/microsoft-azure/resource-group",
  "title": "Azure Resource Group",
  "description": "A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Resource groups are used to organize resources by lifecycle and security boundary.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The ID of the resource group. Format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}.",
      "readOnly": true,
      "examples": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup"
      ]
    },
    "name": {
      "type": "string",
      "description": "The name of the resource group.",
      "readOnly": true,
      "minLength": 1,
      "maxLength": 90,
      "examples": [
        "myResourceGroup"
      ]
    },
    "type": {
      "type": "string",
      "description": "The type of the resource group.",
      "readOnly": true,
      "const": "Microsoft.Resources/resourceGroups"
    },
    "location": {
      "type": "string",
      "description": "The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations.",
      "examples": [
        "eastus",
        "westus2",
        "westeurope"
      ]
    },
    "managedBy": {
      "type": "string",
      "description": "The ID of the resource that manages this resource group."
    },
    "tags": {
      "type": "object",
      "description": "The tags attached to the resource group.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "properties": {
      "type": "object",
      "description": "The resource group properties.",
      "properties": {
        "provisioningState": {
          "type": "string",
          "description": "The provisioning state of the resource group.",
          "readOnly": true,
          "examples": [
            "Succeeded",
            "Deleting",
            "Failed"
          ]
        }
      }
    }
  },
  "required": [
    "location"
  ]
}
