swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Private DNS Management Client.
  title: PrivateDnsManagementClient
  version: 2018-09-01
  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/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: privatedns
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/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
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateDnsZones":
    get:
      description: Lists the Private DNS zones in all resource groups in a subscription.
      operationId: PrivateZones_List
      parameters:
        - description: The maximum number of Private DNS zones to return. If not specified, returns up to 100 zones.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/PrivateZoneListResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        GET Private DNS Zone by Subscription:
          parameters:
            api-version: 2018-09-01
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Network/privateDnsZones?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                    location: global
                    name: privatezone1.com
                    properties:
                      maxNumberOfRecordSets: 5000
                      maxNumberOfVirtualNetworkLinks: 100
                      maxNumberOfVirtualNetworkLinksWithRegistration: 50
                      numberOfRecordSets: 1
                      numberOfVirtualNetworkLinks: 0
                      numberOfVirtualNetworkLinksWithRegistration: 0
                      provisioningState: Succeeded
                    tags:
                      key1: value1
                    type: Microsoft.Network/privateDnsZones
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateDnsZones/privatezone2.com
                    location: global
                    name: privatezone2.com
                    properties:
                      maxNumberOfRecordSets: 5000
                      maxNumberOfVirtualNetworkLinks: 100
                      maxNumberOfVirtualNetworkLinksWithRegistration: 50
                      numberOfRecordSets: 1
                      numberOfVirtualNetworkLinks: 0
                      numberOfVirtualNetworkLinksWithRegistration: 0
                      provisioningState: Succeeded
                    type: Microsoft.Network/privateDnsZones
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones":
    get:
      description: Lists the Private DNS zones within a resource group.
      operationId: PrivateZones_ListByResourceGroup
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The maximum number of record sets to return. If not specified, returns up to 100 record sets.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/PrivateZoneListResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        GET Private DNS Zone by Resource Group:
          parameters:
            api-version: 2018-09-01
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                    location: global
                    name: privatezone1.com
                    properties:
                      maxNumberOfRecordSets: 5000
                      maxNumberOfVirtualNetworkLinks: 100
                      maxNumberOfVirtualNetworkLinksWithRegistration: 50
                      numberOfRecordSets: 1
                      numberOfVirtualNetworkLinks: 0
                      numberOfVirtualNetworkLinksWithRegistration: 0
                      provisioningState: Succeeded
                    tags:
                      key1: value1
                    type: Microsoft.Network/privateDnsZones
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone2.com
                    location: global
                    name: privatezone2.com
                    properties:
                      maxNumberOfRecordSets: 5000
                      maxNumberOfVirtualNetworkLinks: 100
                      maxNumberOfVirtualNetworkLinksWithRegistration: 50
                      numberOfRecordSets: 1
                      numberOfVirtualNetworkLinks: 0
                      numberOfVirtualNetworkLinksWithRegistration: 0
                      provisioningState: Succeeded
                    type: Microsoft.Network/privateDnsZones
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}":
    delete:
      description: "Deletes a Private DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone. Private DNS zone cannot be deleted unless all virtual network links to it are removed."
      operationId: PrivateZones_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The ETag of the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The Private DNS zone has been deleted.
        "202":
          description: The Private DNS zone delete operation has been accepted and will complete asynchronously.
        "204":
          description: The Private DNS zone was not found.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        DELETE Private DNS Zone:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets a Private DNS zone. Retrieves the zone properties, but not the virtual networks links or the record sets within the zone.
      operationId: PrivateZones_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/PrivateZone"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        GET Private DNS Zone:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                location: global
                name: privatezone1.com
                properties:
                  maxNumberOfRecordSets: 5000
                  maxNumberOfVirtualNetworkLinks: 100
                  maxNumberOfVirtualNetworkLinksWithRegistration: 50
                  numberOfRecordSets: 1
                  numberOfVirtualNetworkLinks: 0
                  numberOfVirtualNetworkLinksWithRegistration: 0
                  provisioningState: Succeeded
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones
    patch:
      description: Updates a Private DNS zone. Does not modify virtual network links or DNS records within the zone.
      operationId: PrivateZones_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: Parameters supplied to the Update operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/PrivateZone"
        - description: The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The Private DNS zone has been updated.
          schema:
            $ref: "#/definitions/PrivateZone"
        "202":
          description: The Private DNS zone update operation has been accepted and will complete asynchronously.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        PATCH Private DNS Zone:
          parameters:
            api-version: 2018-09-01
            parameters:
              tags:
                key2: value2
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                location: global
                name: privatezone1.com
                properties:
                  maxNumberOfRecordSets: 5000
                  maxNumberOfVirtualNetworkLinks: 100
                  maxNumberOfVirtualNetworkLinksWithRegistration: 50
                  numberOfRecordSets: 1
                  numberOfVirtualNetworkLinks: 0
                  numberOfVirtualNetworkLinksWithRegistration: 0
                  provisioningState: Succeeded
                tags:
                  key2: value2
                type: Microsoft.Network/privateDnsZones
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the zone.
      operationId: PrivateZones_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: Parameters supplied to the CreateOrUpdate operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/PrivateZone"
        - description: The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - description: Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-client-name: IfNoneMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The Private DNS zone has been updated.
          schema:
            $ref: "#/definitions/PrivateZone"
        "201":
          description: The Private DNS zone has been created.
          schema:
            $ref: "#/definitions/PrivateZone"
        "202":
          description: The Private DNS zone upsert operation has been accepted and will complete asynchronously.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - PrivateZones
      x-ms-examples:
        PUT Private DNS Zone:
          parameters:
            api-version: 2018-09-01
            parameters:
              location: Global
              tags:
                key1: value1
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                location: global
                name: privatezone1.com
                properties:
                  maxNumberOfRecordSets: 5000
                  maxNumberOfVirtualNetworkLinks: 100
                  maxNumberOfVirtualNetworkLinksWithRegistration: 50
                  numberOfRecordSets: 1
                  numberOfVirtualNetworkLinks: 0
                  numberOfVirtualNetworkLinksWithRegistration: 0
                  provisioningState: Succeeded
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com
                location: global
                name: privatezone1.com
                properties:
                  maxNumberOfRecordSets: 5000
                  maxNumberOfVirtualNetworkLinks: 100
                  maxNumberOfVirtualNetworkLinksWithRegistration: 50
                  numberOfRecordSets: 1
                  numberOfVirtualNetworkLinks: 0
                  numberOfVirtualNetworkLinksWithRegistration: 0
                  provisioningState: Succeeded
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/ALL":
    get:
      description: Lists all record sets in a Private DNS zone.
      operationId: RecordSets_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The maximum number of record sets to return. If not specified, returns up to 100 record sets.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with ".<recordsetnamesuffix>".
          in: query
          name: $recordsetnamesuffix
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/RecordSetListResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        GET Private DNS Zone ALL Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/ALL?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda
                    name: recorda
                    properties:
                      aRecords:
                        - ipv4Address: 1.2.3.4
                      fqdn: recorda.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/A
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                    name: recordcname
                    properties:
                      cnameRecord:
                        cname: contoso.com
                      fqdn: recordcname.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/CNAME
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx
                    name: recordmx
                    properties:
                      fqdn: recordmx.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      mxRecords:
                        - exchange: mail.contoso1.com
                          preference: 0
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/MX
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks":
    get:
      description: Lists the virtual network links to the specified Private DNS zone.
      operationId: VirtualNetworkLinks_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The maximum number of virtual network links to return. If not specified, returns up to 100 virtual network links.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/VirtualNetworkLinkListResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - VirtualNetworkLinks
      x-ms-examples:
        Get Private DNS Zone Virtual Network Links:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/virtualNetworkLinks?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1
                    location: global
                    name: virtualNetworkLink1
                    properties:
                      provisioningState: Succeeded
                      registrationEnabled: false
                      virtualNetwork:
                        id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                      virtualNetworkLinkState: Completed
                    tags:
                      key1: value1
                    type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink2
                    location: global
                    name: virtualNetworkLink2
                    properties:
                      provisioningState: Succeeded
                      registrationEnabled: true
                      virtualNetwork:
                        id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                      virtualNetworkLinkState: InProgress
                    type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName}":
    delete:
      description: "Deletes a virtual network link to the specified Private DNS zone. WARNING: In case of a registration virtual network, all auto-registered DNS records in the zone for the virtual network will also be deleted. This operation cannot be undone."
      operationId: VirtualNetworkLinks_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The name of the virtual network link.
          in: path
          name: virtualNetworkLinkName
          required: true
          type: string
        - description: The ETag of the virtual network link to the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The virtual network link to the Private DNS zone has been deleted.
        "202":
          description: The operation to delete virtual network link to the Private DNS zone has been accepted and will complete asynchronously.
        "204":
          description: The virtual network link to the Private DNS zone was not found.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - VirtualNetworkLinks
      x-ms-examples:
        DELETE Private DNS Zone Virtual Network Link:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
            virtualNetworkLinkName: virtualNetworkLink1
          responses:
            "200": {}
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets a virtual network link to the specified Private DNS zone.
      operationId: VirtualNetworkLinks_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The name of the virtual network link.
          in: path
          name: virtualNetworkLinkName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - VirtualNetworkLinks
      x-ms-examples:
        GET Private DNS Zone Virtual Network Link:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
            virtualNetworkLinkName: virtualNetworkLink1
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1
                location: global
                name: virtualNetworkLink1
                properties:
                  provisioningState: Succeeded
                  registrationEnabled: false
                  virtualNetwork:
                    id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                  virtualNetworkLinkState: Completed
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
    patch:
      description: Updates a virtual network link to the specified Private DNS zone.
      operationId: VirtualNetworkLinks_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The name of the virtual network link.
          in: path
          name: virtualNetworkLinkName
          required: true
          type: string
        - description: Parameters supplied to the Update operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        - description: The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The virtual network link to the Private DNS zone has been updated.
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        "202":
          description: The operation to link virtual network link to Private DNS zone has been accepted and will complete asynchronously.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - VirtualNetworkLinks
      x-ms-examples:
        PATCH Private DNS Zone Virtual Network Link:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                registrationEnabled: true
              tags:
                key2: value2
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
            virtualNetworkLinkName: virtualNetworkLink1
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1
                location: global
                name: virtualNetworkLink1
                properties:
                  provisioningState: Succeeded
                  registrationEnabled: true
                  virtualNetwork:
                    id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                  virtualNetworkLinkState: Completed
                tags:
                  key2: value2
                type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a virtual network link to the specified Private DNS zone.
      operationId: VirtualNetworkLinks_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The name of the virtual network link.
          in: path
          name: virtualNetworkLinkName
          required: true
          type: string
        - description: Parameters supplied to the CreateOrUpdate operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        - description: The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - description: Set to '*' to allow a new virtual network link to the Private DNS zone to be created, but to prevent updating an existing link. Other values will be ignored.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-client-name: IfNoneMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The virtual network link to the Private DNS zone has been updated.
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        "201":
          description: The virtual network link to the Private DNS zone has been created.
          schema:
            $ref: "#/definitions/VirtualNetworkLink"
        "202":
          description: The operation to upsert virtual network link to the Private DNS zone has been accepted and will complete asynchronously.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - VirtualNetworkLinks
      x-ms-examples:
        PUT Private DNS Zone Virtual Network Link:
          parameters:
            api-version: 2018-09-01
            parameters:
              location: Global
              properties:
                registrationEnabled: false
                virtualNetwork:
                  id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
              tags:
                key1: value1
            privateZoneName: privatezone1.com
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
            virtualNetworkLinkName: virtualNetworkLink1
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1
                location: global
                name: virtualNetworkLink1
                properties:
                  provisioningState: Succeeded
                  registrationEnabled: false
                  virtualNetwork:
                    id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                  virtualNetworkLinkState: Completed
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1
                location: global
                name: virtualNetworkLink1
                properties:
                  provisioningState: Succeeded
                  registrationEnabled: false
                  virtualNetwork:
                    id: /subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName
                  virtualNetworkLinkState: Completed
                tags:
                  key1: value1
                type: Microsoft.Network/privateDnsZones/virtualNetworkLinks
            "202":
              headers:
                Azure-AsyncOperation: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01
                Location: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01
                Retry-After: "60"
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/{recordType}":
    get:
      description: Lists the record sets of a specified type in a Private DNS zone.
      operationId: RecordSets_ListByType
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The type of record sets to enumerate.
          enum:
            - A
            - AAAA
            - CNAME
            - MX
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - description: The maximum number of record sets to return. If not specified, returns up to 100 record sets.
          format: int32
          in: query
          name: $top
          required: false
          type: integer
        - description: The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with ".<recordsetnamesuffix>".
          in: query
          name: $recordsetnamesuffix
          required: false
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/RecordSetListResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        GET Private DNS Zone A Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: A
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/A?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda1
                    name: recorda1
                    properties:
                      aRecords:
                        - ipv4Address: 1.2.3.4
                      fqdn: recorda1.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/A
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda2
                    name: recorda2
                    properties:
                      aRecords:
                        - ipv4Address: 5.6.7.8
                      fqdn: recorda2.privatezone1.com.
                      isAutoRegistered: false
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/A
        GET Private DNS Zone AAAA Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: AAAA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/AAAA?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa1
                    name: recordaaaa1
                    properties:
                      aaaaRecords:
                        - ipv6Address: ::1
                      fqdn: recordaaaa1.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/AAAA
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa2
                    name: recordaaaa2
                    properties:
                      aaaaRecords:
                        - ipv6Address: ::1
                      fqdn: recordaaaa2.privatezone1.com.
                      isAutoRegistered: false
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/AAAA
        GET Private DNS Zone CNAME Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: CNAME
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                    name: recordcname
                    properties:
                      cnameRecord:
                        cname: contoso.com
                      fqdn: recordcname.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/CNAME
        GET Private DNS Zone MX Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: MX
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/MX?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx1
                    name: recordmx1
                    properties:
                      fqdn: recordmx1.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      mxRecords:
                        - exchange: mail.contoso1.com
                          preference: 0
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/MX
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx2
                    name: recordmx2
                    properties:
                      fqdn: recordmx2.privatezone1.com.
                      isAutoRegistered: false
                      mxRecords:
                        - exchange: mail.contoso2.com
                          preference: 0
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/MX
        GET Private DNS Zone PTR Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: 0.0.127.in-addr.arpa
            recordType: PTR
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/PTR?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1
                    name: "1"
                    properties:
                      fqdn: 1.0.0.127.in-addr.arpa.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ptrRecords:
                        - ptrdname: localhost
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/PTR
        GET Private DNS Zone SOA Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: SOA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@
                    name: "@"
                    properties:
                      fqdn: privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      soaRecord:
                        email: azureprivatedns-hostmaster.microsoft.com
                        expireTime: 2419200
                        host: azureprivatedns.net
                        minimumTtl: 300
                        refreshTime: 3600
                        retryTime: 300
                        serialNumber: 1
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/SOA
        GET Private DNS Zone SRV Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: SRV
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/SRV?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv
                    name: recordsrv
                    properties:
                      fqdn: recordsrv.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      srvRecords:
                        - port: 80
                          priority: 0
                          target: contoso.com
                          weight: 10
                      ttl: 3600
                    type: Microsoft.Network/privateDnsZones/SRV
        GET Private DNS Zone TXT Record Sets:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: TXT
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                nextLink: https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/TXT?api-version=2018-09-01&$skipToken=skipToken
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt
                    name: recordtxt
                    properties:
                      fqdn: recordtxt.privatezone1.com.
                      isAutoRegistered: false
                      metadata:
                        key1: value1
                      ttl: 3600
                      txtRecords:
                        - value:
                            - string1
                            - string2
                    type: Microsoft.Network/privateDnsZones/TXT
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/{recordType}/{relativeRecordSetName}":
    delete:
      description: Deletes a record set from a Private DNS zone. This operation cannot be undone.
      operationId: RecordSets_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The type of DNS record in this record set. Record sets of type SOA cannot be deleted (they are deleted when the Private DNS zone is deleted).
          enum:
            - A
            - AAAA
            - CNAME
            - MX
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - description: The name of the record set, 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 the record set. Omit this value to always delete the current record set. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The record set has been deleted.
        "204":
          description: The record set was not found.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        DELETE Private DNS Zone A Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: A
            relativeRecordSetName: recordA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone AAAA Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: AAAA
            relativeRecordSetName: recordAAAA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone CNAME Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: CNAME
            relativeRecordSetName: recordCNAME
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone MX Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: MX
            relativeRecordSetName: recordMX
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone PTR Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: 0.0.127.in-addr.arpa
            recordType: PTR
            relativeRecordSetName: "1"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone SRV Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: SRV
            relativeRecordSetName: recordSRV
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
        DELETE Private DNS Zone TXT Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: TXT
            relativeRecordSetName: recordTXT
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets a record set.
      operationId: RecordSets_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The type of DNS record in this record set.
          enum:
            - A
            - AAAA
            - CNAME
            - MX
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - description: The name of the record set, relative to the name of the zone.
          in: path
          name: relativeRecordSetName
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Success.
          schema:
            $ref: "#/definitions/RecordSet"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        GET Private DNS Zone A Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: A
            relativeRecordSetName: recordA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda
                name: recorda
                properties:
                  aRecords:
                    - ipv4Address: 1.2.3.4
                  fqdn: recorda.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/A
        GET Private DNS Zone AAAA Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: AAAA
            relativeRecordSetName: recordAAAA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa
                name: recordaaaa
                properties:
                  aaaaRecords:
                    - ipv6Address: ::1
                  fqdn: recordaaaa.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/AAAA
        GET Private DNS Zone CNAME Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: CNAME
            relativeRecordSetName: recordCNAME
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                name: recordcname
                properties:
                  cnameRecord:
                    cname: contoso.com
                  fqdn: recordcname.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/CNAME
        GET Private DNS Zone MX Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: MX
            relativeRecordSetName: recordMX
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx
                name: recordmx
                properties:
                  fqdn: recordmx.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  mxRecords:
                    - exchange: mail.privatezone1.com
                      preference: 0
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/MX
        GET Private DNS Zone PTR Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: 0.0.127.in-addr.arpa
            recordType: PTR
            relativeRecordSetName: "1"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1
                name: "1"
                properties:
                  fqdn: 1.0.0.127.in-addr.arpa.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ptrRecords:
                    - ptrdname: localhost
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/PTR
        GET Private DNS Zone SOA Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: SOA
            relativeRecordSetName: "@"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@
                name: "@"
                properties:
                  fqdn: privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  soaRecord:
                    email: azureprivatedns-hostmaster.microsoft.com
                    expireTime: 2419200
                    host: azureprivatedns.net
                    minimumTtl: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SOA
        GET Private DNS Zone SRV Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: SRV
            relativeRecordSetName: recordSRV
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv
                name: recordsrv
                properties:
                  fqdn: recordsrv.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  srvRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SRV
        GET Private DNS Zone TXT Record Set:
          parameters:
            api-version: 2018-09-01
            privateZoneName: privatezone1.com
            recordType: TXT
            relativeRecordSetName: recordTXT
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt
                name: recordtxt
                properties:
                  fqdn: recordtxt.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                  txtRecords:
                    - value:
                        - string1
                        - string2
                type: Microsoft.Network/privateDnsZones/TXT
    patch:
      description: Updates a record set within a Private DNS zone.
      operationId: RecordSets_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The type of DNS record in this record set.
          enum:
            - A
            - AAAA
            - CNAME
            - MX
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - description: The name of the record set, relative to the name of the zone.
          in: path
          name: relativeRecordSetName
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: Parameters supplied to the Update operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RecordSet"
        - description: The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The record set has been updated.
          schema:
            $ref: "#/definitions/RecordSet"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        PATCH Private DNS Zone A Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: A
            relativeRecordSetName: recordA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda
                name: recorda
                properties:
                  aRecords:
                    - ipv4Address: 1.2.3.4
                  fqdn: recorda.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/A
        PATCH Private DNS Zone AAAA Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: AAAA
            relativeRecordSetName: recordAAAA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa
                name: recordaaaa
                properties:
                  aaaaRecords:
                    - ipv6Address: ::1
                  fqdn: recordaaaa.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/AAAA
        PATCH Private DNS Zone CNAME Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: CNAME
            relativeRecordSetName: recordCNAME
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                name: recordcname
                properties:
                  cnameRecord:
                    cname: contoso.com
                  fqdn: recordcname.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/CNAME
        PATCH Private DNS Zone MX Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: MX
            relativeRecordSetName: recordMX
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx
                name: recordmx
                properties:
                  fqdn: recordmx.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  mxRecords:
                    - exchange: mail.privatezone1.com
                      preference: 0
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/MX
        PATCH Private DNS Zone PTR Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: 0.0.127.in-addr.arpa
            recordType: PTR
            relativeRecordSetName: "1"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1
                name: "1"
                properties:
                  fqdn: 1.0.0.127.in-addr.arpa.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  ptrRecords:
                    - ptrdname: localhost
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/PTR
        PATCH Private DNS Zone SOA Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: SOA
            relativeRecordSetName: "@"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@
                name: "@"
                properties:
                  fqdn: privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  soaRecord:
                    email: azureprivatedns-hostmaster.microsoft.com
                    expireTime: 2419200
                    host: azureprivatedns.net
                    minimumTtl: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SOA
        PATCH Private DNS Zone SRV Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: SRV
            relativeRecordSetName: recordSRV
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv
                name: recordsrv
                properties:
                  fqdn: recordsrv.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  srvRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SRV
        PATCH Private DNS Zone TXT Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key2: value2
            privateZoneName: privatezone1.com
            recordType: TXT
            relativeRecordSetName: recordTXT
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt
                name: recordtxt
                properties:
                  fqdn: recordtxt.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key2: value2
                  ttl: 3600
                  txtRecords:
                    - value:
                        - string1
                        - string2
                type: Microsoft.Network/privateDnsZones/TXT
    put:
      description: Creates or updates a record set within a Private DNS zone.
      operationId: RecordSets_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Private DNS zone (without a terminating dot).
          in: path
          name: privateZoneName
          required: true
          type: string
        - description: The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the Private DNS zone is created).
          enum:
            - A
            - AAAA
            - CNAME
            - MX
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - description: The name of the record set, relative to the name of the zone.
          in: path
          name: relativeRecordSetName
          required: true
          type: string
          x-ms-skip-url-encoding: true
        - description: Parameters supplied to the CreateOrUpdate operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RecordSet"
        - description: The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-client-name: IfMatch
        - description: Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored.
          in: header
          name: If-None-Match
          required: false
          type: string
          x-ms-client-name: IfNoneMatch
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The record set has been updated.
          schema:
            $ref: "#/definitions/RecordSet"
        "201":
          description: The record set has been created.
          schema:
            $ref: "#/definitions/RecordSet"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RecordSets
      x-ms-examples:
        PUT Private DNS Zone A Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                aRecords:
                  - ipv4Address: 1.2.3.4
                metadata:
                  key1: value1
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: A
            relativeRecordSetName: recordA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda
                name: recorda
                properties:
                  aRecords:
                    - ipv4Address: 1.2.3.4
                  fqdn: recorda.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/A
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda
                name: recorda
                properties:
                  aRecords:
                    - ipv4Address: 1.2.3.4
                  fqdn: recorda.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/A
        PUT Private DNS Zone AAAA Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                aaaaRecords:
                  - ipv6Address: ::1
                metadata:
                  key1: value1
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: AAAA
            relativeRecordSetName: recordAAAA
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa
                name: recordaaaa
                properties:
                  aaaaRecords:
                    - ipv6Address: ::1
                  fqdn: recordaaaa.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/AAAA
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa
                name: recordaaaa
                properties:
                  aaaaRecords:
                    - ipv6Address: ::1
                  fqdn: recordaaaa.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/AAAA
        PUT Private DNS Zone CNAME Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                cnameRecord:
                  cname: contoso.com
                metadata:
                  key1: value1
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: CNAME
            relativeRecordSetName: recordCNAME
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                name: recordcname
                properties:
                  cnameRecord:
                    cname: contoso.com
                  fqdn: recordcname.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/CNAME
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname
                name: recordcname
                properties:
                  cnameRecord:
                    cname: contoso.com
                  fqdn: recordcname.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/CNAME
        PUT Private DNS Zone MX Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key1: value1
                mxRecords:
                  - exchange: mail.privatezone1.com
                    preference: 0
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: MX
            relativeRecordSetName: recordMX
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx
                name: recordmx
                properties:
                  fqdn: recordmx.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  mxRecords:
                    - exchange: mail.privatezone1.com
                      preference: 0
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/MX
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx
                name: recordmx
                properties:
                  fqdn: recordmx.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  mxRecords:
                    - exchange: mail.privatezone1.com
                      preference: 0
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/MX
        PUT Private DNS Zone PTR Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key1: value1
                ptrRecords:
                  - ptrdname: localhost
                ttl: 3600
            privateZoneName: 0.0.127.in-addr.arpa
            recordType: PTR
            relativeRecordSetName: "1"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1
                name: "1"
                properties:
                  fqdn: 1.0.0.127.in-addr.arpa.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ptrRecords:
                    - ptrdname: localhost
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/PTR
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1
                name: "1"
                properties:
                  fqdn: 1.0.0.127.in-addr.arpa.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ptrRecords:
                    - ptrdname: localhost
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/PTR
        PUT Private DNS Zone SOA Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key1: value1
                soaRecord:
                  email: azureprivatedns-hostmaster.microsoft.com
                  expireTime: 2419200
                  host: azureprivatedns.net
                  minimumTtl: 300
                  refreshTime: 3600
                  retryTime: 300
                  serialNumber: 1
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: SOA
            relativeRecordSetName: "@"
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@
                name: "@"
                properties:
                  fqdn: privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  soaRecord:
                    email: azureprivatedns-hostmaster.microsoft.com
                    expireTime: 2419200
                    host: azureprivatedns.net
                    minimumTtl: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SOA
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@
                name: "@"
                properties:
                  fqdn: privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  soaRecord:
                    email: azureprivatedns-hostmaster.microsoft.com
                    expireTime: 2419200
                    host: azureprivatedns.net
                    minimumTtl: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SOA
        PUT Private DNS Zone SRV Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key1: value1
                srvRecords:
                  - port: 80
                    priority: 0
                    target: contoso.com
                    weight: 10
                ttl: 3600
            privateZoneName: privatezone1.com
            recordType: SRV
            relativeRecordSetName: recordSRV
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv
                name: recordsrv
                properties:
                  fqdn: recordsrv.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  srvRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SRV
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv
                name: recordsrv
                properties:
                  fqdn: recordsrv.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  srvRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  ttl: 3600
                type: Microsoft.Network/privateDnsZones/SRV
        PUT Private DNS Zone TXT Record Set:
          parameters:
            api-version: 2018-09-01
            parameters:
              properties:
                metadata:
                  key1: value1
                ttl: 3600
                txtRecords:
                  - value:
                      - string1
                      - string2
            privateZoneName: privatezone1.com
            recordType: TXT
            relativeRecordSetName: recordTXT
            resourceGroupName: resourceGroup1
            subscriptionId: subscriptionId
          responses:
            "200":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt
                name: recordtxt
                properties:
                  fqdn: recordtxt.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                  txtRecords:
                    - value:
                        - string1
                        - string2
                type: Microsoft.Network/privateDnsZones/TXT
            "201":
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt
                name: recordtxt
                properties:
                  fqdn: recordtxt.privatezone1.com.
                  isAutoRegistered: false
                  metadata:
                    key1: value1
                  ttl: 3600
                  txtRecords:
                    - value:
                        - string1
                        - string2
                type: Microsoft.Network/privateDnsZones/TXT
