@azure/arm-dns
Version:
A generated SDK for DnsManagementClient.
1 lines • 31.2 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),coreClient=require("@azure/core-client"),coreRestPipeline=require("@azure/core-rest-pipeline"),coreLro=require("@azure/core-lro");function _interopNamespace(t){var a;return t&&t.__esModule?t:(a=Object.create(null),t&&Object.keys(t).forEach(function(e){var r;"default"!==e&&(r=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(a,e,r.get?r:{enumerable:!0,get:function(){return t[e]}}))}),a.default=t,Object.freeze(a))}var coreClient__namespace=_interopNamespace(coreClient),coreRestPipeline__namespace=_interopNamespace(coreRestPipeline);const pageMap=new WeakMap;function getContinuationToken(e){return"object"!=typeof e||null===e||null==(e=pageMap.get(e))?void 0:e.continuationToken}function setContinuationToken(e,r){var t;"object"==typeof e&&null!==e&&r&&((t=null!=(t=pageMap.get(e))?t:{}).continuationToken=r,pageMap.set(e,t))}const RecordSet={type:{name:"Composite",className:"RecordSet",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}},etag:{serializedName:"etag",type:{name:"String"}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},ttl:{serializedName:"properties.TTL",type:{name:"Number"}},fqdn:{serializedName:"properties.fqdn",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},targetResource:{serializedName:"properties.targetResource",type:{name:"Composite",className:"SubResource"}},aRecords:{serializedName:"properties.ARecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"ARecord"}}}},aaaaRecords:{serializedName:"properties.AAAARecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"AaaaRecord"}}}},mxRecords:{serializedName:"properties.MXRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"MxRecord"}}}},nsRecords:{serializedName:"properties.NSRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"NsRecord"}}}},ptrRecords:{serializedName:"properties.PTRRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"PtrRecord"}}}},srvRecords:{serializedName:"properties.SRVRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"SrvRecord"}}}},txtRecords:{serializedName:"properties.TXTRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"TxtRecord"}}}},cnameRecord:{serializedName:"properties.CNAMERecord",type:{name:"Composite",className:"CnameRecord"}},soaRecord:{serializedName:"properties.SOARecord",type:{name:"Composite",className:"SoaRecord"}},caaRecords:{serializedName:"properties.caaRecords",type:{name:"Sequence",element:{type:{name:"Composite",className:"CaaRecord"}}}}}}},SubResource={type:{name:"Composite",className:"SubResource",modelProperties:{id:{serializedName:"id",type:{name:"String"}}}}},ARecord={type:{name:"Composite",className:"ARecord",modelProperties:{ipv4Address:{serializedName:"ipv4Address",type:{name:"String"}}}}},AaaaRecord={type:{name:"Composite",className:"AaaaRecord",modelProperties:{ipv6Address:{serializedName:"ipv6Address",type:{name:"String"}}}}},MxRecord={type:{name:"Composite",className:"MxRecord",modelProperties:{preference:{serializedName:"preference",type:{name:"Number"}},exchange:{serializedName:"exchange",type:{name:"String"}}}}},NsRecord={type:{name:"Composite",className:"NsRecord",modelProperties:{nsdname:{serializedName:"nsdname",type:{name:"String"}}}}},PtrRecord={type:{name:"Composite",className:"PtrRecord",modelProperties:{ptrdname:{serializedName:"ptrdname",type:{name:"String"}}}}},SrvRecord={type:{name:"Composite",className:"SrvRecord",modelProperties:{priority:{serializedName:"priority",type:{name:"Number"}},weight:{serializedName:"weight",type:{name:"Number"}},port:{serializedName:"port",type:{name:"Number"}},target:{serializedName:"target",type:{name:"String"}}}}},TxtRecord={type:{name:"Composite",className:"TxtRecord",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"String"}}}}}}},CnameRecord={type:{name:"Composite",className:"CnameRecord",modelProperties:{cname:{serializedName:"cname",type:{name:"String"}}}}},SoaRecord={type:{name:"Composite",className:"SoaRecord",modelProperties:{host:{serializedName:"host",type:{name:"String"}},email:{serializedName:"email",type:{name:"String"}},serialNumber:{serializedName:"serialNumber",type:{name:"Number"}},refreshTime:{serializedName:"refreshTime",type:{name:"Number"}},retryTime:{serializedName:"retryTime",type:{name:"Number"}},expireTime:{serializedName:"expireTime",type:{name:"Number"}},minimumTtl:{serializedName:"minimumTTL",type:{name:"Number"}}}}},CaaRecord={type:{name:"Composite",className:"CaaRecord",modelProperties:{flags:{serializedName:"flags",type:{name:"Number"}},tag:{serializedName:"tag",type:{name:"String"}},value:{serializedName:"value",type:{name:"String"}}}}},CloudError={type:{name:"Composite",className:"CloudError",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"CloudErrorBody"}}}}},CloudErrorBody={type:{name:"Composite",className:"CloudErrorBody",modelProperties:{code:{serializedName:"code",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}},target:{serializedName:"target",type:{name:"String"}},details:{serializedName:"details",type:{name:"Sequence",element:{type:{name:"Composite",className:"CloudErrorBody"}}}}}}},RecordSetListResult={type:{name:"Composite",className:"RecordSetListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"RecordSet"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Resource={type:{name:"Composite",className:"Resource",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}},location:{serializedName:"location",required:!0,type:{name:"String"}},tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},ZoneUpdate={type:{name:"Composite",className:"ZoneUpdate",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},ZoneListResult={type:{name:"Composite",className:"ZoneListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"Zone"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},DnsResourceReferenceRequest={type:{name:"Composite",className:"DnsResourceReferenceRequest",modelProperties:{targetResources:{serializedName:"properties.targetResources",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}}}}},DnsResourceReferenceResult={type:{name:"Composite",className:"DnsResourceReferenceResult",modelProperties:{dnsResourceReferences:{serializedName:"properties.dnsResourceReferences",type:{name:"Sequence",element:{type:{name:"Composite",className:"DnsResourceReference"}}}}}}},DnsResourceReference={type:{name:"Composite",className:"DnsResourceReference",modelProperties:{dnsResources:{serializedName:"dnsResources",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},targetResource:{serializedName:"targetResource",type:{name:"Composite",className:"SubResource"}}}}},RecordSetUpdateParameters={type:{name:"Composite",className:"RecordSetUpdateParameters",modelProperties:{recordSet:{serializedName:"RecordSet",type:{name:"Composite",className:"RecordSet"}}}}},Zone={type:{name:"Composite",className:"Zone",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{etag:{serializedName:"etag",type:{name:"String"}},maxNumberOfRecordSets:{serializedName:"properties.maxNumberOfRecordSets",readOnly:!0,type:{name:"Number"}},maxNumberOfRecordsPerRecordSet:{serializedName:"properties.maxNumberOfRecordsPerRecordSet",readOnly:!0,type:{name:"Number"}},numberOfRecordSets:{serializedName:"properties.numberOfRecordSets",readOnly:!0,type:{name:"Number"}},nameServers:{serializedName:"properties.nameServers",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},zoneType:{defaultValue:"Public",serializedName:"properties.zoneType",type:{name:"Enum",allowedValues:["Public","Private"]}},registrationVirtualNetworks:{serializedName:"properties.registrationVirtualNetworks",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},resolutionVirtualNetworks:{serializedName:"properties.resolutionVirtualNetworks",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}}})}};var Mappers=Object.freeze({__proto__:null,RecordSet:RecordSet,SubResource:SubResource,ARecord:ARecord,AaaaRecord:AaaaRecord,MxRecord:MxRecord,NsRecord:NsRecord,PtrRecord:PtrRecord,SrvRecord:SrvRecord,TxtRecord:TxtRecord,CnameRecord:CnameRecord,SoaRecord:SoaRecord,CaaRecord:CaaRecord,CloudError:CloudError,CloudErrorBody:CloudErrorBody,RecordSetListResult:RecordSetListResult,Resource:Resource,ZoneUpdate:ZoneUpdate,ZoneListResult:ZoneListResult,DnsResourceReferenceRequest:DnsResourceReferenceRequest,DnsResourceReferenceResult:DnsResourceReferenceResult,DnsResourceReference:DnsResourceReference,RecordSetUpdateParameters:RecordSetUpdateParameters,Zone:Zone});const contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:RecordSet},accept={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},$host={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},resourceGroupName={parameterPath:"resourceGroupName",mapper:{serializedName:"resourceGroupName",required:!0,type:{name:"String"}}},zoneName={parameterPath:"zoneName",mapper:{serializedName:"zoneName",required:!0,type:{name:"String"}}},relativeRecordSetName={parameterPath:"relativeRecordSetName",mapper:{serializedName:"relativeRecordSetName",required:!0,type:{name:"String"}},skipEncoding:!0},recordType={parameterPath:"recordType",mapper:{serializedName:"recordType",required:!0,type:{name:"Enum",allowedValues:["A","AAAA","CAA","CNAME","MX","NS","PTR","SOA","SRV","TXT"]}}},ifMatch={parameterPath:["options","ifMatch"],mapper:{serializedName:"If-Match",type:{name:"String"}}},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2018-05-01",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},subscriptionId={parameterPath:"subscriptionId",mapper:{serializedName:"subscriptionId",required:!0,type:{name:"String"}}},ifNoneMatch={parameterPath:["options","ifNoneMatch"],mapper:{serializedName:"If-None-Match",type:{name:"String"}}},top={parameterPath:["options","top"],mapper:{serializedName:"$top",type:{name:"Number"}}},recordsetnamesuffix={parameterPath:["options","recordsetnamesuffix"],mapper:{serializedName:"$recordsetnamesuffix",type:{name:"String"}}},recordSetNameSuffix={parameterPath:["options","recordSetNameSuffix"],mapper:{serializedName:"$recordsetnamesuffix",type:{name:"String"}}},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},parameters1={parameterPath:"parameters",mapper:Zone},parameters2={parameterPath:"parameters",mapper:ZoneUpdate},parameters3={parameterPath:"parameters",mapper:DnsResourceReferenceRequest};class RecordSetsImpl{constructor(e){this.client=e}listByType(r,t,a,s){const e=this.listByTypePagingAll(r,t,a,s);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByTypePagingPage(r,t,a,s,e)}}}listByTypePagingPage(s,i,o,n,p){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==p?void 0:p.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listByType(s,i,o,n))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listByTypeNext(s,i,o,r,n)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listByTypePagingAll(i,o,n,p){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,a=tslib.__asyncValues(this.listByTypePagingPage(i,o,n,p));!(t=yield tslib.__await(a.next())).done;){var s=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(s)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=a.return)&&(yield tslib.__await(e.call(a)))}finally{if(r)throw r.error}}})}listByDnsZone(r,t,a){const e=this.listByDnsZonePagingAll(r,t,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByDnsZonePagingPage(r,t,a,e)}}}listByDnsZonePagingPage(s,i,o,n){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==n?void 0:n.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listByDnsZone(s,i,o))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listByDnsZoneNext(s,i,r,o)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listByDnsZonePagingAll(i,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,a=tslib.__asyncValues(this.listByDnsZonePagingPage(i,o,n));!(t=yield tslib.__await(a.next())).done;){var s=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(s)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=a.return)&&(yield tslib.__await(e.call(a)))}finally{if(r)throw r.error}}})}listAllByDnsZone(r,t,a){const e=this.listAllByDnsZonePagingAll(r,t,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listAllByDnsZonePagingPage(r,t,a,e)}}}listAllByDnsZonePagingPage(s,i,o,n){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==n?void 0:n.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listAllByDnsZone(s,i,o))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listAllByDnsZoneNext(s,i,r,o)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listAllByDnsZonePagingAll(i,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,a=tslib.__asyncValues(this.listAllByDnsZonePagingPage(i,o,n));!(t=yield tslib.__await(a.next())).done;){var s=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(s)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=a.return)&&(yield tslib.__await(e.call(a)))}finally{if(r)throw r.error}}})}update(e,r,t,a,s,i){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,relativeRecordSetName:t,recordType:a,parameters:s,options:i},updateOperationSpec$1)}createOrUpdate(e,r,t,a,s,i){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,relativeRecordSetName:t,recordType:a,parameters:s,options:i},createOrUpdateOperationSpec$1)}delete(e,r,t,a,s){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,relativeRecordSetName:t,recordType:a,options:s},deleteOperationSpec$1)}get(e,r,t,a,s){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,relativeRecordSetName:t,recordType:a,options:s},getOperationSpec$1)}_listByType(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,recordType:t,options:a},listByTypeOperationSpec)}_listByDnsZone(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,options:t},listByDnsZoneOperationSpec)}_listAllByDnsZone(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,options:t},listAllByDnsZoneOperationSpec)}_listByTypeNext(e,r,t,a,s){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,recordType:t,nextLink:a,options:s},listByTypeNextOperationSpec)}_listByDnsZoneNext(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,nextLink:t,options:a},listByDnsZoneNextOperationSpec)}_listAllByDnsZoneNext(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,nextLink:t,options:a},listAllByDnsZoneNextOperationSpec)}}const serializer$2=coreClient__namespace.createSerializer(Mappers,!1),updateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",httpMethod:"PATCH",responses:{200:{bodyMapper:RecordSet},default:{bodyMapper:CloudError}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,relativeRecordSetName,recordType,subscriptionId],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$2},createOrUpdateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",httpMethod:"PUT",responses:{200:{bodyMapper:RecordSet},201:{bodyMapper:RecordSet},default:{bodyMapper:CloudError}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,relativeRecordSetName,recordType,subscriptionId],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$2},deleteOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",httpMethod:"DELETE",responses:{200:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,relativeRecordSetName,recordType,subscriptionId],headerParameters:[accept,ifMatch],serializer:serializer$2},getOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",httpMethod:"GET",responses:{200:{bodyMapper:RecordSet},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,relativeRecordSetName,recordType,subscriptionId],headerParameters:[accept],serializer:serializer$2},listByTypeOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordsetnamesuffix],urlParameters:[$host,resourceGroupName,zoneName,recordType,subscriptionId],headerParameters:[accept],serializer:serializer$2},listByDnsZoneOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordsetnamesuffix],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[accept],serializer:serializer$2},listAllByDnsZoneOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordSetNameSuffix],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[accept],serializer:serializer$2},listByTypeNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordsetnamesuffix],urlParameters:[$host,resourceGroupName,zoneName,recordType,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$2},listByDnsZoneNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordsetnamesuffix],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$2},listAllByDnsZoneNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:RecordSetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top,recordSetNameSuffix],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$2};class LroImpl{constructor(e,r,t,a=t.path,s=t.httpMethod){this.sendOperationFn=e,this.args=r,this.spec=t,this.requestPath=a,this.requestMethod=s}sendInitialRequest(){return tslib.__awaiter(this,void 0,void 0,function*(){return this.sendOperationFn(this.args,this.spec)})}sendPollRequest(r){return tslib.__awaiter(this,void 0,void 0,function*(){var e=this.spec,e=tslib.__rest(e,["requestBody"]);return this.sendOperationFn(this.args,Object.assign(Object.assign({},e),{path:r,httpMethod:"GET"}))})}}class ZonesImpl{constructor(e){this.client=e}listByResourceGroup(r,t){const e=this.listByResourceGroupPagingAll(r,t);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByResourceGroupPagingPage(r,t,e)}}}listByResourceGroupPagingPage(s,i,o){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==o?void 0:o.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listByResourceGroup(s,i))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listByResourceGroupNext(s,r,i)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listByResourceGroupPagingAll(i,o){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,a=tslib.__asyncValues(this.listByResourceGroupPagingPage(i,o));!(t=yield tslib.__await(a.next())).done;){var s=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(s)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=a.return)&&(yield tslib.__await(e.call(a)))}finally{if(r)throw r.error}}})}list(r){const e=this.listPagingAll(r);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(r,e)}}}listPagingPage(s,i){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==i?void 0:i.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._list(s))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listNext(r,s)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listPagingAll(i){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,a=tslib.__asyncValues(this.listPagingPage(i));!(t=yield tslib.__await(a.next())).done;){var s=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(s)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=a.return)&&(yield tslib.__await(e.call(a)))}finally{if(r)throw r.error}}})}createOrUpdate(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,parameters:t,options:a},createOrUpdateOperationSpec)}beginDelete(r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){const i=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const a=null==(e=r.options)?void 0:e.onResponse;var e=Object.assign(Object.assign({},r),{options:Object.assign(Object.assign({},r.options),{onResponse:(e,r)=>{t=e,null!==a&&void 0!==a&&a(e,r)}})});return{flatResponse:yield i(e,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:r,zoneName:t,options:a},deleteOperationSpec),e=new coreLro.LroEngine(e,{resumeFrom:null==a?void 0:a.resumeFrom,intervalInMs:null==a?void 0:a.updateIntervalInMs});return yield e.poll(),e})}beginDeleteAndWait(e,r,t){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,r,t)).pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,options:t},getOperationSpec)}update(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,zoneName:r,parameters:t,options:a},updateOperationSpec)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec)}_listByResourceGroupNext(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,nextLink:r,options:t},listByResourceGroupNextOperationSpec)}_listNext(e,r){return this.client.sendOperationRequest({nextLink:e,options:r},listNextOperationSpec)}}const serializer$1=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}",httpMethod:"PUT",responses:{200:{bodyMapper:Zone},201:{bodyMapper:Zone},default:{bodyMapper:CloudError}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$1},deleteOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[accept,ifMatch],serializer:serializer$1},getOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}",httpMethod:"GET",responses:{200:{bodyMapper:Zone},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[accept],serializer:serializer$1},updateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Zone},default:{bodyMapper:CloudError}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,resourceGroupName,zoneName,subscriptionId],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$1},listByResourceGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones",httpMethod:"GET",responses:{200:{bodyMapper:ZoneListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,resourceGroupName,subscriptionId],headerParameters:[accept],serializer:serializer$1},listOperationSpec={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones",httpMethod:"GET",responses:{200:{bodyMapper:ZoneListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$1},listByResourceGroupNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ZoneListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,resourceGroupName,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$1},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ZoneListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$1};class DnsResourceReferenceOperationsImpl{constructor(e){this.client=e}getByTargetResources(e,r){return this.client.sendOperationRequest({parameters:e,options:r},getByTargetResourcesOperationSpec)}}const serializer=coreClient__namespace.createSerializer(Mappers,!1),getByTargetResourcesOperationSpec={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/getDnsResourceReference",httpMethod:"POST",responses:{200:{bodyMapper:DnsResourceReferenceResult},default:{bodyMapper:CloudError}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[contentType,accept],mediaType:"json",serializer:serializer};class DnsManagementClient extends coreClient__namespace.ServiceClient{constructor(e,r,t){if(void 0===e)throw new Error("'credentials' cannot be null");if(void 0===r)throw new Error("'subscriptionId' cannot be null");var a,s="azsdk-js-arm-dns/5.1.0",s=(t=t||{}).userAgentOptions&&t.userAgentOptions.userAgentPrefix?t.userAgentOptions.userAgentPrefix+" "+s:s,s=Object.assign(Object.assign(Object.assign({},{requestContentType:"application/json; charset=utf-8",credential:e}),t),{userAgentOptions:{userAgentPrefix:s},endpoint:null!=(s=null!=(s=t.endpoint)?s:t.baseUri)?s:"https://management.azure.com"});super(s);let i=!1;null!=t&&t.pipeline&&0<t.pipeline.getOrderedPolicies().length&&(a=t.pipeline.getOrderedPolicies(),i=a.some(e=>e.name===coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName)),t&&t.pipeline&&0!=t.pipeline.getOrderedPolicies().length&&i||(this.pipeline.removePolicy({name:coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({credential:e,scopes:null!=(a=s.credentialScopes)?a:s.endpoint+"/.default",challengeCallbacks:{authorizeRequestOnChallenge:coreClient__namespace.authorizeRequestOnClaimChallenge}}))),this.subscriptionId=r,this.$host=t.$host||"https://management.azure.com",this.apiVersion=t.apiVersion||"2018-05-01",this.recordSets=new RecordSetsImpl(this),this.zones=new ZonesImpl(this),this.dnsResourceReferenceOperations=new DnsResourceReferenceOperationsImpl(this),this.addCustomApiVersionPolicy(t.apiVersion)}addCustomApiVersionPolicy(s){s&&this.pipeline.addPolicy({name:"CustomApiVersionPolicy",sendRequest(t,a){return tslib.__awaiter(this,void 0,void 0,function*(){var e,r=t.url.split("?");return 1<r.length&&(e=r[1].split("&").map(e=>-1<e.indexOf("api-version")?"api-version="+s:e),t.url=r[0]+"?"+e.join("&")),a(t)})}})}}exports.DnsManagementClient=DnsManagementClient,exports.getContinuationToken=getContinuationToken;