{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-private-link/json-schema/microsoft-azure-private-link-private-dns-zone-group-schema.json",
  "title": "PrivateDnsZoneGroup",
  "description": "Private dns zone group resource.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-private-link-privatednszonegroups-api-openapi.yml#/components/schemas/PrivateDnsZoneGroup",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
    },
    "etag": {
      "readOnly": true,
      "type": "string",
      "description": "A unique read-only string that changes whenever the resource is updated."
    },
    "properties": {
      "x-ms-client-flatten": true,
      "$ref": "#/$defs/PrivateDnsZoneGroupPropertiesFormat",
      "description": "Properties of the private dns zone group."
    }
  },
  "allOf": [
    {
      "$ref": "./network.json#/definitions/SubResource"
    }
  ],
  "$defs": {
    "PrivateDnsZoneConfig": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource."
        },
        "properties": {
          "x-ms-client-flatten": true,
          "$ref": "#/$defs/PrivateDnsZonePropertiesFormat",
          "description": "Properties of the private dns zone configuration."
        }
      },
      "description": "PrivateDnsZoneConfig resource."
    },
    "PrivateDnsZoneGroupPropertiesFormat": {
      "properties": {
        "provisioningState": {
          "readOnly": true,
          "$ref": "./network.json#/definitions/ProvisioningState",
          "description": "The provisioning state of the private dns zone group resource."
        },
        "privateDnsZoneConfigs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PrivateDnsZoneConfig"
          },
          "description": "A collection of private dns zone configurations of the private dns zone group."
        }
      },
      "description": "Properties of the private dns zone group."
    },
    "PrivateDnsZonePropertiesFormat": {
      "properties": {
        "privateDnsZoneId": {
          "type": "string",
          "description": "The resource id of the private dns zone."
        },
        "recordSets": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "#/$defs/RecordSet"
          },
          "description": "A collection of information regarding a recordSet, holding information to identify private resources."
        }
      },
      "description": "Properties of the private dns zone configuration resource."
    },
    "RecordSet": {
      "properties": {
        "recordType": {
          "type": "string",
          "description": "Resource record type."
        },
        "recordSetName": {
          "type": "string",
          "description": "Recordset name."
        },
        "fqdn": {
          "type": "string",
          "description": "Fqdn that resolves to private endpoint ip address."
        },
        "provisioningState": {
          "readOnly": true,
          "$ref": "./network.json#/definitions/ProvisioningState",
          "description": "The provisioning state of the recordset."
        },
        "ttl": {
          "type": "integer",
          "description": "Recordset time to live."
        },
        "ipAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The private ip address of the private endpoint."
        }
      },
      "description": "A collective group of information about the record set information."
    }
  }
}