swagger: '2.0'
schemes:
  - https
host: management.azure.com
info:
  description: The DNS Management Client.
  title: DnsManagementClient
  version: '2018-05-01'
  x-apisguru-categories:
    - cloud
  x-logo:
    url: 'https://assets.onestore.ms/cdnfiles/onestorerolling-1606-01000/shell/v3/images/logo/microsoft.png'
  x-origin:
    - format: swagger
      url: 'https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json'
      version: '2.0'
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: dns
  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: Specifies the API version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: 'Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription.'
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  '/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones':
    get:
      description: Lists the DNS zones in all resource groups in a subscription.
      operationId: Zones_List
      parameters:
        - description: 'The maximum number of 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/ZoneListResult'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        List zones by subscription:
          parameters:
            api-version: '2018-05-01'
            subscriptionId: subid
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/providers/Microsoft.Network/dnsZones?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                    location: global
                    name: zone1
                    properties:
                      maxNumberOfRecordSets: 5000
                      nameServers:
                        - ns1-01.azure-dns.com
                        - ns2-01.azure-dns.net
                        - ns3-01.azure-dns.org
                        - ns4-01.azure-dns.info
                      numberOfRecordSets: 2
                    tags:
                      key1: value1
                    type: Microsoft.Network/dnsZones
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/dnsZones/zone2
                    location: global
                    name: zone2
                    properties:
                      maxNumberOfRecordSets: 5000
                      nameServers:
                        - ns1-02.azure-dns.com
                        - ns2-02.azure-dns.net
                        - ns3-02.azure-dns.org
                        - ns4-02.azure-dns.info
                      numberOfRecordSets: 300
                    type: Microsoft.Network/dnsZones
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/providers/Microsoft.Network/getDnsResourceReference':
    post:
      description: Returns the DNS records specified by the referencing targetResourceIds.
      operationId: DnsResourceReference_GetByTargetResources
      parameters:
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
        - description: Properties for dns resource reference request.
          in: body
          name: parameters
          required: true
          schema:
            $ref: '#/definitions/DnsResourceReferenceRequest'
      responses:
        '200':
          description: Success.
          schema:
            $ref: '#/definitions/DnsResourceReferenceResult'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      x-ms-examples:
        List zones by resource group:
          parameters:
            api-version: '2018-05-01'
            parameters:
              targetResources:
                - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/trafficManagerProfiles/testpp2
            subscriptionId: subid
          responses:
            '200':
              body:
                properties:
                  dnsResourceReferences:
                    - dnsResources:
                        - id: /subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/dnszones/hydratest.dnszone.com5989/a/hydratestdnsrec9310
                      targetResource:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/trafficManagerProfiles/testpp2
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones':
    get:
      description: Lists the DNS zones within a resource group.
      operationId: Zones_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/ZoneListResult'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        List zones by resource group:
          parameters:
            api-version: '2018-05-01'
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                    location: global
                    name: zone1
                    properties:
                      maxNumberOfRecordSets: 5000
                      nameServers:
                        - ns1-01.azure-dns.com
                        - ns2-01.azure-dns.net
                        - ns3-01.azure-dns.org
                        - ns4-01.azure-dns.info
                      numberOfRecordSets: 2
                    tags:
                      key1: value1
                    type: Microsoft.Network/dnsZones
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone2
                    location: global
                    name: zone2
                    properties:
                      maxNumberOfRecordSets: 5000
                      nameServers:
                        - ns1-02.azure-dns.com
                        - ns2-02.azure-dns.net
                        - ns3-02.azure-dns.org
                        - ns4-02.azure-dns.info
                      numberOfRecordSets: 300
                    type: Microsoft.Network/dnsZones
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}':
    delete:
      description: 'Deletes a DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone.'
      operationId: Zones_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - description: The etag of the 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 DNS zone has been deleted.
        '202':
          description: The DNS zone delete operation has been accepted and will complete asynchronously.
        '204':
          description: The DNS zone was not found.
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        Delete zone:
          parameters:
            api-version: '2018-05-01'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '202':
              headers:
                Azure-AsyncOperation: 'https://asyncoperationstatusurl'
            '204': {}
      x-ms-long-running-operation: true
    get:
      description: 'Gets a DNS zone. Retrieves the zone properties, but not the record sets within the zone.'
      operationId: Zones_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - $ref: '#/parameters/ApiVersionParameter'
        - $ref: '#/parameters/SubscriptionIdParameter'
      responses:
        '200':
          description: Success.
          schema:
            $ref: '#/definitions/Zone'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        Get zone:
          parameters:
            api-version: '2018-05-01'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                location: global
                name: zone1
                properties:
                  maxNumberOfRecordSets: 5000
                  nameServers:
                    - ns1-01.azure-dns.com
                    - ns2-01.azure-dns.net
                    - ns3-01.azure-dns.org
                    - ns4-01.azure-dns.info
                  numberOfRecordSets: 2
                tags:
                  key1: value1
                type: Microsoft.Network/dnsZones
    patch:
      description: Updates a DNS zone. Does not modify DNS records within the zone.
      operationId: Zones_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - description: Parameters supplied to the Update operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: '#/definitions/ZoneUpdate'
        - description: The etag of the 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 DNS zone has been updated.
          schema:
            $ref: '#/definitions/Zone'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        Patch zone:
          parameters:
            api-version: '2018-05-01'
            parameters:
              tags:
                key2: value2
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                location: global
                name: zone1
                properties:
                  maxNumberOfRecordSets: 5000
                  nameServers:
                    - ns1-01.azure-dns.com
                    - ns2-01.azure-dns.net
                    - ns3-01.azure-dns.org
                    - ns4-01.azure-dns.info
                  numberOfRecordSets: 2
                tags:
                  key2: value2
                type: Microsoft.Network/dnsZones
    put:
      description: Creates or updates a DNS zone. Does not modify DNS records within the zone.
      operationId: Zones_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - description: Parameters supplied to the CreateOrUpdate operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: '#/definitions/Zone'
        - description: The etag of the 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 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 DNS zone has been updated.
          schema:
            $ref: '#/definitions/Zone'
        '201':
          description: The DNS zone has been created.
          schema:
            $ref: '#/definitions/Zone'
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: '#/definitions/CloudError'
      tags:
        - Zones
      x-ms-examples:
        Create zone:
          parameters:
            api-version: '2018-05-01'
            parameters:
              location: Global
              tags:
                key1: value1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                location: global
                name: zone1
                properties:
                  maxNumberOfRecordSets: 5000
                  nameServers:
                    - ns1-01.azure-dns.com
                    - ns2-01.azure-dns.net
                    - ns3-01.azure-dns.org
                    - ns4-01.azure-dns.info
                  numberOfRecordSets: 2
                  zoneType: Public
                tags:
                  key1: value1
                type: Microsoft.Network/dnsZones
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1
                location: global
                name: zone1
                properties:
                  maxNumberOfRecordSets: 5000
                  nameServers:
                    - ns1-01.azure-dns.com
                    - ns2-01.azure-dns.net
                    - ns3-01.azure-dns.org
                    - ns4-01.azure-dns.info
                  numberOfRecordSets: 2
                  zoneType: Public
                tags:
                  key1: value1
                type: Microsoft.Network/dnsZones
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all':
    get:
      description: Lists all record sets in a DNS zone.
      operationId: RecordSets_ListAllByDnsZone
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          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 that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with .<recordSetNameSuffix>'
          in: query
          name: $recordsetnamesuffix
          required: false
          type: string
          x-ms-client-name: recordSetNameSuffix
        - $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:
        List recordsets by zone:
          parameters:
            api-version: '2018-05-01'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                    name: record1
                    properties:
                      TTL: 3600
                      caaRecords:
                        - flags: 0
                          tag: issue
                          value: ca.contoso.com
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CAA
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                    name: record1
                    properties:
                      ARecords:
                        - ipv4Address: 127.0.0.1
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/A
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record2
                    name: record2
                    properties:
                      CNAMERecord:
                        cname: contoso.com
                      TTL: 3600
                      fqdn: record2.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CNAME
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets':
    get:
      description: Lists all record sets in a DNS zone.
      operationId: RecordSets_ListByDnsZone
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DNS zone (without a terminating dot).
          in: path
          name: zoneName
          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 that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only 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:
        List recordsets by zone:
          parameters:
            api-version: '2018-05-01'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                    name: record1
                    properties:
                      TTL: 3600
                      caaRecords:
                        - flags: 0
                          tag: issue
                          value: ca.contoso.com
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CAA
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                    name: record1
                    properties:
                      ARecords:
                        - ipv4Address: 127.0.0.1
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/A
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record2
                    name: record2
                    properties:
                      CNAMERecord:
                        cname: contoso.com
                      TTL: 3600
                      fqdn: record2.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CNAME
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}':
    get:
      description: Lists the record sets of a specified type in a 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 DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - description: The type of record sets to enumerate.
          enum:
            - A
            - AAAA
            - CAA
            - CNAME
            - MX
            - NS
            - 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 that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only 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:
        List A recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                    name: record1
                    properties:
                      ARecords:
                        - ipv4Address: 127.0.0.1
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/A
        List AAAA recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: AAAA
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA/record1
                    name: record1
                    properties:
                      AAAARecords:
                        - ipv6Address: '::1'
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/AAAA
        List CAA recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: CAA
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                    name: record1
                    properties:
                      TTL: 3600
                      caaRecords:
                        - flags: 0
                          tag: issue
                          value: ca.contoso.com
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CAA
        List CNAME recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: CNAME
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record1
                    name: record1
                    properties:
                      CNAMERecord:
                        cname: contoso.com
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/CNAME
        List MX recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: MX
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX/record1
                    name: record1
                    properties:
                      MXRecords:
                        - exchange: mail.contoso.com
                          preference: 0
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/MX
        List NS recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: NS
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS/record1
                    name: record1
                    properties:
                      NSRecords:
                        - nsdname: ns1.contoso.com
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/NS
        List PTR recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: PTR
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: 0.0.127.in-addr.arpa
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR/1
                    name: '1'
                    properties:
                      PTRRecords:
                        - ptrdname: localhost
                      TTL: 3600
                      fqdn: 1.0.0.127.in-addr.arpa
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/PTR
        List SOA recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: SOA
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA/@
                    name: '@'
                    properties:
                      SOARecord:
                        email: hostmaster.contoso.com
                        expireTime: 2419200
                        host: ns1.contoso.com
                        minimumTTL: 300
                        refreshTime: 3600
                        retryTime: 300
                        serialNumber: 1
                      TTL: 3600
                      fqdn: zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/SOA
        List SRV recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: SRV
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV/record1
                    name: record1
                    properties:
                      SRVRecords:
                        - port: 80
                          priority: 0
                          target: contoso.com
                          weight: 10
                      TTL: 3600
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/SRV
        List TXT recordsets:
          parameters:
            api-version: '2018-05-01'
            recordType: TXT
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                nextLink: 'https://servicehost/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT?api-version=2018-05-01&$skipToken=skipToken'
                value:
                  - etag: 00000000-0000-0000-0000-000000000000
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT/record1
                    name: record1
                    properties:
                      TTL: 3600
                      TXTRecords:
                        - value:
                            - string1
                            - string2
                      fqdn: record1.zone1
                      metadata:
                        key1: value1
                    type: Microsoft.Network/dnsZones/TXT
      x-ms-pageable:
        nextLinkName: nextLink
  '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}':
    delete:
      description: Deletes a record set from a 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 DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - 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 type of DNS record in this record set. Record sets of type SOA cannot be deleted (they are deleted when the DNS zone is deleted).
          enum:
            - A
            - AAAA
            - CAA
            - CNAME
            - MX
            - NS
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - 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 A recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete AAAA recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: AAAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete CAA recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: CAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete CNAME recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete MX recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete NS recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete PTR recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: PTR
            relativeRecordSetName: '1'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: 0.0.127.in-addr.arpa
          responses:
            '200': {}
            '204': {}
        Delete SRV recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: SRV
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200': {}
            '204': {}
        Delete TXT recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: TXT
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          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 DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - 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 type of DNS record in this record set.
          enum:
            - A
            - AAAA
            - CAA
            - CNAME
            - MX
            - NS
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - $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 A recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  ARecords:
                    - ipv4Address: 127.0.0.1
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/A
        Get AAAA recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: AAAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA/record1
                name: record1
                properties:
                  AAAARecords:
                    - ipv6Address: '::1'
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/AAAA
        Get CAA recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: CAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                name: record1
                properties:
                  TTL: 3600
                  caaRecords:
                    - flags: 0
                      tag: issue
                      value: ca.contoso.com
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CAA
        Get CNAME recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: CNAME
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record1
                name: record1
                properties:
                  CNAMERecord:
                    cname: contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CNAME
        Get MX recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: MX
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX/record1
                name: record1
                properties:
                  MXRecords:
                    - exchange: mail.contoso.com
                      preference: 0
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/MX
        Get NS recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: NS
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS/record1
                name: record1
                properties:
                  NSRecords:
                    - nsdname: ns1.contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/NS
        Get PTR recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: PTR
            relativeRecordSetName: '1'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: 0.0.127.in-addr.arpa
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR/1
                name: '1'
                properties:
                  PTRRecords:
                    - ptrdname: localhost
                  TTL: 3600
                  fqdn: 1.0.0.127.in-addr.arpa
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/PTR
        Get SOA recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: SOA
            relativeRecordSetName: '@'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA/@
                name: '@'
                properties:
                  SOARecord:
                    email: hostmaster.contoso.com
                    expireTime: 2419200
                    host: ns1.contoso.com
                    minimumTTL: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  TTL: 3600
                  fqdn: zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SOA
        Get SRV recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: SRV
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV/record1
                name: record1
                properties:
                  SRVRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SRV
        Get TXT recordset:
          parameters:
            api-version: '2018-05-01'
            recordType: TXT
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT/record1
                name: record1
                properties:
                  TTL: 3600
                  TXTRecords:
                    - value:
                        - string1
                        - string2
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/TXT
    patch:
      description: Updates a record set within a 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 DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - 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 type of DNS record in this record set.
          enum:
            - A
            - AAAA
            - CAA
            - CNAME
            - MX
            - NS
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - 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 A recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  ARecords:
                    - ipv4Address: 127.0.0.1
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/A
        Patch AAAA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: AAAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA/record1
                name: record1
                properties:
                  AAAARecords:
                    - ipv6Address: '::1'
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/AAAA
        Patch CAA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: CAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                name: record1
                properties:
                  TTL: 3600
                  caaRecords:
                    - flags: 0
                      tag: issue
                      value: ca.contoso.com
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/CAA
        Patch CNAME recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: CNAME
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record1
                name: record1
                properties:
                  CNAMERecord:
                    cname: contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/CNAME
        Patch MX recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: MX
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX/record1
                name: record1
                properties:
                  MXRecords:
                    - exchange: mail.contoso.com
                      preference: 0
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/MX
        Patch NS recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: NS
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS/record1
                name: record1
                properties:
                  NSRecords:
                    - nsdname: ns1.contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/NS
        Patch PTR recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: PTR
            relativeRecordSetName: '1'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: 0.0.127.in-addr.arpa
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR/1
                name: '1'
                properties:
                  PTRRecords:
                    - ptrdname: localhost
                  TTL: 3600
                  fqdn: 1.0.0.127.in-addr.arpa
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/PTR
        Patch SOA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: SOA
            relativeRecordSetName: '@'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA/@
                name: '@'
                properties:
                  SOARecord:
                    email: hostmaster.contoso.com
                    expireTime: 2419200
                    host: ns1.contoso.com
                    minimumTTL: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  TTL: 3600
                  fqdn: zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/SOA
        Patch SRV recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: SRV
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV/record1
                name: record1
                properties:
                  SRVRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/SRV
        Patch TXT recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                metadata:
                  key2: value2
            recordType: TXT
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT/record1
                name: record1
                properties:
                  TTL: 3600
                  TXTRecords:
                    - value:
                        - string1
                        - string2
                  fqdn: record1.zone1
                  metadata:
                    key2: value2
                type: Microsoft.Network/dnsZones/TXT
    put:
      description: Creates or updates a record set within a 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 DNS zone (without a terminating dot).
          in: path
          name: zoneName
          required: true
          type: string
        - 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 type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is created).
          enum:
            - A
            - AAAA
            - CAA
            - CNAME
            - MX
            - NS
            - PTR
            - SOA
            - SRV
            - TXT
          in: path
          name: recordType
          required: true
          type: string
          x-ms-enum:
            modelAsString: false
            name: RecordType
        - 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:
        Create A recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                ARecords:
                  - ipv4Address: 127.0.0.1
                TTL: 3600
                metadata:
                  key1: value1
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  ARecords:
                    - ipv4Address: 127.0.0.1
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/A
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  ARecords:
                    - ipv4Address: 127.0.0.1
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/A
        Create A recordset with alias target resource:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                TTL: 3600
                metadata:
                  key1: value1
                targetResource:
                  id: /subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2
            recordType: A
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                  provisioningState: Succeeded
                  targetResource:
                    id: /subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2
                type: Microsoft.Network/dnsZones/A
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/A/record1
                name: record1
                properties:
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                  provisioningState: Succeeded
                  targetResource:
                    id: /subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2
                type: Microsoft.Network/dnsZones/A
        Create AAAA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                AAAARecords:
                  - ipv6Address: '::1'
                TTL: 3600
                metadata:
                  key1: value1
            recordType: AAAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA/record1
                name: record1
                properties:
                  AAAARecords:
                    - ipv6Address: '::1'
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/AAAA
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/AAAA/record1
                name: record1
                properties:
                  AAAARecords:
                    - ipv6Address: '::1'
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/AAAA
        Create CAA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                TTL: 3600
                caaRecords:
                  - flags: 0
                    tag: issue
                    value: ca.contoso.com
                metadata:
                  key1: value1
            recordType: CAA
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                name: record1
                properties:
                  TTL: 3600
                  caaRecords:
                    - flags: 0
                      tag: issue
                      value: ca.contoso.com
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CAA
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CAA/record1
                name: record1
                properties:
                  TTL: 3600
                  caaRecords:
                    - flags: 0
                      tag: issue
                      value: ca.contoso.com
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CAA
        Create CNAME recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                CNAMERecord:
                  cname: contoso.com
                TTL: 3600
                metadata:
                  key1: value1
            recordType: CNAME
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record1
                name: record1
                properties:
                  CNAMERecord:
                    cname: contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CNAME
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/CNAME/record1
                name: record1
                properties:
                  CNAMERecord:
                    cname: contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/CNAME
        Create MX recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                MXRecords:
                  - exchange: mail.contoso.com
                    preference: 0
                TTL: 3600
                metadata:
                  key1: value1
            recordType: MX
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX/record1
                name: record1
                properties:
                  MXRecords:
                    - exchange: mail.contoso.com
                      preference: 0
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/MX
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/MX/record1
                name: record1
                properties:
                  MXRecords:
                    - exchange: mail.contoso.com
                      preference: 0
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/MX
        Create NS recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                NSRecords:
                  - nsdname: ns1.contoso.com
                TTL: 3600
                metadata:
                  key1: value1
            recordType: NS
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS/record1
                name: record1
                properties:
                  NSRecords:
                    - nsdname: ns1.contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/NS
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/NS/record1
                name: record1
                properties:
                  NSRecords:
                    - nsdname: ns1.contoso.com
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/NS
        Create PTR recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                PTRRecords:
                  - ptrdname: localhost
                TTL: 3600
                metadata:
                  key1: value1
            recordType: PTR
            relativeRecordSetName: '1'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: 0.0.127.in-addr.arpa
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR/1
                name: '1'
                properties:
                  PTRRecords:
                    - ptrdname: localhost
                  TTL: 3600
                  fqdn: 1.0.0.127.in-addr.arpa
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/PTR
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/0.0.127.in-addr.arpa/PTR/1
                name: '1'
                properties:
                  PTRRecords:
                    - ptrdname: localhost
                  TTL: 3600
                  fqdn: 1.0.0.127.in-addr.arpa
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/PTR
        Create SOA recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                SOARecord:
                  email: hostmaster.contoso.com
                  expireTime: 2419200
                  host: ns1.contoso.com
                  minimumTTL: 300
                  refreshTime: 3600
                  retryTime: 300
                  serialNumber: 1
                TTL: 3600
                metadata:
                  key1: value1
            recordType: SOA
            relativeRecordSetName: '@'
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA/@
                name: '@'
                properties:
                  SOARecord:
                    email: hostmaster.contoso.com
                    expireTime: 2419200
                    host: ns1.contoso.com
                    minimumTTL: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  TTL: 3600
                  fqdn: zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SOA
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SOA/@
                name: '@'
                properties:
                  SOARecord:
                    email: hostmaster.contoso.com
                    expireTime: 2419200
                    host: ns1.contoso.com
                    minimumTTL: 300
                    refreshTime: 3600
                    retryTime: 300
                    serialNumber: 1
                  TTL: 3600
                  fqdn: zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SOA
        Create SRV recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                SRVRecords:
                  - port: 80
                    priority: 0
                    target: contoso.com
                    weight: 10
                TTL: 3600
                metadata:
                  key1: value1
            recordType: SRV
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV/record1
                name: record1
                properties:
                  SRVRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SRV
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/SRV/record1
                name: record1
                properties:
                  SRVRecords:
                    - port: 80
                      priority: 0
                      target: contoso.com
                      weight: 10
                  TTL: 3600
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/SRV
        Create TXT recordset:
          parameters:
            api-version: '2018-05-01'
            parameters:
              properties:
                TTL: 3600
                TXTRecords:
                  - value:
                      - string1
                      - string2
                metadata:
                  key1: value1
            recordType: TXT
            relativeRecordSetName: record1
            resourceGroupName: rg1
            subscriptionId: subid
            zoneName: zone1
          responses:
            '200':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT/record1
                name: record1
                properties:
                  TTL: 3600
                  TXTRecords:
                    - value:
                        - string1
                        - string2
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/TXT
            '201':
              body:
                etag: 00000000-0000-0000-0000-000000000000
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dnsZones/zone1/TXT/record1
                name: record1
                properties:
                  TTL: 3600
                  TXTRecords:
                    - value:
                        - string1
                        - string2
                  fqdn: record1.zone1
                  metadata:
                    key1: value1
                type: Microsoft.Network/dnsZones/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
  CaaRecord:
    description: A CAA record.
    properties:
      flags:
        description: The flags for this CAA record as an integer between 0 and 255.
        format: int32
        type: integer
      tag:
        description: The tag for this CAA record.
        type: string
      value:
        description: The value for this CAA 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
  DnsResourceReference:
    description: Represents a single Azure resource and its referencing DNS records.
    properties:
      dnsResources:
        description: 'A list of dns Records '
        items:
          $ref: '#/definitions/SubResource'
        type: array
      targetResource:
        $ref: '#/definitions/SubResource'
        description: A reference to an azure resource from where the dns resource value is taken.
  DnsResourceReferenceRequest:
    description: Represents the properties of the Dns Resource Reference Request.
    properties:
      properties:
        $ref: '#/definitions/DnsResourceReferenceRequestProperties'
        description: The properties of the Resource Reference Request.
        x-ms-client-flatten: true
  DnsResourceReferenceRequestProperties:
    description: Represents the properties of the Dns Resource Reference Request.
    properties:
      targetResources:
        description: A list of references to azure resources for which referencing dns records need to be queried.
        items:
          $ref: '#/definitions/SubResource'
        type: array
  DnsResourceReferenceResult:
    description: Represents the properties of the Dns Resource Reference Result.
    properties:
      properties:
        $ref: '#/definitions/DnsResourceReferenceResultProperties'
        description: The result of dns resource reference request. Returns a list of dns resource references for each of the azure resource in the request.
        x-ms-client-flatten: true
  DnsResourceReferenceResultProperties:
    description: The result of dns resource reference request. Returns a list of dns resource references for each of the azure resource in the request.
    properties:
      dnsResourceReferences:
        description: The result of dns resource reference request. A list of dns resource references for each of the azure resource in the request
        items:
          $ref: '#/definitions/DnsResourceReference'
        type: array
  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
  NsRecord:
    description: An NS record.
    properties:
      nsdname:
        description: The name server name for this NS record.
        type: string
  PtrRecord:
    description: A PTR record.
    properties:
      ptrdname:
        description: The PTR target domain name for this PTR record.
        type: string
  RecordSet:
    description: Describes a DNS record set (a collection of DNS records with the same name and type).
    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
    x-ms-azure-resource: true
  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:
      AAAARecords:
        description: The list of AAAA records in the record set.
        items:
          $ref: '#/definitions/AaaaRecord'
        type: array
        x-ms-client-name: AaaaRecords
      ARecords:
        description: The list of A records in the record set.
        items:
          $ref: '#/definitions/ARecord'
        type: array
      CNAMERecord:
        $ref: '#/definitions/CnameRecord'
        description: The CNAME record in the  record set.
        x-ms-client-name: CnameRecord
      MXRecords:
        description: The list of MX records in the record set.
        items:
          $ref: '#/definitions/MxRecord'
        type: array
        x-ms-client-name: MxRecords
      NSRecords:
        description: The list of NS records in the record set.
        items:
          $ref: '#/definitions/NsRecord'
        type: array
        x-ms-client-name: NsRecords
      PTRRecords:
        description: The list of PTR records in the record set.
        items:
          $ref: '#/definitions/PtrRecord'
        type: array
        x-ms-client-name: PtrRecords
      SOARecord:
        $ref: '#/definitions/SoaRecord'
        description: The SOA record in the record set.
        x-ms-client-name: SoaRecord
      SRVRecords:
        description: The list of SRV records in the record set.
        items:
          $ref: '#/definitions/SrvRecord'
        type: array
        x-ms-client-name: SrvRecords
      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
        x-ms-client-name: TxtRecords
      caaRecords:
        description: The list of CAA records in the record set.
        items:
          $ref: '#/definitions/CaaRecord'
        type: array
        x-ms-client-name: CaaRecords
      fqdn:
        description: Fully qualified domain name of the record set.
        readOnly: true
        type: string
      metadata:
        additionalProperties:
          type: string
        description: The metadata attached to the record set.
        type: object
      provisioningState:
        description: provisioning State of the record set.
        readOnly: true
        type: string
      targetResource:
        $ref: '#/definitions/SubResource'
        description: A reference to an azure resource from where the dns resource value is taken.
  RecordSetUpdateParameters:
    description: Parameters supplied to update a record set.
    properties:
      RecordSet:
        $ref: '#/definitions/RecordSet'
        description: Specifies information about the record set being updated.
  Resource:
    description: Common properties of an Azure Resource Manager resource
    properties:
      id:
        description: Resource ID.
        readOnly: true
        type: string
      location:
        description: Resource location.
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: Resource name.
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
      type:
        description: Resource type.
        readOnly: true
        type: string
    required:
      - location
    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
        x-ms-client-name: minimumTtl
      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: A reference to a another resource
    properties:
      id:
        description: Resource Id.
        type: string
  TxtRecord:
    description: A TXT record.
    properties:
      value:
        description: The text value of this TXT record.
        items:
          type: string
        type: array
  Zone:
    allOf:
      - $ref: '#/definitions/Resource'
    description: Describes a DNS zone.
    properties:
      etag:
        description: The etag of the zone.
        type: string
      properties:
        $ref: '#/definitions/ZoneProperties'
        description: The properties of the zone.
        x-ms-client-flatten: true
  ZoneListResult:
    description: The response to a Zone List or ListAll operation.
    properties:
      nextLink:
        description: The continuation token for the next page of results.
        readOnly: true
        type: string
      value:
        description: Information about the DNS zones.
        items:
          $ref: '#/definitions/Zone'
        type: array
  ZoneProperties:
    description: Represents the properties of the zone.
    properties:
      maxNumberOfRecordSets:
        description: The maximum number of record sets that can be created in this DNS zone.  This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      nameServers:
        description: The name servers for this DNS zone. This is a read-only property and any attempt to set this value will be ignored.
        items:
          type: string
        readOnly: true
        type: array
      numberOfRecordSets:
        description: The current number of record sets in this DNS zone.  This is a read-only property and any attempt to set this value will be ignored.
        format: int64
        readOnly: true
        type: integer
      registrationVirtualNetworks:
        description: A list of references to virtual networks that register hostnames in this DNS zone. This is a only when ZoneType is Private.
        items:
          $ref: '#/definitions/SubResource'
        type: array
      resolutionVirtualNetworks:
        description: A list of references to virtual networks that resolve records in this DNS zone. This is a only when ZoneType is Private.
        items:
          $ref: '#/definitions/SubResource'
        type: array
      zoneType:
        default: Public
        description: The type of this DNS zone (Public or Private).
        enum:
          - Public
          - Private
        type: string
        x-ms-enum:
          modelAsString: false
          name: ZoneType
  ZoneUpdate:
    description: Describes a request to update a DNS zone.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
