@azure/arm-dnsresolver 1.0.0-beta.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +2 -8
  2. package/README.md +1 -1
  3. package/dist/index.js +66 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/dnsForwardingRulesetsCreateOrUpdateSample.js +1 -1
  8. package/dist-esm/samples-dev/dnsForwardingRulesetsDeleteSample.js +1 -1
  9. package/dist-esm/samples-dev/dnsForwardingRulesetsGetSample.js +1 -1
  10. package/dist-esm/samples-dev/dnsForwardingRulesetsListByResourceGroupSample.js +1 -1
  11. package/dist-esm/samples-dev/dnsForwardingRulesetsListByVirtualNetworkSample.js +1 -1
  12. package/dist-esm/samples-dev/dnsForwardingRulesetsListSample.js +1 -1
  13. package/dist-esm/samples-dev/dnsForwardingRulesetsUpdateSample.js +1 -1
  14. package/dist-esm/samples-dev/dnsResolversCreateOrUpdateSample.js +1 -1
  15. package/dist-esm/samples-dev/dnsResolversDeleteSample.js +1 -1
  16. package/dist-esm/samples-dev/dnsResolversGetSample.js +1 -1
  17. package/dist-esm/samples-dev/dnsResolversListByResourceGroupSample.js +1 -1
  18. package/dist-esm/samples-dev/dnsResolversListByVirtualNetworkSample.js +1 -1
  19. package/dist-esm/samples-dev/dnsResolversListSample.js +1 -1
  20. package/dist-esm/samples-dev/dnsResolversUpdateSample.js +1 -1
  21. package/dist-esm/samples-dev/forwardingRulesCreateOrUpdateSample.js +1 -1
  22. package/dist-esm/samples-dev/forwardingRulesDeleteSample.js +1 -1
  23. package/dist-esm/samples-dev/forwardingRulesGetSample.js +1 -1
  24. package/dist-esm/samples-dev/forwardingRulesListSample.js +1 -1
  25. package/dist-esm/samples-dev/forwardingRulesUpdateSample.js +1 -1
  26. package/dist-esm/samples-dev/inboundEndpointsCreateOrUpdateSample.js +1 -1
  27. package/dist-esm/samples-dev/inboundEndpointsDeleteSample.js +1 -1
  28. package/dist-esm/samples-dev/inboundEndpointsGetSample.js +1 -1
  29. package/dist-esm/samples-dev/inboundEndpointsListSample.js +1 -1
  30. package/dist-esm/samples-dev/inboundEndpointsUpdateSample.js +1 -1
  31. package/dist-esm/samples-dev/outboundEndpointsCreateOrUpdateSample.js +1 -1
  32. package/dist-esm/samples-dev/outboundEndpointsDeleteSample.js +1 -1
  33. package/dist-esm/samples-dev/outboundEndpointsGetSample.js +1 -1
  34. package/dist-esm/samples-dev/outboundEndpointsListSample.js +1 -1
  35. package/dist-esm/samples-dev/outboundEndpointsUpdateSample.js +1 -1
  36. package/dist-esm/samples-dev/virtualNetworkLinksCreateOrUpdateSample.js +1 -1
  37. package/dist-esm/samples-dev/virtualNetworkLinksDeleteSample.js +1 -1
  38. package/dist-esm/samples-dev/virtualNetworkLinksGetSample.js +1 -1
  39. package/dist-esm/samples-dev/virtualNetworkLinksListSample.js +1 -1
  40. package/dist-esm/samples-dev/virtualNetworkLinksUpdateSample.js +1 -1
  41. package/dist-esm/src/dnsResolverManagementClient.d.ts +2 -0
  42. package/dist-esm/src/dnsResolverManagementClient.d.ts.map +1 -1
  43. package/dist-esm/src/dnsResolverManagementClient.js +31 -2
  44. package/dist-esm/src/dnsResolverManagementClient.js.map +1 -1
  45. package/dist-esm/src/models/index.d.ts +44 -25
  46. package/dist-esm/src/models/index.d.ts.map +1 -1
  47. package/dist-esm/src/models/index.js +16 -0
  48. package/dist-esm/src/models/index.js.map +1 -1
  49. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  50. package/dist-esm/src/models/mappers.js +18 -0
  51. package/dist-esm/src/models/mappers.js.map +1 -1
  52. package/dist-esm/src/models/parameters.js +1 -1
  53. package/dist-esm/src/models/parameters.js.map +1 -1
  54. package/dist-esm/test/dnsresolver_examples.spec.d.ts +4 -0
  55. package/dist-esm/test/dnsresolver_examples.spec.d.ts.map +1 -0
  56. package/dist-esm/test/dnsresolver_examples.spec.js +110 -0
  57. package/dist-esm/test/dnsresolver_examples.spec.js.map +1 -0
  58. package/package.json +10 -7
  59. package/review/arm-dnsresolver.api.md +36 -50
  60. package/src/dnsResolverManagementClient.ts +36 -2
  61. package/src/models/index.ts +43 -25
  62. package/src/models/mappers.ts +18 -0
  63. package/src/models/parameters.ts +1 -1
  64. package/types/arm-dnsresolver.d.ts +46 -25
  65. package/types/tsdoc-metadata.json +1 -1
  66. package/dist-esm/samples-dev/deleteDnsForwardingRuleset.d.ts +0 -2
  67. package/dist-esm/samples-dev/deleteDnsForwardingRuleset.d.ts.map +0 -1
  68. package/dist-esm/samples-dev/deleteDnsForwardingRuleset.js +0 -31
  69. package/dist-esm/samples-dev/deleteDnsForwardingRuleset.js.map +0 -1
  70. package/dist-esm/samples-dev/deleteDnsResolver.d.ts +0 -2
  71. package/dist-esm/samples-dev/deleteDnsResolver.d.ts.map +0 -1
  72. package/dist-esm/samples-dev/deleteDnsResolver.js +0 -31
  73. package/dist-esm/samples-dev/deleteDnsResolver.js.map +0 -1
  74. package/dist-esm/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.d.ts +0 -2
  75. package/dist-esm/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.d.ts.map +0 -1
  76. package/dist-esm/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.js +0 -32
  77. package/dist-esm/samples-dev/deleteForwardingRuleInADnsForwardingRuleset.js.map +0 -1
  78. package/dist-esm/samples-dev/deleteInboundEndpointForDnsResolver.d.ts +0 -2
  79. package/dist-esm/samples-dev/deleteInboundEndpointForDnsResolver.d.ts.map +0 -1
  80. package/dist-esm/samples-dev/deleteInboundEndpointForDnsResolver.js +0 -32
  81. package/dist-esm/samples-dev/deleteInboundEndpointForDnsResolver.js.map +0 -1
  82. package/dist-esm/samples-dev/deleteOutboundEndpointForDnsResolver.d.ts +0 -2
  83. package/dist-esm/samples-dev/deleteOutboundEndpointForDnsResolver.d.ts.map +0 -1
  84. package/dist-esm/samples-dev/deleteOutboundEndpointForDnsResolver.js +0 -32
  85. package/dist-esm/samples-dev/deleteOutboundEndpointForDnsResolver.js.map +0 -1
  86. package/dist-esm/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.d.ts +0 -2
  87. package/dist-esm/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.d.ts.map +0 -1
  88. package/dist-esm/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.js +0 -32
  89. package/dist-esm/samples-dev/deleteVirtualNetworkLinkToADnsForwardingRuleset.js.map +0 -1
  90. package/dist-esm/samples-dev/listDnsForwardingRulesetsByResourceGroup.d.ts +0 -2
  91. package/dist-esm/samples-dev/listDnsForwardingRulesetsByResourceGroup.d.ts.map +0 -1
  92. package/dist-esm/samples-dev/listDnsForwardingRulesetsByResourceGroup.js +0 -44
  93. package/dist-esm/samples-dev/listDnsForwardingRulesetsByResourceGroup.js.map +0 -1
  94. package/dist-esm/samples-dev/listDnsForwardingRulesetsBySubscription.d.ts +0 -2
  95. package/dist-esm/samples-dev/listDnsForwardingRulesetsBySubscription.d.ts.map +0 -1
  96. package/dist-esm/samples-dev/listDnsForwardingRulesetsBySubscription.js +0 -43
  97. package/dist-esm/samples-dev/listDnsForwardingRulesetsBySubscription.js.map +0 -1
  98. package/dist-esm/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.d.ts +0 -2
  99. package/dist-esm/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.d.ts.map +0 -1
  100. package/dist-esm/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.js +0 -45
  101. package/dist-esm/samples-dev/listDnsForwardingRulesetsByVirtualNetwork.js.map +0 -1
  102. package/dist-esm/samples-dev/listDnsResolversByResourceGroup.d.ts +0 -2
  103. package/dist-esm/samples-dev/listDnsResolversByResourceGroup.d.ts.map +0 -1
  104. package/dist-esm/samples-dev/listDnsResolversByResourceGroup.js +0 -44
  105. package/dist-esm/samples-dev/listDnsResolversByResourceGroup.js.map +0 -1
  106. package/dist-esm/samples-dev/listDnsResolversBySubscription.d.ts +0 -2
  107. package/dist-esm/samples-dev/listDnsResolversBySubscription.d.ts.map +0 -1
  108. package/dist-esm/samples-dev/listDnsResolversBySubscription.js +0 -43
  109. package/dist-esm/samples-dev/listDnsResolversBySubscription.js.map +0 -1
  110. package/dist-esm/samples-dev/listDnsResolversByVirtualNetwork.d.ts +0 -2
  111. package/dist-esm/samples-dev/listDnsResolversByVirtualNetwork.d.ts.map +0 -1
  112. package/dist-esm/samples-dev/listDnsResolversByVirtualNetwork.js +0 -45
  113. package/dist-esm/samples-dev/listDnsResolversByVirtualNetwork.js.map +0 -1
  114. package/dist-esm/samples-dev/listForwardingRulesInADnsForwardingRuleset.d.ts +0 -2
  115. package/dist-esm/samples-dev/listForwardingRulesInADnsForwardingRuleset.d.ts.map +0 -1
  116. package/dist-esm/samples-dev/listForwardingRulesInADnsForwardingRuleset.js +0 -45
  117. package/dist-esm/samples-dev/listForwardingRulesInADnsForwardingRuleset.js.map +0 -1
  118. package/dist-esm/samples-dev/listInboundEndpointsByDnsResolver.d.ts +0 -2
  119. package/dist-esm/samples-dev/listInboundEndpointsByDnsResolver.d.ts.map +0 -1
  120. package/dist-esm/samples-dev/listInboundEndpointsByDnsResolver.js +0 -45
  121. package/dist-esm/samples-dev/listInboundEndpointsByDnsResolver.js.map +0 -1
  122. package/dist-esm/samples-dev/listOutboundEndpointsByDnsResolver.d.ts +0 -2
  123. package/dist-esm/samples-dev/listOutboundEndpointsByDnsResolver.d.ts.map +0 -1
  124. package/dist-esm/samples-dev/listOutboundEndpointsByDnsResolver.js +0 -45
  125. package/dist-esm/samples-dev/listOutboundEndpointsByDnsResolver.js.map +0 -1
  126. package/dist-esm/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.d.ts +0 -2
  127. package/dist-esm/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.d.ts.map +0 -1
  128. package/dist-esm/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.js +0 -45
  129. package/dist-esm/samples-dev/listVirtualNetworkLinksToADnsForwardingRuleset.js.map +0 -1
  130. package/dist-esm/samples-dev/retrieveDnsForwardingRuleset.d.ts +0 -2
  131. package/dist-esm/samples-dev/retrieveDnsForwardingRuleset.d.ts.map +0 -1
  132. package/dist-esm/samples-dev/retrieveDnsForwardingRuleset.js +0 -31
  133. package/dist-esm/samples-dev/retrieveDnsForwardingRuleset.js.map +0 -1
  134. package/dist-esm/samples-dev/retrieveDnsResolver.d.ts +0 -2
  135. package/dist-esm/samples-dev/retrieveDnsResolver.d.ts.map +0 -1
  136. package/dist-esm/samples-dev/retrieveDnsResolver.js +0 -31
  137. package/dist-esm/samples-dev/retrieveDnsResolver.js.map +0 -1
  138. package/dist-esm/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.d.ts +0 -2
  139. package/dist-esm/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.d.ts.map +0 -1
  140. package/dist-esm/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.js +0 -32
  141. package/dist-esm/samples-dev/retrieveForwardingRuleInADnsForwardingRuleset.js.map +0 -1
  142. package/dist-esm/samples-dev/retrieveInboundEndpointForDnsResolver.d.ts +0 -2
  143. package/dist-esm/samples-dev/retrieveInboundEndpointForDnsResolver.d.ts.map +0 -1
  144. package/dist-esm/samples-dev/retrieveInboundEndpointForDnsResolver.js +0 -32
  145. package/dist-esm/samples-dev/retrieveInboundEndpointForDnsResolver.js.map +0 -1
  146. package/dist-esm/samples-dev/retrieveOutboundEndpointForDnsResolver.d.ts +0 -2
  147. package/dist-esm/samples-dev/retrieveOutboundEndpointForDnsResolver.d.ts.map +0 -1
  148. package/dist-esm/samples-dev/retrieveOutboundEndpointForDnsResolver.js +0 -32
  149. package/dist-esm/samples-dev/retrieveOutboundEndpointForDnsResolver.js.map +0 -1
  150. package/dist-esm/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.d.ts +0 -2
  151. package/dist-esm/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.d.ts.map +0 -1
  152. package/dist-esm/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js +0 -32
  153. package/dist-esm/samples-dev/retrieveVirtualNetworkLinkToADnsForwardingRuleset.js.map +0 -1
  154. package/dist-esm/samples-dev/updateDnsForwardingRuleset.d.ts +0 -2
  155. package/dist-esm/samples-dev/updateDnsForwardingRuleset.d.ts.map +0 -1
  156. package/dist-esm/samples-dev/updateDnsForwardingRuleset.js +0 -32
  157. package/dist-esm/samples-dev/updateDnsForwardingRuleset.js.map +0 -1
  158. package/dist-esm/samples-dev/updateDnsResolver.d.ts +0 -2
  159. package/dist-esm/samples-dev/updateDnsResolver.d.ts.map +0 -1
  160. package/dist-esm/samples-dev/updateDnsResolver.js +0 -32
  161. package/dist-esm/samples-dev/updateDnsResolver.js.map +0 -1
  162. package/dist-esm/samples-dev/updateForwardingRuleInADnsForwardingRuleset.d.ts +0 -2
  163. package/dist-esm/samples-dev/updateForwardingRuleInADnsForwardingRuleset.d.ts.map +0 -1
  164. package/dist-esm/samples-dev/updateForwardingRuleInADnsForwardingRuleset.js +0 -36
  165. package/dist-esm/samples-dev/updateForwardingRuleInADnsForwardingRuleset.js.map +0 -1
  166. package/dist-esm/samples-dev/updateInboundEndpointForDnsResolver.d.ts +0 -2
  167. package/dist-esm/samples-dev/updateInboundEndpointForDnsResolver.d.ts.map +0 -1
  168. package/dist-esm/samples-dev/updateInboundEndpointForDnsResolver.js +0 -33
  169. package/dist-esm/samples-dev/updateInboundEndpointForDnsResolver.js.map +0 -1
  170. package/dist-esm/samples-dev/updateOutboundEndpointForDnsResolver.d.ts +0 -2
  171. package/dist-esm/samples-dev/updateOutboundEndpointForDnsResolver.d.ts.map +0 -1
  172. package/dist-esm/samples-dev/updateOutboundEndpointForDnsResolver.js +0 -33
  173. package/dist-esm/samples-dev/updateOutboundEndpointForDnsResolver.js.map +0 -1
  174. package/dist-esm/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.d.ts +0 -2
  175. package/dist-esm/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.d.ts.map +0 -1
  176. package/dist-esm/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.js +0 -35
  177. package/dist-esm/samples-dev/updateVirtualNetworkLinkToADnsForwardingRuleset.js.map +0 -1
  178. package/dist-esm/samples-dev/upsertDnsForwardingRuleset.d.ts +0 -2
  179. package/dist-esm/samples-dev/upsertDnsForwardingRuleset.d.ts.map +0 -1
  180. package/dist-esm/samples-dev/upsertDnsForwardingRuleset.js +0 -43
  181. package/dist-esm/samples-dev/upsertDnsForwardingRuleset.js.map +0 -1
  182. package/dist-esm/samples-dev/upsertDnsResolver.d.ts +0 -2
  183. package/dist-esm/samples-dev/upsertDnsResolver.d.ts.map +0 -1
  184. package/dist-esm/samples-dev/upsertDnsResolver.js +0 -38
  185. package/dist-esm/samples-dev/upsertDnsResolver.js.map +0 -1
  186. package/dist-esm/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.d.ts +0 -2
  187. package/dist-esm/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.d.ts.map +0 -1
  188. package/dist-esm/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.js +0 -41
  189. package/dist-esm/samples-dev/upsertForwardingRuleInADnsForwardingRuleset.js.map +0 -1
  190. package/dist-esm/samples-dev/upsertInboundEndpointForDnsResolver.d.ts +0 -2
  191. package/dist-esm/samples-dev/upsertInboundEndpointForDnsResolver.d.ts.map +0 -1
  192. package/dist-esm/samples-dev/upsertInboundEndpointForDnsResolver.js +0 -45
  193. package/dist-esm/samples-dev/upsertInboundEndpointForDnsResolver.js.map +0 -1
  194. package/dist-esm/samples-dev/upsertOutboundEndpointForDnsResolver.d.ts +0 -2
  195. package/dist-esm/samples-dev/upsertOutboundEndpointForDnsResolver.d.ts.map +0 -1
  196. package/dist-esm/samples-dev/upsertOutboundEndpointForDnsResolver.js +0 -39
  197. package/dist-esm/samples-dev/upsertOutboundEndpointForDnsResolver.js.map +0 -1
  198. package/dist-esm/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.d.ts +0 -2
  199. package/dist-esm/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.d.ts.map +0 -1
  200. package/dist-esm/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.js +0 -38
  201. package/dist-esm/samples-dev/upsertVirtualNetworkLinkToADnsForwardingRuleset.js.map +0 -1
  202. package/dist-esm/test/sampleTest.d.ts +0 -2
  203. package/dist-esm/test/sampleTest.d.ts.map +0 -1
  204. package/dist-esm/test/sampleTest.js +0 -40
  205. package/dist-esm/test/sampleTest.js.map +0 -1