definitions:
  ARecord:
    description: An A record.
    properties:
      ipv4Address:
        description: The IPv4 address of this A record.
        type: string
  AaaaRecord:
    description: An AAAA record.
    properties:
      ipv6Address:
        description: The IPv6 address of this AAAA record.
        type: string
  CloudError:
    description: An error message
    properties:
      error:
        $ref: "#/definitions/CloudErrorBody"
        description: The error message body
    type: object
    x-ms-external: true
  CloudErrorBody:
    description: The body of an error message
    properties:
      code:
        description: The error code
        type: string
      details:
        description: Extra error information
        items:
          $ref: "#/definitions/CloudErrorBody"
        type: array
      message:
        description: A description of what caused the error
        type: string
      target:
        description: The target resource of the error message
        type: string
    type: object
    x-ms-external: true
  CnameRecord:
    description: A CNAME record.
    properties:
      cname:
        description: The canonical name for this CNAME record.
        type: string
  MxRecord:
    description: An MX record.
    properties:
      exchange:
        description: The domain name of the mail host for this MX record.
        type: string
      preference:
        description: The preference value for this MX record.
        format: int32
        type: integer
  PrivateZone:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: Describes a Private DNS zone.
    properties:
      etag:
        description: The ETag of the zone.
        type: string
      properties:
        $ref: "#/definitions/PrivateZoneProperties"
        description: Properties of the Private DNS zone.
        x-ms-client-flatten: true
  PrivateZoneListResult:
    description: The response to a Private DNS zone list operation.
    properties:
      nextLink:
        description: The continuation token for the next page of results.
        readOnly: true
        type: string
      value:
        description: Information about the Private DNS zones.
        items:
          $ref: "#/definitions/PrivateZone"
        type: array
  PrivateZoneProperties:
    description: Represents the properties of the Private DNS zone.
    properties:
      maxNumberOfRecordSets:
        description: The maximum number of record sets that can be created in this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      maxNumberOfVirtualNetworkLinks:
        description: The maximum number of virtual networks that can be linked to this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      maxNumberOfVirtualNetworkLinksWithRegistration:
        description: The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      numberOfRecordSets:
        description: The current number of record sets in this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      numberOfVirtualNetworkLinks:
        description: The current number of virtual networks that are linked to this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      numberOfVirtualNetworkLinksWithRegistration:
        description: The current number of virtual networks that are linked to this Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      provisioningState:
        description: The provisioning state of the resource. This is a read-only property and any attempt to set this value will be ignored.
        enum:
          - Creating
          - Updating
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
  ProxyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for an ARM proxy resource.
  PtrRecord:
    description: A PTR record.
    properties:
      ptrdname:
        description: The PTR target domain name for this PTR record.
        type: string
  RecordSet:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Describes a DNS record set (a collection of DNS records with the same name and type) in a Private DNS zone.
    properties:
      etag:
        description: The ETag of the record set.
        type: string
      id:
        description: The ID of the record set.
        readOnly: true
        type: string
      name:
        description: The name of the record set.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/RecordSetProperties"
        description: The properties of the record set.
        x-ms-client-flatten: true
      type:
        description: The type of the record set.
        readOnly: true
        type: string
  RecordSetListResult:
    description: The response to a record set list operation.
    properties:
      nextLink:
        description: The continuation token for the next page of results.
        readOnly: true
        type: string
      value:
        description: Information about the record sets in the response.
        items:
          $ref: "#/definitions/RecordSet"
        type: array
  RecordSetProperties:
    description: Represents the properties of the records in the record set.
    properties:
      aRecords:
        description: The list of A records in the record set.
        items:
          $ref: "#/definitions/ARecord"
        type: array
      aaaaRecords:
        description: The list of AAAA records in the record set.
        items:
          $ref: "#/definitions/AaaaRecord"
        type: array
      cnameRecord:
        $ref: "#/definitions/CnameRecord"
        description: The CNAME record in the record set.
      fqdn:
        description: Fully qualified domain name of the record set.
        readOnly: true
        type: string
      isAutoRegistered:
        description: Is the record set auto-registered in the Private DNS zone through a virtual network link?
        readOnly: true
        type: boolean
      metadata:
        additionalProperties:
          type: string
        description: The metadata attached to the record set.
        type: object
      mxRecords:
        description: The list of MX records in the record set.
        items:
          $ref: "#/definitions/MxRecord"
        type: array
      ptrRecords:
        description: The list of PTR records in the record set.
        items:
          $ref: "#/definitions/PtrRecord"
        type: array
      soaRecord:
        $ref: "#/definitions/SoaRecord"
        description: The SOA record in the record set.
      srvRecords:
        description: The list of SRV records in the record set.
        items:
          $ref: "#/definitions/SrvRecord"
        type: array
      ttl:
        description: The TTL (time-to-live) of the records in the record set.
        format: int64
        type: integer
      txtRecords:
        description: The list of TXT records in the record set.
        items:
          $ref: "#/definitions/TxtRecord"
        type: array
  Resource:
    description: The core properties of ARM resources
    properties:
      id:
        description: Fully qualified resource Id for the resource. Example - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'.
        readOnly: true
        type: string
      name:
        description: The name of the resource
        readOnly: true
        type: string
      type:
        description: The type of the resource. Example - 'Microsoft.Network/privateDnsZones'.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  SoaRecord:
    description: An SOA record.
    properties:
      email:
        description: The email contact for this SOA record.
        type: string
      expireTime:
        description: The expire time for this SOA record.
        format: int64
        type: integer
      host:
        description: The domain name of the authoritative name server for this SOA record.
        type: string
      minimumTtl:
        description: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.
        format: int64
        type: integer
      refreshTime:
        description: The refresh value for this SOA record.
        format: int64
        type: integer
      retryTime:
        description: The retry time for this SOA record.
        format: int64
        type: integer
      serialNumber:
        description: The serial number for this SOA record.
        format: int64
        type: integer
  SrvRecord:
    description: An SRV record.
    properties:
      port:
        description: The port value for this SRV record.
        format: int32
        type: integer
      priority:
        description: The priority value for this SRV record.
        format: int32
        type: integer
      target:
        description: The target domain name for this SRV record.
        type: string
      weight:
        description: The weight value for this SRV record.
        format: int32
        type: integer
  SubResource:
    description: Reference to another subresource.
    properties:
      id:
        description: Resource ID.
        type: string
    x-ms-azure-resource: true
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM tracked top level resource
    properties:
      location:
        description: The Azure Region 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
  TxtRecord:
    description: A TXT record.
    properties:
      value:
        description: The text value of this TXT record.
        items:
          type: string
        type: array
  VirtualNetworkLink:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: Describes a link to virtual network for a Private DNS zone.
    properties:
      etag:
        description: The ETag of the virtual network link.
        type: string
      properties:
        $ref: "#/definitions/VirtualNetworkLinkProperties"
        description: Properties of the virtual network link to the Private DNS zone.
        x-ms-client-flatten: true
  VirtualNetworkLinkListResult:
    description: The response to a list virtual network link to Private DNS zone operation.
    properties:
      nextLink:
        description: The continuation token for the next page of results.
        readOnly: true
        type: string
      value:
        description: Information about the virtual network links to the Private DNS zones.
        items:
          $ref: "#/definitions/VirtualNetworkLink"
        type: array
  VirtualNetworkLinkProperties:
    description: Represents the properties of the Private DNS zone.
    properties:
      provisioningState:
        description: The provisioning state of the resource. This is a read-only property and any attempt to set this value will be ignored.
        enum:
          - Creating
          - Updating
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      registrationEnabled:
        description: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled?
        type: boolean
      virtualNetwork:
        $ref: "#/definitions/SubResource"
        description: The reference of the virtual network.
      virtualNetworkLinkState:
        description: The status of the virtual network link to the Private DNS zone. Possible values are 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored.
        enum:
          - InProgress
          - Completed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: VirtualNetworkLinkState
