{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Client for managing DNS zones and record.",
    "title": "DnsManagementClient",
    "version": "2015-05-04-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/preview/2015-05-04-preview/dns.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "dns",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {},
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones": {
      "get": {
        "description": "Lists the DNS zones within a resource group.",
        "operationId": "Zones_ListZonesInSubscription",
        "parameters": [
          {
            "description": "Query parameters. If null is passed returns the default number of zones.",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ZoneListResult"
            }
          }
        },
        "tags": [
          "Zones"
        ],
        "x-ms-odata": "#/definitions/Zone",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnszones": {
      "get": {
        "description": "Lists the DNS zones within a resource group.",
        "operationId": "Zones_ListZonesInResourceGroup",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Query parameters. If null is passed returns the default number of zones.",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ZoneListResult"
            }
          }
        },
        "tags": [
          "Zones"
        ],
        "x-ms-odata": "#/definitions/Zone",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnszones/{zoneName}": {
      "delete": {
        "description": "Removes a DNS zone from a resource group.",
        "operationId": "Zones_Delete",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Defines the If-Match condition. The delete operation will be performed only if the ETag of the zone on the server matches this value.",
            "in": "header",
            "name": "If-Match",
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Zones"
        ]
      },
      "get": {
        "description": "Gets a DNS zone.",
        "operationId": "Zones_Get",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Zone"
            }
          }
        },
        "tags": [
          "Zones"
        ]
      },
      "put": {
        "description": "Creates a DNS zone within a resource group.",
        "operationId": "Zones_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The etag of Zone.",
            "in": "header",
            "name": "If-Match",
            "type": "string"
          },
          {
            "description": "Defines the If-None-Match condition. Set to '*' to force Create-If-Not-Exist. Other values will be ignored.",
            "in": "header",
            "name": "If-None-Match",
            "type": "string"
          },
          {
            "description": "Parameters supplied to the CreateOrUpdate operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Zone"
            }
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Zone"
            }
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "Zones"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnszones/{zoneName}/recordsets": {
      "get": {
        "description": "Lists all RecordSets in a DNS zone.",
        "operationId": "RecordSets_ListAll",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone from which to enumerate RecordSets.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Query parameters. If null is passed returns the default number of zones.",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RecordSetListResult"
            }
          }
        },
        "tags": [
          "RecordSets"
        ],
        "x-ms-odata": "#/definitions/RecordSet",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnszones/{zoneName}/{recordType}": {
      "get": {
        "description": "Lists the RecordSets of a specified type in a DNS zone.",
        "operationId": "RecordSets_List",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone from which to enumerate RecordsSets.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The type of record sets to enumerate.",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "NS",
              "PTR",
              "SOA",
              "SRV",
              "TXT"
            ],
            "in": "path",
            "name": "recordType",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "name": "RecordType"
            }
          },
          {
            "description": "Query parameters. If null is passed returns the default number of zones.",
            "in": "query",
            "name": "$top",
            "required": false,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RecordSetListResult"
            }
          }
        },
        "tags": [
          "RecordSets"
        ],
        "x-ms-odata": "#/definitions/RecordSet",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnszones/{zoneName}/{recordType}/{relativeRecordSetName}": {
      "delete": {
        "description": "Removes a RecordSet from a DNS zone.",
        "operationId": "RecordSets_Delete",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The type of DNS record.",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "NS",
              "PTR",
              "SOA",
              "SRV",
              "TXT"
            ],
            "in": "path",
            "name": "recordType",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "name": "RecordType"
            }
          },
          {
            "description": "The name of the RecordSet, relative to the name of the zone.",
            "in": "path",
            "name": "relativeRecordSetName",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Defines the If-Match condition. The delete operation will be performed only if the ETag of the zone on the server matches this value.",
            "in": "header",
            "name": "If-Match",
            "type": "string"
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "RecordSets"
        ]
      },
      "get": {
        "description": "Gets a RecordSet.",
        "operationId": "RecordSets_Get",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The type of DNS record.",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "NS",
              "PTR",
              "SOA",
              "SRV",
              "TXT"
            ],
            "in": "path",
            "name": "recordType",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "name": "RecordType"
            }
          },
          {
            "description": "The name of the RecordSet, relative to the name of the zone.",
            "in": "path",
            "name": "relativeRecordSetName",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RecordSet"
            }
          }
        },
        "tags": [
          "RecordSets"
        ]
      },
      "put": {
        "description": "Creates a RecordSet within a DNS zone.",
        "operationId": "RecordSets_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group. The name is case insensitive.",
            "in": "path",
            "maxLength": 90,
            "minLength": 1,
            "name": "resourceGroupName",
            "pattern": "^[-\\w\\._\\(\\)]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the zone without a terminating dot.",
            "in": "path",
            "name": "zoneName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The type of DNS record.",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "NS",
              "PTR",
              "SOA",
              "SRV",
              "TXT"
            ],
            "in": "path",
            "name": "recordType",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "name": "RecordType"
            }
          },
          {
            "description": "The name of the RecordSet, relative to the name of the zone.",
            "in": "path",
            "name": "relativeRecordSetName",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The etag of RecordSet.",
            "in": "header",
            "name": "If-Match",
            "type": "string"
          },
          {
            "description": "Defines the If-None-Match condition. Set to '*' to force Create-If-Not-Exist. Other values will be ignored.",
            "in": "header",
            "name": "If-None-Match",
            "type": "string"
          },
          {
            "description": "Parameters supplied to the CreateOrUpdate operation.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecordSet"
            }
          },
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "minLength": 1,
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ID of the target subscription.",
            "in": "path",
            "minLength": 1,
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RecordSet"
            }
          },
          "202": {
            "description": ""
          }
        },
        "tags": [
          "RecordSets"
        ]
      }
    }
  },
  "definitions": {
    "ARecord": {
      "description": "An A record.",
      "properties": {
        "ipv4Address": {
          "description": "Gets or sets the IPv4 address of this A record in string notation.",
          "type": "string"
        }
      }
    },
    "AaaaRecord": {
      "description": "An AAAA record.",
      "properties": {
        "ipv6Address": {
          "description": "Gets or sets the IPv6 address of this AAAA record in string notation.",
          "type": "string"
        }
      }
    },
    "CnameRecord": {
      "description": "A CNAME record.",
      "properties": {
        "cname": {
          "description": "Gets or sets the canonical name for this record without a terminating dot.",
          "type": "string"
        }
      }
    },
    "MxRecord": {
      "description": "An MX record.",
      "properties": {
        "exchange": {
          "description": "Gets or sets the domain name of the mail host, without a terminating dot.",
          "type": "string"
        },
        "preference": {
          "description": "Gets or sets the preference metric for this record.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "NsRecord": {
      "description": "An NS record.",
      "properties": {
        "nsdname": {
          "description": "Gets or sets the name server name for this record, without a terminating dot.",
          "type": "string"
        }
      }
    },
    "PtrRecord": {
      "description": "A PTR record.",
      "properties": {
        "ptrdname": {
          "description": "Gets or sets the PTR target domain name for this record without a terminating dot.",
          "type": "string"
        }
      }
    },
    "RecordSet": {
      "allOf": [
        {
          "allOf": [
            {
              "properties": {
                "id": {
                  "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}",
                  "readOnly": true,
                  "type": "string"
                },
                "name": {
                  "description": "The name of the resource",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "x-ms-azure-resource": true
            }
          ],
          "description": "The resource model definition for a ARM tracked top level resource",
          "properties": {
            "location": {
              "description": "The geo-location where the resource lives",
              "type": "string",
              "x-ms-mutability": [
                "read",
                "create"
              ]
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object",
              "x-ms-mutability": [
                "read",
                "create",
                "update"
              ]
            }
          },
          "required": [
            "location"
          ]
        }
      ],
      "description": "Describes a DNS RecordSet (a set of DNS records with the same name and type).",
      "properties": {
        "etag": {
          "description": "Gets or sets the ETag of the RecordSet.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RecordSetProperties",
          "description": "Gets or sets the properties of the RecordSet."
        }
      }
    },
    "RecordSetListResult": {
      "description": "The response to a RecordSet List operation.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the continuation token for the next page.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets information about the RecordSets in the response.",
          "items": {
            "$ref": "#/definitions/RecordSet"
          },
          "type": "array"
        }
      }
    },
    "RecordSetProperties": {
      "description": "Represents the properties of the records in the RecordSet.",
      "properties": {
        "AAAARecords": {
          "description": "Gets or sets the list of AAAA records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/AaaaRecord"
          },
          "type": "array"
        },
        "ARecords": {
          "description": "Gets or sets the list of A records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/ARecord"
          },
          "type": "array"
        },
        "CNAMERecord": {
          "$ref": "#/definitions/CnameRecord",
          "description": "Gets or sets the CNAME record in the RecordSet."
        },
        "MXRecords": {
          "description": "Gets or sets the list of MX records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/MxRecord"
          },
          "type": "array"
        },
        "NSRecords": {
          "description": "Gets or sets the list of NS records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/NsRecord"
          },
          "type": "array"
        },
        "PTRRecords": {
          "description": "Gets or sets the list of PTR records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/PtrRecord"
          },
          "type": "array"
        },
        "SOARecord": {
          "$ref": "#/definitions/SoaRecord",
          "description": "Gets or sets the SOA record in the RecordSet."
        },
        "SRVRecords": {
          "description": "Gets or sets the list of SRV records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/SrvRecord"
          },
          "type": "array"
        },
        "TTL": {
          "description": "Gets or sets the TTL of the records in the RecordSet.",
          "format": "int64",
          "type": "integer"
        },
        "TXTRecords": {
          "description": "Gets or sets the list of TXT records in the RecordSet.",
          "items": {
            "$ref": "#/definitions/TxtRecord"
          },
          "type": "array"
        }
      }
    },
    "SoaRecord": {
      "description": "An SOA record.",
      "properties": {
        "email": {
          "description": "Gets or sets the email for this record.",
          "type": "string"
        },
        "expireTime": {
          "description": "Gets or sets the expire time for this record.",
          "format": "int64",
          "type": "integer"
        },
        "host": {
          "description": "Gets or sets the domain name of the authoritative name server, without a terminating dot.",
          "type": "string"
        },
        "minimumTTL": {
          "description": "Gets or sets the minimum TTL value for this record.",
          "format": "int64",
          "type": "integer"
        },
        "refreshTime": {
          "description": "Gets or sets the refresh value for this record.",
          "format": "int64",
          "type": "integer"
        },
        "retryTime": {
          "description": "Gets or sets the retry time for this record.",
          "format": "int64",
          "type": "integer"
        },
        "serialNumber": {
          "description": "Gets or sets the serial number for this record.",
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "SrvRecord": {
      "description": "An SRV record.",
      "properties": {
        "port": {
          "description": "Gets or sets the port of the service for this record.",
          "format": "int32",
          "type": "integer"
        },
        "priority": {
          "description": "Gets or sets the priority metric for this record.",
          "format": "int32",
          "type": "integer"
        },
        "target": {
          "description": "Gets or sets the domain name of the target for this record, without a terminating dot.",
          "type": "string"
        },
        "weight": {
          "description": "Gets or sets the weight metric for this record.",
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "SubResource": {
      "properties": {
        "id": {
          "description": "Resource Id",
          "type": "string"
        }
      },
      "x-ms-external": true
    },
    "TxtRecord": {
      "description": "A TXT record.",
      "properties": {
        "value": {
          "description": "Gets or sets the text value of this record.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "Zone": {
      "allOf": [
        {
          "allOf": [
            {
              "properties": {
                "id": {
                  "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}",
                  "readOnly": true,
                  "type": "string"
                },
                "name": {
                  "description": "The name of the resource",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "x-ms-azure-resource": true
            }
          ],
          "description": "The resource model definition for a ARM tracked top level resource",
          "properties": {
            "location": {
              "description": "The geo-location where the resource lives",
              "type": "string",
              "x-ms-mutability": [
                "read",
                "create"
              ]
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object",
              "x-ms-mutability": [
                "read",
                "create",
                "update"
              ]
            }
          },
          "required": [
            "location"
          ]
        }
      ],
      "description": "Describes a DNS zone.",
      "properties": {
        "etag": {
          "description": "Gets or sets the ETag of the zone that is being updated, as received from a Get operation.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/ZoneProperties",
          "description": "Gets or sets the properties of the zone."
        }
      }
    },
    "ZoneListResult": {
      "description": "The response to a Zone List or ListAll operation.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the continuation token for the next page.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets information about the zones in the response.",
          "items": {
            "$ref": "#/definitions/Zone"
          },
          "type": "array"
        }
      }
    },
    "ZoneProperties": {
      "description": "Represents the properties of the zone.",
      "properties": {
        "maxNumberOfRecordSets": {
          "description": "Gets or sets the maximum number of record sets that can be created in this zone.",
          "format": "int64",
          "type": "integer"
        },
        "numberOfRecordSets": {
          "description": "Gets or sets the current number of record sets in this zone.",
          "format": "int64",
          "type": "integer"
        }
      }
    }
  }
}