package/dist/index.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var coreClient=require("@azure/core-client"),coreRestPipeline=require("@azure/core-rest-pipeline"),tslib=require("tslib"),coreLro=require("@azure/core-lro");function _interopNamespace(t){if(t&&t.__esModule)return t;var s=Object.create(null);return t&&Object.keys(t).forEach(function(e){var r;"default"!==e&&(r=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(s,e,r.get?r:{enumerable:!0,get:function(){return t[e]}}))}),s.default=t,Object.freeze(s)}var coreClient__namespace=_interopNamespace(coreClient),coreRestPipeline__namespace=_interopNamespace(coreRestPipeline);exports.KnownDnsResolverState=void 0,function(e){e.Connected="Connected",e.Disconnected="Disconnected"}(exports.KnownDnsResolverState||(exports.KnownDnsResolverState={})),exports.KnownProvisioningState=void 0,function(e){e.Creating="Creating",e.Updating="Updating",e.Deleting="Deleting",e.Succeeded="Succeeded",e.Failed="Failed",e.Canceled="Canceled"}(exports.KnownProvisioningState||(exports.KnownProvisioningState={})),exports.KnownCreatedByType=void 0,function(e){e.User="User",e.Application="Application",e.ManagedIdentity="ManagedIdentity",e.Key="Key"}(exports.KnownCreatedByType||(exports.KnownCreatedByType={})),exports.KnownIpAllocationMethod=void 0,function(e){e.Static="Static",e.Dynamic="Dynamic"}(exports.KnownIpAllocationMethod||(exports.KnownIpAllocationMethod={})),exports.KnownForwardingRuleState=void 0,function(e){e.Enabled="Enabled",e.Disabled="Disabled"}(exports.KnownForwardingRuleState||(exports.KnownForwardingRuleState={}));const SubResource={type:{name:"Composite",className:"SubResource",modelProperties:{id:{serializedName:"id",type:{name:"String"}}}}},SystemData={type:{name:"Composite",className:"SystemData",modelProperties:{createdBy:{serializedName:"createdBy",type:{name:"String"}},createdByType:{serializedName:"createdByType",type:{name:"String"}},createdAt:{serializedName:"createdAt",type:{name:"DateTime"}},lastModifiedBy:{serializedName:"lastModifiedBy",type:{name:"String"}},lastModifiedByType:{serializedName:"lastModifiedByType",type:{name:"String"}},lastModifiedAt:{serializedName:"lastModifiedAt",type:{name:"DateTime"}}}}},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"}}}}},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"}}}}}}},DnsResolverPatch={type:{name:"Composite",className:"DnsResolverPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},DnsResolverListResult={type:{name:"Composite",className:"DnsResolverListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"DnsResolver"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},IpConfiguration={type:{name:"Composite",className:"IpConfiguration",modelProperties:{subnet:{serializedName:"subnet",type:{name:"Composite",className:"SubResource"}},privateIpAddress:{serializedName:"privateIpAddress",type:{name:"String"}},privateIpAllocationMethod:{defaultValue:"Dynamic",serializedName:"privateIpAllocationMethod",type:{name:"String"}}}}},InboundEndpointPatch={type:{name:"Composite",className:"InboundEndpointPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},InboundEndpointListResult={type:{name:"Composite",className:"InboundEndpointListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"InboundEndpoint"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},OutboundEndpointPatch={type:{name:"Composite",className:"OutboundEndpointPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},OutboundEndpointListResult={type:{name:"Composite",className:"OutboundEndpointListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"OutboundEndpoint"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},DnsForwardingRulesetPatch={type:{name:"Composite",className:"DnsForwardingRulesetPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},DnsForwardingRulesetListResult={type:{name:"Composite",className:"DnsForwardingRulesetListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"DnsForwardingRuleset"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},TargetDnsServer={type:{name:"Composite",className:"TargetDnsServer",modelProperties:{ipAddress:{serializedName:"ipAddress",type:{name:"String"}},port:{defaultValue:53,serializedName:"port",type:{name:"Number"}}}}},ForwardingRulePatch={type:{name:"Composite",className:"ForwardingRulePatch",modelProperties:{targetDnsServers:{serializedName:"properties.targetDnsServers",type:{name:"Sequence",element:{type:{name:"Composite",className:"TargetDnsServer"}}}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},forwardingRuleState:{serializedName:"properties.forwardingRuleState",type:{name:"String"}}}}},ForwardingRuleListResult={type:{name:"Composite",className:"ForwardingRuleListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"ForwardingRule"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkLinkPatch={type:{name:"Composite",className:"VirtualNetworkLinkPatch",modelProperties:{metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},VirtualNetworkLinkListResult={type:{name:"Composite",className:"VirtualNetworkLinkListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"VirtualNetworkLink"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},SubResourceListResult={type:{name:"Composite",className:"SubResourceListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkDnsForwardingRulesetListResult={type:{name:"Composite",className:"VirtualNetworkDnsForwardingRulesetListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"VirtualNetworkDnsForwardingRuleset"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkDnsForwardingRuleset={type:{name:"Composite",className:"VirtualNetworkDnsForwardingRuleset",modelProperties:{id:{serializedName:"id",type:{name:"String"}},virtualNetworkLink:{serializedName:"properties.virtualNetworkLink",type:{name:"Composite",className:"SubResource"}}}}},TrackedResource={type:{name:"Composite",className:"TrackedResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},location:{serializedName:"location",required:!0,type:{name:"String"}}})}},ProxyResource={type:{name:"Composite",className:"ProxyResource",modelProperties:Object.assign({},Resource.type.modelProperties)}},DnsResolver={type:{name:"Composite",className:"DnsResolver",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},virtualNetwork:{serializedName:"properties.virtualNetwork",type:{name:"Composite",className:"SubResource"}},dnsResolverState:{serializedName:"properties.dnsResolverState",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},InboundEndpoint={type:{name:"Composite",className:"InboundEndpoint",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},ipConfigurations:{serializedName:"properties.ipConfigurations",type:{name:"Sequence",element:{type:{name:"Composite",className:"IpConfiguration"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},OutboundEndpoint={type:{name:"Composite",className:"OutboundEndpoint",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},subnet:{serializedName:"properties.subnet",type:{name:"Composite",className:"SubResource"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},DnsForwardingRuleset={type:{name:"Composite",className:"DnsForwardingRuleset",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},dnsResolverOutboundEndpoints:{serializedName:"properties.dnsResolverOutboundEndpoints",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},ForwardingRule={type:{name:"Composite",className:"ForwardingRule",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},domainName:{serializedName:"properties.domainName",type:{name:"String"}},targetDnsServers:{serializedName:"properties.targetDnsServers",type:{name:"Sequence",element:{type:{name:"Composite",className:"TargetDnsServer"}}}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},forwardingRuleState:{serializedName:"properties.forwardingRuleState",type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}},VirtualNetworkLink={type:{name:"Composite",className:"VirtualNetworkLink",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},virtualNetwork:{serializedName:"properties.virtualNetwork",type:{name:"Composite",className:"SubResource"}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}};var Mappers=Object.freeze({__proto__:null,SubResource:SubResource,SystemData:SystemData,Resource:Resource,CloudError:CloudError,CloudErrorBody:CloudErrorBody,DnsResolverPatch:DnsResolverPatch,DnsResolverListResult:DnsResolverListResult,IpConfiguration:IpConfiguration,InboundEndpointPatch:InboundEndpointPatch,InboundEndpointListResult:InboundEndpointListResult,OutboundEndpointPatch:OutboundEndpointPatch,OutboundEndpointListResult:OutboundEndpointListResult,DnsForwardingRulesetPatch:DnsForwardingRulesetPatch,DnsForwardingRulesetListResult:DnsForwardingRulesetListResult,TargetDnsServer:TargetDnsServer,ForwardingRulePatch:ForwardingRulePatch,ForwardingRuleListResult:ForwardingRuleListResult,VirtualNetworkLinkPatch:VirtualNetworkLinkPatch,VirtualNetworkLinkListResult:VirtualNetworkLinkListResult,SubResourceListResult:SubResourceListResult,VirtualNetworkDnsForwardingRulesetListResult:VirtualNetworkDnsForwardingRulesetListResult,VirtualNetworkDnsForwardingRuleset:VirtualNetworkDnsForwardingRuleset,TrackedResource:TrackedResource,ProxyResource:ProxyResource,DnsResolver:DnsResolver,InboundEndpoint:InboundEndpoint,OutboundEndpoint:OutboundEndpoint,DnsForwardingRuleset:DnsForwardingRuleset,ForwardingRule:ForwardingRule,VirtualNetworkLink:VirtualNetworkLink});const contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:DnsResolver},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},subscriptionId={parameterPath:"subscriptionId",mapper:{constraints:{MinLength:1},serializedName:"subscriptionId",required:!0,type:{name:"String"}}},resourceGroupName={parameterPath:"resourceGroupName",mapper:{constraints:{MaxLength:90,MinLength:1},serializedName:"resourceGroupName",required:!0,type:{name:"String"}}},dnsResolverName={parameterPath:"dnsResolverName",mapper:{serializedName:"dnsResolverName",required:!0,type:{name:"String"}}},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2020-04-01-preview",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},ifMatch={parameterPath:["options","ifMatch"],mapper:{serializedName:"If-Match",type:{name:"String"}}},ifNoneMatch={parameterPath:["options","ifNoneMatch"],mapper:{serializedName:"If-None-Match",type:{name:"String"}}},parameters1={parameterPath:"parameters",mapper:DnsResolverPatch},top={parameterPath:["options","top"],mapper:{serializedName:"$top",type:{name:"Number"}}},virtualNetworkName={parameterPath:"virtualNetworkName",mapper:{serializedName:"virtualNetworkName",required:!0,type:{name:"String"}}},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},parameters2={parameterPath:"parameters",mapper:InboundEndpoint},inboundEndpointName={parameterPath:"inboundEndpointName",mapper:{serializedName:"inboundEndpointName",required:!0,type:{name:"String"}}},parameters3={parameterPath:"parameters",mapper:InboundEndpointPatch},parameters4={parameterPath:"parameters",mapper:OutboundEndpoint},outboundEndpointName={parameterPath:"outboundEndpointName",mapper:{serializedName:"outboundEndpointName",required:!0,type:{name:"String"}}},parameters5={parameterPath:"parameters",mapper:OutboundEndpointPatch},parameters6={parameterPath:"parameters",mapper:DnsForwardingRuleset},dnsForwardingRulesetName={parameterPath:"dnsForwardingRulesetName",mapper:{serializedName:"dnsForwardingRulesetName",required:!0,type:{name:"String"}}},parameters7={parameterPath:"parameters",mapper:DnsForwardingRulesetPatch},parameters8={parameterPath:"parameters",mapper:ForwardingRule},forwardingRuleName={parameterPath:"forwardingRuleName",mapper:{serializedName:"forwardingRuleName",required:!0,type:{name:"String"}}},parameters9={parameterPath:"parameters",mapper:ForwardingRulePatch},parameters10={parameterPath:"parameters",mapper:VirtualNetworkLink},virtualNetworkLinkName={parameterPath:"virtualNetworkLinkName",mapper:{serializedName:"virtualNetworkLinkName",required:!0,type:{name:"String"}}},parameters11={parameterPath:"parameters",mapper:VirtualNetworkLinkPatch};class LroImpl{constructor(e,r,t,s=t.path,i=t.httpMethod){this.sendOperationFn=e,this.args=r,this.spec=t,this.requestPath=s,this.requestMethod=i}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 DnsResolversImpl{constructor(e){this.client=e}listByResourceGroup(e,r){const t=this.listByResourceGroupPagingAll(e,r);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByResourceGroupPagingPage(e,r)}}listByResourceGroupPagingPage(t,s){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByResourceGroup(t,s));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByResourceGroupNext(t,r,s)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByResourceGroupPagingAll(a,o){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(a,o));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}list(e){const r=this.listPagingAll(e);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(r,t)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}listByVirtualNetwork(e,r,t){const s=this.listByVirtualNetworkPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByVirtualNetworkPagingPage(e,r,t)}}listByVirtualNetworkPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByVirtualNetwork(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByVirtualNetworkNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByVirtualNetworkPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByVirtualNetworkPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,parameters:i,options:o},createOrUpdateOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i);return e.pollUntilDone()})}beginUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,parameters:i,options:o},updateOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i);return e.pollUntilDone()})}beginDelete(t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,options:i},deleteOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s);return e.pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},getOperationSpec$5)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec$1)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$5)}_listByVirtualNetwork(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,options:t},listByVirtualNetworkOperationSpec$1)}_listByResourceGroupNext(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,nextLink:r,options:t},listByResourceGroupNextOperationSpec$1)}_listNext(e,r){return this.client.sendOperationRequest({nextLink:e,options:r},listNextOperationSpec$5)}_listByVirtualNetworkNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,nextLink:t,options:s},listByVirtualNetworkNextOperationSpec$1)}}const serializer$5=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"PUT",responses:{200:{bodyMapper:DnsResolver},201:{bodyMapper:DnsResolver},202:{bodyMapper:DnsResolver},204:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$5},updateOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"PATCH",responses:{200:{bodyMapper:DnsResolver},201:{bodyMapper:DnsResolver},202:{bodyMapper:DnsResolver},204:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$5},deleteOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept,ifMatch],serializer:serializer$5},getOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$5},listByResourceGroupOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$5},listOperationSpec$5={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$5},listByVirtualNetworkOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolvers",httpMethod:"POST",responses:{200:{bodyMapper:SubResourceListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName],headerParameters:[accept],serializer:serializer$5},listByResourceGroupNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink],headerParameters:[accept],serializer:serializer$5},listNextOperationSpec$5={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$5},listByVirtualNetworkNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:SubResourceListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName,nextLink],headerParameters:[accept],serializer:serializer$5};class InboundEndpointsImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,parameters:o,options:n},createOrUpdateOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,parameters:o,options:n},updateOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,options:o},deleteOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,inboundEndpointName:t,options:s},getOperationSpec$4)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},listOperationSpec$4)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,nextLink:t,options:s},listNextOperationSpec$4)}}const serializer$4=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"PUT",responses:{200:{bodyMapper:InboundEndpoint},201:{bodyMapper:InboundEndpoint},202:{bodyMapper:InboundEndpoint},204:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$4},updateOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"PATCH",responses:{200:{bodyMapper:InboundEndpoint},201:{bodyMapper:InboundEndpoint},202:{bodyMapper:InboundEndpoint},204:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$4},deleteOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[accept,ifMatch],serializer:serializer$4},getOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[accept],serializer:serializer$4},listOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$4},listNextOperationSpec$4={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,nextLink],headerParameters:[accept],serializer:serializer$4};class OutboundEndpointsImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,parameters:o,options:n},createOrUpdateOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,parameters:o,options:n},updateOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,options:o},deleteOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,outboundEndpointName:t,options:s},getOperationSpec$3)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},listOperationSpec$3)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,nextLink:t,options:s},listNextOperationSpec$3)}}const serializer$3=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"PUT",responses:{200:{bodyMapper:OutboundEndpoint},201:{bodyMapper:OutboundEndpoint},202:{bodyMapper:OutboundEndpoint},204:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters4,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$3},updateOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"PATCH",responses:{200:{bodyMapper:OutboundEndpoint},201:{bodyMapper:OutboundEndpoint},202:{bodyMapper:OutboundEndpoint},204:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$3},deleteOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[accept,ifMatch],serializer:serializer$3},getOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[accept],serializer:serializer$3},listOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$3},listNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,nextLink],headerParameters:[accept],serializer:serializer$3};class DnsForwardingRulesetsImpl{constructor(e){this.client=e}listByResourceGroup(e,r){const t=this.listByResourceGroupPagingAll(e,r);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByResourceGroupPagingPage(e,r)}}listByResourceGroupPagingPage(t,s){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByResourceGroup(t,s));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByResourceGroupNext(t,r,s)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByResourceGroupPagingAll(a,o){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(a,o));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}list(e){const r=this.listPagingAll(e);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(r,t)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}listByVirtualNetwork(e,r,t){const s=this.listByVirtualNetworkPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByVirtualNetworkPagingPage(e,r,t)}}listByVirtualNetworkPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByVirtualNetwork(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByVirtualNetworkNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByVirtualNetworkPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByVirtualNetworkPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,parameters:i,options:o},createOrUpdateOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i);return e.pollUntilDone()})}beginUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,parameters:i,options:o},updateOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i);return e.pollUntilDone()})}beginDelete(t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,options:i},deleteOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s);return e.pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},getOperationSpec$2)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$2)}_listByVirtualNetwork(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,options:t},listByVirtualNetworkOperationSpec)}_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$2)}_listByVirtualNetworkNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,nextLink:t,options:s},listByVirtualNetworkNextOperationSpec)}}const serializer$2=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"PUT",responses:{200:{bodyMapper:DnsForwardingRuleset},201:{bodyMapper:DnsForwardingRuleset},202:{bodyMapper:DnsForwardingRuleset},204:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},requestBody:parameters6,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$2},updateOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"PATCH",responses:{200:{bodyMapper:DnsForwardingRuleset},201:{bodyMapper:DnsForwardingRuleset},202:{bodyMapper:DnsForwardingRuleset},204:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$2},deleteOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept,ifMatch],serializer:serializer$2},getOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$2},listByResourceGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$2},listOperationSpec$2={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$2},listByVirtualNetworkOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets",httpMethod:"POST",responses:{200:{bodyMapper:VirtualNetworkDnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName],headerParameters:[accept],serializer:serializer$2},listByResourceGroupNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink],headerParameters:[accept],serializer:serializer$2},listNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$2},listByVirtualNetworkNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkDnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName,nextLink],headerParameters:[accept],serializer:serializer$2};class ForwardingRulesImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}createOrUpdate(e,r,t,s,i){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,parameters:s,options:i},createOrUpdateOperationSpec$1)}update(e,r,t,s,i){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,parameters:s,options:i},updateOperationSpec$1)}delete(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,options:s},deleteOperationSpec$1)}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,options:s},getOperationSpec$1)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},listOperationSpec$1)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,nextLink:t,options:s},listNextOperationSpec$1)}}const serializer$1=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"PUT",responses:{200:{bodyMapper:ForwardingRule},201:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},requestBody:parameters8,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$1},updateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"PATCH",responses:{200:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},requestBody:parameters9,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$1},deleteOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"DELETE",responses:{200:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[accept,ifMatch],serializer:serializer$1},getOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[accept],serializer:serializer$1},listOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRuleListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$1},listNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRuleListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$1};class VirtualNetworkLinksImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,parameters:o,options:n},createOrUpdateOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,parameters:o,options:n},updateOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,options:o},deleteOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,virtualNetworkLinkName:t,options:s},getOperationSpec)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},listOperationSpec)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,nextLink:t,options:s},listNextOperationSpec)}}const serializer=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"PUT",responses:{200:{bodyMapper:VirtualNetworkLink},201:{bodyMapper:VirtualNetworkLink},202:{bodyMapper:VirtualNetworkLink},204:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},requestBody:parameters10,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer},updateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"PATCH",responses:{200:{bodyMapper:VirtualNetworkLink},201:{bodyMapper:VirtualNetworkLink},202:{bodyMapper:VirtualNetworkLink},204:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},requestBody:parameters11,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer},deleteOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[accept,ifMatch],serializer:serializer},getOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[accept],serializer:serializer},listOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLinkListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLinkListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer};class DnsResolverManagementClient 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 e={requestContentType:"application/json; charset=utf-8",credential:e},s="azsdk-js-arm-dnsresolver/1.0.0-beta.3",s=(t=t||{}).userAgentOptions&&t.userAgentOptions.userAgentPrefix?t.userAgentOptions.userAgentPrefix+" "+s:s,e=(t.credentialScopes||(t.credentialScopes=["https://management.azure.com/.default"]),Object.assign(Object.assign(Object.assign({},e),t),{userAgentOptions:{userAgentPrefix:s},baseUri:null!=(s=null!=(e=t.endpoint)?e:t.baseUri)?s:"https://management.azure.com"}));if(super(e),null!=t&&t.pipeline&&0<t.pipeline.getOrderedPolicies().length){const i=t.pipeline.getOrderedPolicies();i.some(e=>e.name===coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName)||(this.pipeline.removePolicy({name:coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({scopes:e.baseUri+"/.default",challengeCallbacks:{authorizeRequestOnChallenge:coreClient__namespace.authorizeRequestOnClaimChallenge}})))}this.subscriptionId=r,this.$host=t.$host||"https://management.azure.com",this.apiVersion=t.apiVersion||"2020-04-01-preview",this.dnsResolvers=new DnsResolversImpl(this),this.inboundEndpoints=new InboundEndpointsImpl(this),this.outboundEndpoints=new OutboundEndpointsImpl(this),this.dnsForwardingRulesets=new DnsForwardingRulesetsImpl(this),this.forwardingRules=new ForwardingRulesImpl(this),this.virtualNetworkLinks=new VirtualNetworkLinksImpl(this)}}exports.DnsResolverManagementClient=DnsResolverManagementClient;
1
+ "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 s;return t&&t.__esModule?t:(s=Object.create(null),t&&Object.keys(t).forEach(function(e){var r;"default"!==e&&(r=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(s,e,r.get?r:{enumerable:!0,get:function(){return t[e]}}))}),s.default=t,Object.freeze(s))}var coreClient__namespace=_interopNamespace(coreClient),coreRestPipeline__namespace=_interopNamespace(coreRestPipeline);exports.KnownDnsResolverState=void 0,function(e){e.Connected="Connected",e.Disconnected="Disconnected"}(exports.KnownDnsResolverState||(exports.KnownDnsResolverState={})),exports.KnownProvisioningState=void 0,function(e){e.Creating="Creating",e.Updating="Updating",e.Deleting="Deleting",e.Succeeded="Succeeded",e.Failed="Failed",e.Canceled="Canceled"}(exports.KnownProvisioningState||(exports.KnownProvisioningState={})),exports.KnownCreatedByType=void 0,function(e){e.User="User",e.Application="Application",e.ManagedIdentity="ManagedIdentity",e.Key="Key"}(exports.KnownCreatedByType||(exports.KnownCreatedByType={})),exports.KnownIpAllocationMethod=void 0,function(e){e.Static="Static",e.Dynamic="Dynamic"}(exports.KnownIpAllocationMethod||(exports.KnownIpAllocationMethod={})),exports.KnownForwardingRuleState=void 0,function(e){e.Enabled="Enabled",e.Disabled="Disabled"}(exports.KnownForwardingRuleState||(exports.KnownForwardingRuleState={}));const SubResource={type:{name:"Composite",className:"SubResource",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}}}}},SystemData={type:{name:"Composite",className:"SystemData",modelProperties:{createdBy:{serializedName:"createdBy",type:{name:"String"}},createdByType:{serializedName:"createdByType",type:{name:"String"}},createdAt:{serializedName:"createdAt",type:{name:"DateTime"}},lastModifiedBy:{serializedName:"lastModifiedBy",type:{name:"String"}},lastModifiedByType:{serializedName:"lastModifiedByType",type:{name:"String"}},lastModifiedAt:{serializedName:"lastModifiedAt",type:{name:"DateTime"}}}}},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"}}}}},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"}}}}}}},DnsResolverPatch={type:{name:"Composite",className:"DnsResolverPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},DnsResolverListResult={type:{name:"Composite",className:"DnsResolverListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"DnsResolver"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},IpConfiguration={type:{name:"Composite",className:"IpConfiguration",modelProperties:{subnet:{serializedName:"subnet",type:{name:"Composite",className:"SubResource"}},privateIpAddress:{serializedName:"privateIpAddress",type:{name:"String"}},privateIpAllocationMethod:{defaultValue:"Dynamic",serializedName:"privateIpAllocationMethod",type:{name:"String"}}}}},InboundEndpointPatch={type:{name:"Composite",className:"InboundEndpointPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},InboundEndpointListResult={type:{name:"Composite",className:"InboundEndpointListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"InboundEndpoint"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},OutboundEndpointPatch={type:{name:"Composite",className:"OutboundEndpointPatch",modelProperties:{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},OutboundEndpointListResult={type:{name:"Composite",className:"OutboundEndpointListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"OutboundEndpoint"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},DnsForwardingRulesetPatch={type:{name:"Composite",className:"DnsForwardingRulesetPatch",modelProperties:{dnsResolverOutboundEndpoints:{serializedName:"dnsResolverOutboundEndpoints",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},DnsForwardingRulesetListResult={type:{name:"Composite",className:"DnsForwardingRulesetListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"DnsForwardingRuleset"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},TargetDnsServer={type:{name:"Composite",className:"TargetDnsServer",modelProperties:{ipAddress:{serializedName:"ipAddress",required:!0,type:{name:"String"}},port:{defaultValue:53,serializedName:"port",type:{name:"Number"}}}}},ForwardingRulePatch={type:{name:"Composite",className:"ForwardingRulePatch",modelProperties:{targetDnsServers:{serializedName:"properties.targetDnsServers",type:{name:"Sequence",element:{type:{name:"Composite",className:"TargetDnsServer"}}}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},forwardingRuleState:{serializedName:"properties.forwardingRuleState",type:{name:"String"}}}}},ForwardingRuleListResult={type:{name:"Composite",className:"ForwardingRuleListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"ForwardingRule"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkLinkPatch={type:{name:"Composite",className:"VirtualNetworkLinkPatch",modelProperties:{metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}}}}},VirtualNetworkLinkListResult={type:{name:"Composite",className:"VirtualNetworkLinkListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"VirtualNetworkLink"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},SubResourceListResult={type:{name:"Composite",className:"SubResourceListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkDnsForwardingRulesetListResult={type:{name:"Composite",className:"VirtualNetworkDnsForwardingRulesetListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"VirtualNetworkDnsForwardingRuleset"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},VirtualNetworkDnsForwardingRuleset={type:{name:"Composite",className:"VirtualNetworkDnsForwardingRuleset",modelProperties:{id:{serializedName:"id",type:{name:"String"}},virtualNetworkLink:{serializedName:"properties.virtualNetworkLink",type:{name:"Composite",className:"SubResource"}}}}},TrackedResource={type:{name:"Composite",className:"TrackedResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},location:{serializedName:"location",required:!0,type:{name:"String"}}})}},ProxyResource={type:{name:"Composite",className:"ProxyResource",modelProperties:Object.assign({},Resource.type.modelProperties)}},DnsResolver={type:{name:"Composite",className:"DnsResolver",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},virtualNetwork:{serializedName:"properties.virtualNetwork",type:{name:"Composite",className:"SubResource"}},dnsResolverState:{serializedName:"properties.dnsResolverState",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},InboundEndpoint={type:{name:"Composite",className:"InboundEndpoint",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},ipConfigurations:{serializedName:"properties.ipConfigurations",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"IpConfiguration"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},OutboundEndpoint={type:{name:"Composite",className:"OutboundEndpoint",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},subnet:{serializedName:"properties.subnet",type:{name:"Composite",className:"SubResource"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},DnsForwardingRuleset={type:{name:"Composite",className:"DnsForwardingRuleset",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},dnsResolverOutboundEndpoints:{serializedName:"properties.dnsResolverOutboundEndpoints",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"SubResource"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceGuid:{serializedName:"properties.resourceGuid",readOnly:!0,type:{name:"String"}}})}},ForwardingRule={type:{name:"Composite",className:"ForwardingRule",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},domainName:{serializedName:"properties.domainName",required:!0,type:{name:"String"}},targetDnsServers:{serializedName:"properties.targetDnsServers",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"TargetDnsServer"}}}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},forwardingRuleState:{serializedName:"properties.forwardingRuleState",type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}},VirtualNetworkLink={type:{name:"Composite",className:"VirtualNetworkLink",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{etag:{serializedName:"etag",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}},virtualNetwork:{serializedName:"properties.virtualNetwork",type:{name:"Composite",className:"SubResource"}},metadata:{serializedName:"properties.metadata",type:{name:"Dictionary",value:{type:{name:"String"}}}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}};var Mappers=Object.freeze({__proto__:null,SubResource:SubResource,SystemData:SystemData,Resource:Resource,CloudError:CloudError,CloudErrorBody:CloudErrorBody,DnsResolverPatch:DnsResolverPatch,DnsResolverListResult:DnsResolverListResult,IpConfiguration:IpConfiguration,InboundEndpointPatch:InboundEndpointPatch,InboundEndpointListResult:InboundEndpointListResult,OutboundEndpointPatch:OutboundEndpointPatch,OutboundEndpointListResult:OutboundEndpointListResult,DnsForwardingRulesetPatch:DnsForwardingRulesetPatch,DnsForwardingRulesetListResult:DnsForwardingRulesetListResult,TargetDnsServer:TargetDnsServer,ForwardingRulePatch:ForwardingRulePatch,ForwardingRuleListResult:ForwardingRuleListResult,VirtualNetworkLinkPatch:VirtualNetworkLinkPatch,VirtualNetworkLinkListResult:VirtualNetworkLinkListResult,SubResourceListResult:SubResourceListResult,VirtualNetworkDnsForwardingRulesetListResult:VirtualNetworkDnsForwardingRulesetListResult,VirtualNetworkDnsForwardingRuleset:VirtualNetworkDnsForwardingRuleset,TrackedResource:TrackedResource,ProxyResource:ProxyResource,DnsResolver:DnsResolver,InboundEndpoint:InboundEndpoint,OutboundEndpoint:OutboundEndpoint,DnsForwardingRuleset:DnsForwardingRuleset,ForwardingRule:ForwardingRule,VirtualNetworkLink:VirtualNetworkLink});const contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:DnsResolver},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},subscriptionId={parameterPath:"subscriptionId",mapper:{constraints:{MinLength:1},serializedName:"subscriptionId",required:!0,type:{name:"String"}}},resourceGroupName={parameterPath:"resourceGroupName",mapper:{constraints:{MaxLength:90,MinLength:1},serializedName:"resourceGroupName",required:!0,type:{name:"String"}}},dnsResolverName={parameterPath:"dnsResolverName",mapper:{serializedName:"dnsResolverName",required:!0,type:{name:"String"}}},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2022-07-01",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},ifMatch={parameterPath:["options","ifMatch"],mapper:{serializedName:"If-Match",type:{name:"String"}}},ifNoneMatch={parameterPath:["options","ifNoneMatch"],mapper:{serializedName:"If-None-Match",type:{name:"String"}}},parameters1={parameterPath:"parameters",mapper:DnsResolverPatch},top={parameterPath:["options","top"],mapper:{serializedName:"$top",type:{name:"Number"}}},virtualNetworkName={parameterPath:"virtualNetworkName",mapper:{serializedName:"virtualNetworkName",required:!0,type:{name:"String"}}},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},parameters2={parameterPath:"parameters",mapper:InboundEndpoint},inboundEndpointName={parameterPath:"inboundEndpointName",mapper:{serializedName:"inboundEndpointName",required:!0,type:{name:"String"}}},parameters3={parameterPath:"parameters",mapper:InboundEndpointPatch},parameters4={parameterPath:"parameters",mapper:OutboundEndpoint},outboundEndpointName={parameterPath:"outboundEndpointName",mapper:{serializedName:"outboundEndpointName",required:!0,type:{name:"String"}}},parameters5={parameterPath:"parameters",mapper:OutboundEndpointPatch},parameters6={parameterPath:"parameters",mapper:DnsForwardingRuleset},dnsForwardingRulesetName={parameterPath:"dnsForwardingRulesetName",mapper:{serializedName:"dnsForwardingRulesetName",required:!0,type:{name:"String"}}},parameters7={parameterPath:"parameters",mapper:DnsForwardingRulesetPatch},parameters8={parameterPath:"parameters",mapper:ForwardingRule},forwardingRuleName={parameterPath:"forwardingRuleName",mapper:{serializedName:"forwardingRuleName",required:!0,type:{name:"String"}}},parameters9={parameterPath:"parameters",mapper:ForwardingRulePatch},parameters10={parameterPath:"parameters",mapper:VirtualNetworkLink},virtualNetworkLinkName={parameterPath:"virtualNetworkLinkName",mapper:{serializedName:"virtualNetworkLinkName",required:!0,type:{name:"String"}}},parameters11={parameterPath:"parameters",mapper:VirtualNetworkLinkPatch};class LroImpl{constructor(e,r,t,s=t.path,i=t.httpMethod){this.sendOperationFn=e,this.args=r,this.spec=t,this.requestPath=s,this.requestMethod=i}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 DnsResolversImpl{constructor(e){this.client=e}listByResourceGroup(e,r){const t=this.listByResourceGroupPagingAll(e,r);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByResourceGroupPagingPage(e,r)}}listByResourceGroupPagingPage(t,s){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByResourceGroup(t,s));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByResourceGroupNext(t,r,s)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByResourceGroupPagingAll(a,o){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(a,o));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}list(e){const r=this.listPagingAll(e);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(r,t)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}listByVirtualNetwork(e,r,t){const s=this.listByVirtualNetworkPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByVirtualNetworkPagingPage(e,r,t)}}listByVirtualNetworkPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByVirtualNetwork(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByVirtualNetworkNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByVirtualNetworkPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByVirtualNetworkPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,parameters:i,options:o},createOrUpdateOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i);return e.pollUntilDone()})}beginUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,parameters:i,options:o},updateOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i);return e.pollUntilDone()})}beginDelete(t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,options:i},deleteOperationSpec$5);const r=new coreLro.LroEngine(e,{resumeFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s);return e.pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},getOperationSpec$5)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec$1)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$5)}_listByVirtualNetwork(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,options:t},listByVirtualNetworkOperationSpec$1)}_listByResourceGroupNext(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,nextLink:r,options:t},listByResourceGroupNextOperationSpec$1)}_listNext(e,r){return this.client.sendOperationRequest({nextLink:e,options:r},listNextOperationSpec$5)}_listByVirtualNetworkNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,nextLink:t,options:s},listByVirtualNetworkNextOperationSpec$1)}}const serializer$5=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"PUT",responses:{200:{bodyMapper:DnsResolver},201:{bodyMapper:DnsResolver},202:{bodyMapper:DnsResolver},204:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$5},updateOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"PATCH",responses:{200:{bodyMapper:DnsResolver},201:{bodyMapper:DnsResolver},202:{bodyMapper:DnsResolver},204:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$5},deleteOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept,ifMatch],serializer:serializer$5},getOperationSpec$5={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolver},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$5},listByResourceGroupOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$5},listOperationSpec$5={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$5},listByVirtualNetworkOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolvers",httpMethod:"POST",responses:{200:{bodyMapper:SubResourceListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName],headerParameters:[accept],serializer:serializer$5},listByResourceGroupNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink],headerParameters:[accept],serializer:serializer$5},listNextOperationSpec$5={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsResolverListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$5},listByVirtualNetworkNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:SubResourceListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName,nextLink],headerParameters:[accept],serializer:serializer$5};class InboundEndpointsImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,parameters:o,options:n},createOrUpdateOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,parameters:o,options:n},updateOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,inboundEndpointName:i,options:o},deleteOperationSpec$4);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,inboundEndpointName:t,options:s},getOperationSpec$4)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},listOperationSpec$4)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,nextLink:t,options:s},listNextOperationSpec$4)}}const serializer$4=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"PUT",responses:{200:{bodyMapper:InboundEndpoint},201:{bodyMapper:InboundEndpoint},202:{bodyMapper:InboundEndpoint},204:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$4},updateOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"PATCH",responses:{200:{bodyMapper:InboundEndpoint},201:{bodyMapper:InboundEndpoint},202:{bodyMapper:InboundEndpoint},204:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$4},deleteOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[accept,ifMatch],serializer:serializer$4},getOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpoint},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,inboundEndpointName],headerParameters:[accept],serializer:serializer$4},listOperationSpec$4={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$4},listNextOperationSpec$4={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:InboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,nextLink],headerParameters:[accept],serializer:serializer$4};class OutboundEndpointsImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,parameters:o,options:n},createOrUpdateOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,parameters:o,options:n},updateOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsResolverName:s,outboundEndpointName:i,options:o},deleteOperationSpec$3);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,outboundEndpointName:t,options:s},getOperationSpec$3)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,options:t},listOperationSpec$3)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsResolverName:r,nextLink:t,options:s},listNextOperationSpec$3)}}const serializer$3=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"PUT",responses:{200:{bodyMapper:OutboundEndpoint},201:{bodyMapper:OutboundEndpoint},202:{bodyMapper:OutboundEndpoint},204:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters4,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$3},updateOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"PATCH",responses:{200:{bodyMapper:OutboundEndpoint},201:{bodyMapper:OutboundEndpoint},202:{bodyMapper:OutboundEndpoint},204:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$3},deleteOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[accept,ifMatch],serializer:serializer$3},getOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpoint},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,outboundEndpointName],headerParameters:[accept],serializer:serializer$3},listOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName],headerParameters:[accept],serializer:serializer$3},listNextOperationSpec$3={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:OutboundEndpointListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsResolverName,nextLink],headerParameters:[accept],serializer:serializer$3};class DnsForwardingRulesetsImpl{constructor(e){this.client=e}listByResourceGroup(e,r){const t=this.listByResourceGroupPagingAll(e,r);return{next(){return t.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByResourceGroupPagingPage(e,r)}}listByResourceGroupPagingPage(t,s){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByResourceGroup(t,s));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByResourceGroupNext(t,r,s)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByResourceGroupPagingAll(a,o){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(a,o));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}list(e){const r=this.listPagingAll(e);return{next(){return r.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e)}}listPagingPage(t){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(r,t)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}listByVirtualNetwork(e,r,t){const s=this.listByVirtualNetworkPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listByVirtualNetworkPagingPage(e,r,t)}}listByVirtualNetworkPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByVirtualNetwork(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listByVirtualNetworkNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listByVirtualNetworkPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listByVirtualNetworkPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,parameters:i,options:o},createOrUpdateOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i);return e.pollUntilDone()})}beginUpdate(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,parameters:i,options:o},updateOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i);return e.pollUntilDone()})}beginDelete(t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,options:i},deleteOperationSpec$2);const r=new coreLro.LroEngine(e,{resumeFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s);return e.pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},getOperationSpec$2)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$2)}_listByVirtualNetwork(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,options:t},listByVirtualNetworkOperationSpec)}_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$2)}_listByVirtualNetworkNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,virtualNetworkName:r,nextLink:t,options:s},listByVirtualNetworkNextOperationSpec)}}const serializer$2=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"PUT",responses:{200:{bodyMapper:DnsForwardingRuleset},201:{bodyMapper:DnsForwardingRuleset},202:{bodyMapper:DnsForwardingRuleset},204:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},requestBody:parameters6,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$2},updateOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"PATCH",responses:{200:{bodyMapper:DnsForwardingRuleset},201:{bodyMapper:DnsForwardingRuleset},202:{bodyMapper:DnsForwardingRuleset},204:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$2},deleteOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept,ifMatch],serializer:serializer$2},getOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRuleset},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$2},listByResourceGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$2},listOperationSpec$2={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$2},listByVirtualNetworkOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets",httpMethod:"POST",responses:{200:{bodyMapper:VirtualNetworkDnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName],headerParameters:[accept],serializer:serializer$2},listByResourceGroupNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink],headerParameters:[accept],serializer:serializer$2},listNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,nextLink],headerParameters:[accept],serializer:serializer$2},listByVirtualNetworkNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkDnsForwardingRulesetListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,virtualNetworkName,nextLink],headerParameters:[accept],serializer:serializer$2};class ForwardingRulesImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}createOrUpdate(e,r,t,s,i){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,parameters:s,options:i},createOrUpdateOperationSpec$1)}update(e,r,t,s,i){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,parameters:s,options:i},updateOperationSpec$1)}delete(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,options:s},deleteOperationSpec$1)}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,forwardingRuleName:t,options:s},getOperationSpec$1)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},listOperationSpec$1)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,nextLink:t,options:s},listNextOperationSpec$1)}}const serializer$1=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"PUT",responses:{200:{bodyMapper:ForwardingRule},201:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},requestBody:parameters8,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer$1},updateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"PATCH",responses:{200:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},requestBody:parameters9,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer$1},deleteOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"DELETE",responses:{200:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[accept,ifMatch],serializer:serializer$1},getOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRule},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,forwardingRuleName],headerParameters:[accept],serializer:serializer$1},listOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRuleListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$1},listNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ForwardingRuleListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer$1};class VirtualNetworkLinksImpl{constructor(e){this.client=e}list(e,r,t){const s=this.listPagingAll(e,r,t);return{next(){return s.next()},[Symbol.asyncIterator](){return this},byPage:()=>this.listPagingPage(e,r,t)}}listPagingPage(t,s,i){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,s,i));yield yield tslib.__await(e.value||[]);let r=e.nextLink;for(;r;)e=yield tslib.__await(this._listNext(t,s,r,i)),r=e.nextLink,yield yield tslib.__await(e.value||[])})}listPagingAll(a,o,n){return tslib.__asyncGenerator(this,arguments,function*(){var r,e;try{for(var t,s=tslib.__asyncValues(this.listPagingPage(a,o,n));!(t=yield tslib.__await(s.next())).done;){var i=t.value;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(i)))}}catch(e){r={error:e}}finally{try{t&&!t.done&&(e=s.return)&&(yield tslib.__await(e.call(s)))}finally{if(r)throw r.error}}})}beginCreateOrUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,parameters:o,options:n},createOrUpdateOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginCreateOrUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginCreateOrUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginUpdate(t,s,i,o,n){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,parameters:o,options:n},updateOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==n?void 0:n.resumeFrom,intervalInMs:null==n?void 0:n.updateIntervalInMs});return yield r.poll(),r})}beginUpdateAndWait(r,t,s,i,a){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginUpdate(r,t,s,i,a);return e.pollUntilDone()})}beginDelete(t,s,i,o){return tslib.__awaiter(this,void 0,void 0,function*(){const a=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=new LroImpl((r,i)=>tslib.__awaiter(this,void 0,void 0,function*(){let t=void 0;const s=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!==s&&void 0!==s&&s(e,r)}})});return{flatResponse:yield a(e,i),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),{resourceGroupName:t,dnsForwardingRulesetName:s,virtualNetworkLinkName:i,options:o},deleteOperationSpec);const r=new coreLro.LroEngine(e,{resumeFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs});return yield r.poll(),r})}beginDeleteAndWait(r,t,s,i){return tslib.__awaiter(this,void 0,void 0,function*(){const e=yield this.beginDelete(r,t,s,i);return e.pollUntilDone()})}get(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,virtualNetworkLinkName:t,options:s},getOperationSpec)}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,options:t},listOperationSpec)}_listNext(e,r,t,s){return this.client.sendOperationRequest({resourceGroupName:e,dnsForwardingRulesetName:r,nextLink:t,options:s},listNextOperationSpec)}}const serializer=coreClient__namespace.createSerializer(Mappers,!1),createOrUpdateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"PUT",responses:{200:{bodyMapper:VirtualNetworkLink},201:{bodyMapper:VirtualNetworkLink},202:{bodyMapper:VirtualNetworkLink},204:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},requestBody:parameters10,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[contentType,accept,ifMatch,ifNoneMatch],mediaType:"json",serializer:serializer},updateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"PATCH",responses:{200:{bodyMapper:VirtualNetworkLink},201:{bodyMapper:VirtualNetworkLink},202:{bodyMapper:VirtualNetworkLink},204:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},requestBody:parameters11,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[contentType,accept,ifMatch],mediaType:"json",serializer:serializer},deleteOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[accept,ifMatch],serializer:serializer},getOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLink},default:{bodyMapper:CloudError}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName,virtualNetworkLinkName],headerParameters:[accept],serializer:serializer},listOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLinkListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:VirtualNetworkLinkListResult},default:{bodyMapper:CloudError}},queryParameters:[apiVersion,top],urlParameters:[$host,subscriptionId,resourceGroupName,nextLink,dnsForwardingRulesetName],headerParameters:[accept],serializer:serializer};class DnsResolverManagementClient 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 e={requestContentType:"application/json; charset=utf-8",credential:e},s="azsdk-js-arm-dnsresolver/1.0.0",s=(t=t||{}).userAgentOptions&&t.userAgentOptions.userAgentPrefix?t.userAgentOptions.userAgentPrefix+" "+s:s,e=(t.credentialScopes||(t.credentialScopes=["https://management.azure.com/.default"]),Object.assign(Object.assign(Object.assign({},e),t),{userAgentOptions:{userAgentPrefix:s},baseUri:null!=(s=null!=(e=t.endpoint)?e:t.baseUri)?s:"https://management.azure.com"}));if(super(e),null!=t&&t.pipeline&&0<t.pipeline.getOrderedPolicies().length){const i=t.pipeline.getOrderedPolicies();i.some(e=>e.name===coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName)||(this.pipeline.removePolicy({name:coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({scopes:e.baseUri+"/.default",challengeCallbacks:{authorizeRequestOnChallenge:coreClient__namespace.authorizeRequestOnClaimChallenge}})))}this.subscriptionId=r,this.$host=t.$host||"https://management.azure.com",this.apiVersion=t.apiVersion||"2022-07-01",this.dnsResolvers=new DnsResolversImpl(this),this.inboundEndpoints=new InboundEndpointsImpl(this),this.outboundEndpoints=new OutboundEndpointsImpl(this),this.dnsForwardingRulesets=new DnsForwardingRulesetsImpl(this),this.forwardingRules=new ForwardingRulesImpl(this),this.virtualNetworkLinks=new VirtualNetworkLinksImpl(this),this.addCustomApiVersionPolicy(t.apiVersion)}addCustomApiVersionPolicy(i){i&&this.pipeline.addPolicy({name:"CustomApiVersionPolicy",sendRequest(t,s){return tslib.__awaiter(this,void 0,void 0,function*(){const e=t.url.split("?");if(1<e.length){const r=e[1].split("&").map(e=>-1<e.indexOf("api-version")?"api-version="+i:e);t.url=e[0]+"?"+r.join("&")}return s(t)})}})}}exports.DnsResolverManagementClient=DnsResolverManagementClient;