@azure/arm-dnsresolver 1.0.0-beta.1
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.
- package/CHANGELOG.md +5 -0
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/dist/index.js +4086 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.min.js.map +1 -0
- package/dist-esm/src/dnsResolverManagementClient.d.ts +23 -0
- package/dist-esm/src/dnsResolverManagementClient.d.ts.map +1 -0
- package/dist-esm/src/dnsResolverManagementClient.js +56 -0
- package/dist-esm/src/dnsResolverManagementClient.js.map +1 -0
- package/dist-esm/src/index.d.ts +5 -0
- package/dist-esm/src/index.d.ts.map +1 -0
- package/dist-esm/src/index.js +12 -0
- package/dist-esm/src/index.js.map +1 -0
- package/dist-esm/src/lroImpl.d.ts +16 -0
- package/dist-esm/src/lroImpl.d.ts.map +1 -0
- package/dist-esm/src/lroImpl.js +29 -0
- package/dist-esm/src/lroImpl.js.map +1 -0
- package/dist-esm/src/models/index.d.ts +820 -0
- package/dist-esm/src/models/index.d.ts.map +1 -0
- package/dist-esm/src/models/index.js +44 -0
- package/dist-esm/src/models/index.js.map +1 -0
- package/dist-esm/src/models/mappers.d.ts +32 -0
- package/dist-esm/src/models/mappers.d.ts.map +1 -0
- package/dist-esm/src/models/mappers.js +821 -0
- package/dist-esm/src/models/mappers.js.map +1 -0
- package/dist-esm/src/models/parameters.d.ts +31 -0
- package/dist-esm/src/models/parameters.d.ts.map +1 -0
- package/dist-esm/src/models/parameters.js +236 -0
- package/dist-esm/src/models/parameters.js.map +1 -0
- package/dist-esm/src/operations/dnsForwardingRulesets.d.ts +133 -0
- package/dist-esm/src/operations/dnsForwardingRulesets.d.ts.map +1 -0
- package/dist-esm/src/operations/dnsForwardingRulesets.js +623 -0
- package/dist-esm/src/operations/dnsForwardingRulesets.js.map +1 -0
- package/dist-esm/src/operations/dnsResolvers.d.ts +131 -0
- package/dist-esm/src/operations/dnsResolvers.d.ts.map +1 -0
- package/dist-esm/src/operations/dnsResolvers.js +621 -0
- package/dist-esm/src/operations/dnsResolvers.js.map +1 -0
- package/dist-esm/src/operations/forwardingRules.d.ts +72 -0
- package/dist-esm/src/operations/forwardingRules.d.ts.map +1 -0
- package/dist-esm/src/operations/forwardingRules.js +304 -0
- package/dist-esm/src/operations/forwardingRules.js.map +1 -0
- package/dist-esm/src/operations/inboundEndpoints.d.ts +99 -0
- package/dist-esm/src/operations/inboundEndpoints.d.ts.map +1 -0
- package/dist-esm/src/operations/inboundEndpoints.js +438 -0
- package/dist-esm/src/operations/inboundEndpoints.js.map +1 -0
- package/dist-esm/src/operations/index.d.ts +7 -0
- package/dist-esm/src/operations/index.d.ts.map +1 -0
- package/dist-esm/src/operations/index.js +14 -0
- package/dist-esm/src/operations/index.js.map +1 -0
- package/dist-esm/src/operations/outboundEndpoints.d.ts +99 -0
- package/dist-esm/src/operations/outboundEndpoints.d.ts.map +1 -0
- package/dist-esm/src/operations/outboundEndpoints.js +438 -0
- package/dist-esm/src/operations/outboundEndpoints.js.map +1 -0
- package/dist-esm/src/operations/virtualNetworkLinks.d.ts +101 -0
- package/dist-esm/src/operations/virtualNetworkLinks.d.ts.map +1 -0
- package/dist-esm/src/operations/virtualNetworkLinks.js +450 -0
- package/dist-esm/src/operations/virtualNetworkLinks.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.d.ts +80 -0
- package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.js +9 -0
- package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/dnsResolvers.d.ts +78 -0
- package/dist-esm/src/operationsInterfaces/dnsResolvers.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/dnsResolvers.js +9 -0
- package/dist-esm/src/operationsInterfaces/dnsResolvers.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/forwardingRules.d.ts +47 -0
- package/dist-esm/src/operationsInterfaces/forwardingRules.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/forwardingRules.js +9 -0
- package/dist-esm/src/operationsInterfaces/forwardingRules.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/inboundEndpoints.d.ts +74 -0
- package/dist-esm/src/operationsInterfaces/inboundEndpoints.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/inboundEndpoints.js +9 -0
- package/dist-esm/src/operationsInterfaces/inboundEndpoints.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts +7 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/index.js +14 -0
- package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/outboundEndpoints.d.ts +74 -0
- package/dist-esm/src/operationsInterfaces/outboundEndpoints.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/outboundEndpoints.js +9 -0
- package/dist-esm/src/operationsInterfaces/outboundEndpoints.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.d.ts +76 -0
- package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.js +9 -0
- package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.js.map +1 -0
- package/dist-esm/test/sampleTest.d.ts +2 -0
- package/dist-esm/test/sampleTest.d.ts.map +1 -0
- package/dist-esm/test/sampleTest.js +40 -0
- package/dist-esm/test/sampleTest.js.map +1 -0
- package/package.json +118 -0
- package/review/arm-dnsresolver.api.md +767 -0
- package/rollup.config.js +122 -0
- package/src/dnsResolverManagementClient.ts +99 -0
- package/src/index.ts +12 -0
- package/src/lroImpl.ts +34 -0
- package/src/models/index.ts +971 -0
- package/src/models/mappers.ts +903 -0
- package/src/models/parameters.ts +283 -0
- package/src/operations/dnsForwardingRulesets.ts +838 -0
- package/src/operations/dnsResolvers.ts +836 -0
- package/src/operations/forwardingRules.ts +406 -0
- package/src/operations/inboundEndpoints.ts +621 -0
- package/src/operations/index.ts +14 -0
- package/src/operations/outboundEndpoints.ts +621 -0
- package/src/operations/virtualNetworkLinks.ts +641 -0
- package/src/operationsInterfaces/dnsForwardingRulesets.ts +154 -0
- package/src/operationsInterfaces/dnsResolvers.ts +152 -0
- package/src/operationsInterfaces/forwardingRules.ts +93 -0
- package/src/operationsInterfaces/inboundEndpoints.ts +147 -0
- package/src/operationsInterfaces/index.ts +14 -0
- package/src/operationsInterfaces/outboundEndpoints.ts +147 -0
- package/src/operationsInterfaces/virtualNetworkLinks.ts +149 -0
- package/tsconfig.json +32 -0
- package/types/arm-dnsresolver.d.ts +1379 -0
- package/types/tsdoc-metadata.json +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/lroImpl.ts","../src/operations/dnsResolvers.ts","../src/operations/inboundEndpoints.ts","../src/operations/outboundEndpoints.ts","../src/operations/dnsForwardingRulesets.ts","../src/operations/forwardingRules.ts","../src/operations/virtualNetworkLinks.ts","../src/dnsResolverManagementClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** Reference to another ARM resource. */\nexport interface SubResource {\n /** Resource ID. */\n id?: string;\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /**\n * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the resource\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n}\n\n/** An error message */\nexport interface CloudError {\n /** The error message body */\n error?: CloudErrorBody;\n}\n\n/** The body of an error message */\nexport interface CloudErrorBody {\n /** The error code */\n code?: string;\n /** A description of what caused the error */\n message?: string;\n /** The target resource of the error message */\n target?: string;\n /** Extra error information */\n details?: CloudErrorBody[];\n}\n\n/** Describes a DNS resolver for PATCH operation. */\nexport interface DnsResolverPatch {\n /** Tags for DNS Resolver. */\n tags?: { [propertyName: string]: string };\n}\n\n/** The response to an enumeration operation on DNS resolvers. */\nexport interface DnsResolverListResult {\n /** Enumeration of the DNS resolvers. */\n value?: DnsResolver[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** IP configuration. */\nexport interface IpConfiguration {\n /** The reference to the subnet bound to the IP configuration. */\n subnet?: SubResource;\n /** Private IP address of the IP configuration. */\n privateIpAddress?: string;\n /** Private IP address allocation method. */\n privateIpAllocationMethod?: IpAllocationMethod;\n}\n\n/** Describes an inbound endpoint for a DNS resolver for PATCH operation. */\nexport interface InboundEndpointPatch {\n /** Tags for inbound endpoint. */\n tags?: { [propertyName: string]: string };\n}\n\n/** The response to an enumeration operation on inbound endpoints for a DNS resolver. */\nexport interface InboundEndpointListResult {\n /** Enumeration of the inbound endpoints for a DNS resolver. */\n value?: InboundEndpoint[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Describes an outbound endpoint for a DNS resolver for PATCH operation. */\nexport interface OutboundEndpointPatch {\n /** Tags for outbound endpoint. */\n tags?: { [propertyName: string]: string };\n}\n\n/** The response to an enumeration operation on outbound endpoints for a DNS resolver. */\nexport interface OutboundEndpointListResult {\n /** Enumeration of the outbound endpoints for a DNS resolver. */\n value?: OutboundEndpoint[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Describes a DNS forwarding ruleset PATCH operation. */\nexport interface DnsForwardingRulesetPatch {\n /** Tags for DNS Resolver. */\n tags?: { [propertyName: string]: string };\n}\n\n/** The response to an enumeration operation on DNS forwarding rulesets. */\nexport interface DnsForwardingRulesetListResult {\n /** Enumeration of the DNS forwarding rulesets. */\n value?: DnsForwardingRuleset[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Describes a server to forward the DNS queries to. */\nexport interface TargetDnsServer {\n /** DNS server IP address. */\n ipAddress?: string;\n /** DNS server port. */\n port?: number;\n}\n\n/** Describes a forwarding rule for PATCH operation. */\nexport interface ForwardingRulePatch {\n /** DNS servers to forward the DNS query to. */\n targetDnsServers?: TargetDnsServer[];\n /** Metadata attached to the forwarding rule. */\n metadata?: { [propertyName: string]: string };\n /** The state of forwarding rule. */\n forwardingRuleState?: ForwardingRuleState;\n}\n\n/** The response to an enumeration operation on forwarding rules within a DNS forwarding ruleset. */\nexport interface ForwardingRuleListResult {\n /** Enumeration of the forwarding rules. */\n value?: ForwardingRule[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Describes a virtual network link for PATCH operation. */\nexport interface VirtualNetworkLinkPatch {\n /** Metadata attached to the virtual network link. */\n metadata?: { [propertyName: string]: string };\n}\n\n/** The response to an enumeration operation on virtual network links. */\nexport interface VirtualNetworkLinkListResult {\n /** Enumeration of the virtual network links. */\n value?: VirtualNetworkLink[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The response to an enumeration operation on sub-resources. */\nexport interface SubResourceListResult {\n /** Enumeration of the sub-resources. */\n value?: SubResource[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** The response to an enumeration operation on Virtual Network DNS Forwarding Ruleset. */\nexport interface VirtualNetworkDnsForwardingRulesetListResult {\n /** Enumeration of the Virtual Network DNS Forwarding Ruleset. */\n value?: VirtualNetworkDnsForwardingRuleset[];\n /**\n * The continuation token for the next page of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Reference to DNS forwarding ruleset and associated virtual network link. */\nexport interface VirtualNetworkDnsForwardingRuleset {\n /** DNS Forwarding Ruleset Resource ID. */\n id?: string;\n /** The reference to the virtual network link. */\n virtualNetworkLink?: SubResource;\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport type TrackedResource = Resource & {\n /** Resource tags. */\n tags?: { [propertyName: string]: string };\n /** The geo-location where the resource lives */\n location: string;\n};\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport type ProxyResource = Resource & {};\n\n/** Describes a DNS resolver. */\nexport type DnsResolver = TrackedResource & {\n /**\n * ETag of the DNS resolver.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The reference to the virtual network. This cannot be changed after creation. */\n virtualNetwork?: SubResource;\n /**\n * The current status of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly dnsResolverState?: DnsResolverState;\n /**\n * The current provisioning state of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /**\n * The resourceGuid property of the DNS resolver resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resourceGuid?: string;\n};\n\n/** Describes an inbound endpoint for a DNS resolver. */\nexport type InboundEndpoint = TrackedResource & {\n /**\n * ETag of the inbound endpoint.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** IP configurations for the inbound endpoint. */\n ipConfigurations?: IpConfiguration[];\n /**\n * The current provisioning state of the inbound endpoint. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /**\n * The resourceGuid property of the inbound endpoint resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resourceGuid?: string;\n};\n\n/** Describes an outbound endpoint for a DNS resolver. */\nexport type OutboundEndpoint = TrackedResource & {\n /**\n * ETag of the outbound endpoint.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The reference to the subnet used for the outbound endpoint. */\n subnet?: SubResource;\n /**\n * The current provisioning state of the outbound endpoint. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /**\n * The resourceGuid property of the outbound endpoint resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resourceGuid?: string;\n};\n\n/** Describes a DNS forwarding ruleset. */\nexport type DnsForwardingRuleset = TrackedResource & {\n /**\n * ETag of the DNS forwarding ruleset.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers. */\n dnsResolverOutboundEndpoints?: SubResource[];\n /**\n * The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /**\n * The resourceGuid for the DNS forwarding ruleset.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resourceGuid?: string;\n};\n\n/** Describes a forwarding rule within a DNS forwarding ruleset. */\nexport type ForwardingRule = ProxyResource & {\n /**\n * ETag of the forwarding rule.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The domain name for the forwarding rule. */\n domainName?: string;\n /** DNS servers to forward the DNS query to. */\n targetDnsServers?: TargetDnsServer[];\n /** Metadata attached to the forwarding rule. */\n metadata?: { [propertyName: string]: string };\n /** The state of forwarding rule. */\n forwardingRuleState?: ForwardingRuleState;\n /**\n * The current provisioning state of the forwarding rule. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** Describes a virtual network link. */\nexport type VirtualNetworkLink = ProxyResource & {\n /**\n * ETag of the virtual network link.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly etag?: string;\n /**\n * Metadata pertaining to creation and last modification of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The reference to the virtual network. This cannot be changed after creation. */\n virtualNetwork?: SubResource;\n /** Metadata attached to the virtual network link. */\n metadata?: { [propertyName: string]: string };\n /**\n * The current provisioning state of the virtual network link. This is a read-only property and any attempt to set this value will be ignored.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** Known values of {@link DnsResolverState} that the service accepts. */\nexport enum KnownDnsResolverState {\n Connected = \"Connected\",\n Disconnected = \"Disconnected\"\n}\n\n/**\n * Defines values for DnsResolverState. \\\n * {@link KnownDnsResolverState} can be used interchangeably with DnsResolverState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Connected** \\\n * **Disconnected**\n */\nexport type DnsResolverState = string;\n\n/** Known values of {@link ProvisioningState} that the service accepts. */\nexport enum KnownProvisioningState {\n Creating = \"Creating\",\n Updating = \"Updating\",\n Deleting = \"Deleting\",\n Succeeded = \"Succeeded\",\n Failed = \"Failed\",\n Canceled = \"Canceled\"\n}\n\n/**\n * Defines values for ProvisioningState. \\\n * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating** \\\n * **Updating** \\\n * **Deleting** \\\n * **Succeeded** \\\n * **Failed** \\\n * **Canceled**\n */\nexport type ProvisioningState = string;\n\n/** Known values of {@link CreatedByType} that the service accepts. */\nexport enum KnownCreatedByType {\n User = \"User\",\n Application = \"Application\",\n ManagedIdentity = \"ManagedIdentity\",\n Key = \"Key\"\n}\n\n/**\n * Defines values for CreatedByType. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User** \\\n * **Application** \\\n * **ManagedIdentity** \\\n * **Key**\n */\nexport type CreatedByType = string;\n\n/** Known values of {@link IpAllocationMethod} that the service accepts. */\nexport enum KnownIpAllocationMethod {\n Static = \"Static\",\n Dynamic = \"Dynamic\"\n}\n\n/**\n * Defines values for IpAllocationMethod. \\\n * {@link KnownIpAllocationMethod} can be used interchangeably with IpAllocationMethod,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Static** \\\n * **Dynamic**\n */\nexport type IpAllocationMethod = string;\n\n/** Known values of {@link ForwardingRuleState} that the service accepts. */\nexport enum KnownForwardingRuleState {\n Enabled = \"Enabled\",\n Disabled = \"Disabled\"\n}\n\n/**\n * Defines values for ForwardingRuleState. \\\n * {@link KnownForwardingRuleState} can be used interchangeably with ForwardingRuleState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled** \\\n * **Disabled**\n */\nexport type ForwardingRuleState = string;\n\n/** Optional parameters. */\nexport interface DnsResolversCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type DnsResolversCreateOrUpdateResponse = DnsResolver;\n\n/** Optional parameters. */\nexport interface DnsResolversUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type DnsResolversUpdateResponse = DnsResolver;\n\n/** Optional parameters. */\nexport interface DnsResolversDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Optional parameters. */\nexport interface DnsResolversGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type DnsResolversGetResponse = DnsResolver;\n\n/** Optional parameters. */\nexport interface DnsResolversListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type DnsResolversListByResourceGroupResponse = DnsResolverListResult;\n\n/** Optional parameters. */\nexport interface DnsResolversListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type DnsResolversListResponse = DnsResolverListResult;\n\n/** Optional parameters. */\nexport interface DnsResolversListByVirtualNetworkOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByVirtualNetwork operation. */\nexport type DnsResolversListByVirtualNetworkResponse = SubResourceListResult;\n\n/** Optional parameters. */\nexport interface DnsResolversListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type DnsResolversListByResourceGroupNextResponse = DnsResolverListResult;\n\n/** Optional parameters. */\nexport interface DnsResolversListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type DnsResolversListNextResponse = DnsResolverListResult;\n\n/** Optional parameters. */\nexport interface DnsResolversListByVirtualNetworkNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByVirtualNetworkNext operation. */\nexport type DnsResolversListByVirtualNetworkNextResponse = SubResourceListResult;\n\n/** Optional parameters. */\nexport interface InboundEndpointsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type InboundEndpointsCreateOrUpdateResponse = InboundEndpoint;\n\n/** Optional parameters. */\nexport interface InboundEndpointsUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type InboundEndpointsUpdateResponse = InboundEndpoint;\n\n/** Optional parameters. */\nexport interface InboundEndpointsDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Optional parameters. */\nexport interface InboundEndpointsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type InboundEndpointsGetResponse = InboundEndpoint;\n\n/** Optional parameters. */\nexport interface InboundEndpointsListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type InboundEndpointsListResponse = InboundEndpointListResult;\n\n/** Optional parameters. */\nexport interface InboundEndpointsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type InboundEndpointsListNextResponse = InboundEndpointListResult;\n\n/** Optional parameters. */\nexport interface OutboundEndpointsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type OutboundEndpointsCreateOrUpdateResponse = OutboundEndpoint;\n\n/** Optional parameters. */\nexport interface OutboundEndpointsUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type OutboundEndpointsUpdateResponse = OutboundEndpoint;\n\n/** Optional parameters. */\nexport interface OutboundEndpointsDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Optional parameters. */\nexport interface OutboundEndpointsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type OutboundEndpointsGetResponse = OutboundEndpoint;\n\n/** Optional parameters. */\nexport interface OutboundEndpointsListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type OutboundEndpointsListResponse = OutboundEndpointListResult;\n\n/** Optional parameters. */\nexport interface OutboundEndpointsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type OutboundEndpointsListNextResponse = OutboundEndpointListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type DnsForwardingRulesetsCreateOrUpdateResponse = DnsForwardingRuleset;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type DnsForwardingRulesetsUpdateResponse = DnsForwardingRuleset;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type DnsForwardingRulesetsGetResponse = DnsForwardingRuleset;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type DnsForwardingRulesetsListByResourceGroupResponse = DnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type DnsForwardingRulesetsListResponse = DnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListByVirtualNetworkOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByVirtualNetwork operation. */\nexport type DnsForwardingRulesetsListByVirtualNetworkResponse = VirtualNetworkDnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type DnsForwardingRulesetsListByResourceGroupNextResponse = DnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type DnsForwardingRulesetsListNextResponse = DnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listByVirtualNetworkNext operation. */\nexport type DnsForwardingRulesetsListByVirtualNetworkNextResponse = VirtualNetworkDnsForwardingRulesetListResult;\n\n/** Optional parameters. */\nexport interface ForwardingRulesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type ForwardingRulesCreateOrUpdateResponse = ForwardingRule;\n\n/** Optional parameters. */\nexport interface ForwardingRulesUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type ForwardingRulesUpdateResponse = ForwardingRule;\n\n/** Optional parameters. */\nexport interface ForwardingRulesDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n}\n\n/** Optional parameters. */\nexport interface ForwardingRulesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type ForwardingRulesGetResponse = ForwardingRule;\n\n/** Optional parameters. */\nexport interface ForwardingRulesListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type ForwardingRulesListResponse = ForwardingRuleListResult;\n\n/** Optional parameters. */\nexport interface ForwardingRulesListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type ForwardingRulesListNextResponse = ForwardingRuleListResult;\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored. */\n ifNoneMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type VirtualNetworkLinksCreateOrUpdateResponse = VirtualNetworkLink;\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksUpdateOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Contains response data for the update operation. */\nexport type VirtualNetworkLinksUpdateResponse = VirtualNetworkLink;\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksDeleteOptionalParams\n extends coreClient.OperationOptions {\n /** ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes. */\n ifMatch?: string;\n /** Delay to wait until next poll, in milliseconds. */\n updateIntervalInMs?: number;\n /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */\n resumeFrom?: string;\n}\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type VirtualNetworkLinksGetResponse = VirtualNetworkLink;\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksListOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type VirtualNetworkLinksListResponse = VirtualNetworkLinkListResult;\n\n/** Optional parameters. */\nexport interface VirtualNetworkLinksListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The maximum number of results to return. If not specified, returns up to 100 results. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type VirtualNetworkLinksListNextResponse = VirtualNetworkLinkListResult;\n\n/** Optional parameters. */\nexport interface DnsResolverManagementClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const SubResource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SubResource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SystemData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SystemData\",\n modelProperties: {\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n createdByType: {\n serializedName: \"createdByType\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n lastModifiedBy: {\n serializedName: \"lastModifiedBy\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedByType: {\n serializedName: \"lastModifiedByType\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedAt: {\n serializedName: \"lastModifiedAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CloudError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CloudError\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"CloudErrorBody\"\n }\n }\n }\n }\n};\n\nexport const CloudErrorBody: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CloudErrorBody\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CloudErrorBody\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DnsResolverPatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsResolverPatch\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const DnsResolverListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsResolverListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DnsResolver\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IpConfiguration: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IpConfiguration\",\n modelProperties: {\n subnet: {\n serializedName: \"subnet\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n privateIpAddress: {\n serializedName: \"privateIpAddress\",\n type: {\n name: \"String\"\n }\n },\n privateIpAllocationMethod: {\n defaultValue: \"Dynamic\",\n serializedName: \"privateIpAllocationMethod\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InboundEndpointPatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InboundEndpointPatch\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const InboundEndpointListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InboundEndpointListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InboundEndpoint\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OutboundEndpointPatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OutboundEndpointPatch\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const OutboundEndpointListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OutboundEndpointListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OutboundEndpoint\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DnsForwardingRulesetPatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsForwardingRulesetPatch\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const DnsForwardingRulesetListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsForwardingRulesetListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DnsForwardingRuleset\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TargetDnsServer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TargetDnsServer\",\n modelProperties: {\n ipAddress: {\n serializedName: \"ipAddress\",\n type: {\n name: \"String\"\n }\n },\n port: {\n defaultValue: 53,\n serializedName: \"port\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ForwardingRulePatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ForwardingRulePatch\",\n modelProperties: {\n targetDnsServers: {\n serializedName: \"properties.targetDnsServers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TargetDnsServer\"\n }\n }\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n forwardingRuleState: {\n serializedName: \"properties.forwardingRuleState\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ForwardingRuleListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ForwardingRuleListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ForwardingRule\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const VirtualNetworkLinkPatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkLinkPatch\",\n modelProperties: {\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const VirtualNetworkLinkListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkLinkListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkLink\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SubResourceListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SubResourceListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const VirtualNetworkDnsForwardingRulesetListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkDnsForwardingRulesetListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkDnsForwardingRuleset\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const VirtualNetworkDnsForwardingRuleset: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkDnsForwardingRuleset\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n virtualNetworkLink: {\n serializedName: \"properties.virtualNetworkLink\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const TrackedResource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TrackedResource\",\n modelProperties: {\n ...Resource.type.modelProperties,\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n location: {\n serializedName: \"location\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ProxyResource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ProxyResource\",\n modelProperties: {\n ...Resource.type.modelProperties\n }\n }\n};\n\nexport const DnsResolver: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsResolver\",\n modelProperties: {\n ...TrackedResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n virtualNetwork: {\n serializedName: \"properties.virtualNetwork\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n dnsResolverState: {\n serializedName: \"properties.dnsResolverState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resourceGuid: {\n serializedName: \"properties.resourceGuid\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InboundEndpoint: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InboundEndpoint\",\n modelProperties: {\n ...TrackedResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n ipConfigurations: {\n serializedName: \"properties.ipConfigurations\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IpConfiguration\"\n }\n }\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resourceGuid: {\n serializedName: \"properties.resourceGuid\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OutboundEndpoint: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OutboundEndpoint\",\n modelProperties: {\n ...TrackedResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n subnet: {\n serializedName: \"properties.subnet\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resourceGuid: {\n serializedName: \"properties.resourceGuid\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DnsForwardingRuleset: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DnsForwardingRuleset\",\n modelProperties: {\n ...TrackedResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n dnsResolverOutboundEndpoints: {\n serializedName: \"properties.dnsResolverOutboundEndpoints\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resourceGuid: {\n serializedName: \"properties.resourceGuid\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ForwardingRule: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ForwardingRule\",\n modelProperties: {\n ...ProxyResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n domainName: {\n serializedName: \"properties.domainName\",\n type: {\n name: \"String\"\n }\n },\n targetDnsServers: {\n serializedName: \"properties.targetDnsServers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TargetDnsServer\"\n }\n }\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n forwardingRuleState: {\n serializedName: \"properties.forwardingRuleState\",\n type: {\n name: \"String\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const VirtualNetworkLink: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"VirtualNetworkLink\",\n modelProperties: {\n ...ProxyResource.type.modelProperties,\n etag: {\n serializedName: \"etag\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n virtualNetwork: {\n serializedName: \"properties.virtualNetwork\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n DnsResolver as DnsResolverMapper,\n DnsResolverPatch as DnsResolverPatchMapper,\n InboundEndpoint as InboundEndpointMapper,\n InboundEndpointPatch as InboundEndpointPatchMapper,\n OutboundEndpoint as OutboundEndpointMapper,\n OutboundEndpointPatch as OutboundEndpointPatchMapper,\n DnsForwardingRuleset as DnsForwardingRulesetMapper,\n DnsForwardingRulesetPatch as DnsForwardingRulesetPatchMapper,\n ForwardingRule as ForwardingRuleMapper,\n ForwardingRulePatch as ForwardingRulePatchMapper,\n VirtualNetworkLink as VirtualNetworkLinkMapper,\n VirtualNetworkLinkPatch as VirtualNetworkLinkPatchMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: DnsResolverMapper\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n constraints: {\n MinLength: 1\n },\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const resourceGroupName: OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n constraints: {\n MaxLength: 90,\n MinLength: 1\n },\n serializedName: \"resourceGroupName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const dnsResolverName: OperationURLParameter = {\n parameterPath: \"dnsResolverName\",\n mapper: {\n serializedName: \"dnsResolverName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-04-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifMatch\"],\n mapper: {\n serializedName: \"If-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifNoneMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifNoneMatch\"],\n mapper: {\n serializedName: \"If-None-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: DnsResolverPatchMapper\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const virtualNetworkName: OperationURLParameter = {\n parameterPath: \"virtualNetworkName\",\n mapper: {\n serializedName: \"virtualNetworkName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InboundEndpointMapper\n};\n\nexport const inboundEndpointName: OperationURLParameter = {\n parameterPath: \"inboundEndpointName\",\n mapper: {\n serializedName: \"inboundEndpointName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: InboundEndpointPatchMapper\n};\n\nexport const parameters4: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: OutboundEndpointMapper\n};\n\nexport const outboundEndpointName: OperationURLParameter = {\n parameterPath: \"outboundEndpointName\",\n mapper: {\n serializedName: \"outboundEndpointName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters5: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: OutboundEndpointPatchMapper\n};\n\nexport const parameters6: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: DnsForwardingRulesetMapper\n};\n\nexport const dnsForwardingRulesetName: OperationURLParameter = {\n parameterPath: \"dnsForwardingRulesetName\",\n mapper: {\n serializedName: \"dnsForwardingRulesetName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters7: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: DnsForwardingRulesetPatchMapper\n};\n\nexport const parameters8: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: ForwardingRuleMapper\n};\n\nexport const forwardingRuleName: OperationURLParameter = {\n parameterPath: \"forwardingRuleName\",\n mapper: {\n serializedName: \"forwardingRuleName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters9: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: ForwardingRulePatchMapper\n};\n\nexport const parameters10: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: VirtualNetworkLinkMapper\n};\n\nexport const virtualNetworkLinkName: OperationURLParameter = {\n parameterPath: \"virtualNetworkLinkName\",\n mapper: {\n serializedName: \"virtualNetworkLinkName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters11: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: VirtualNetworkLinkPatchMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { LongRunningOperation, LroResponse } from \"@azure/core-lro\";\n\nexport class LroImpl<T> implements LongRunningOperation<T> {\n constructor(\n private sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>,\n private args: Record<string, unknown>,\n private spec: {\n readonly requestBody?: unknown;\n readonly path?: string;\n readonly httpMethod: string;\n } & Record<string, any>,\n public requestPath: string = spec.path!,\n public requestMethod: string = spec.httpMethod\n ) {}\n public async sendInitialRequest(): Promise<LroResponse<T>> {\n return this.sendOperationFn(this.args, this.spec);\n }\n public async sendPollRequest(path: string): Promise<LroResponse<T>> {\n const { requestBody, ...restSpec } = this.spec;\n return this.sendOperationFn(this.args, {\n ...restSpec,\n path,\n httpMethod: \"GET\"\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DnsResolvers } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n DnsResolver,\n DnsResolversListByResourceGroupNextOptionalParams,\n DnsResolversListByResourceGroupOptionalParams,\n DnsResolversListNextOptionalParams,\n DnsResolversListOptionalParams,\n SubResource,\n DnsResolversListByVirtualNetworkNextOptionalParams,\n DnsResolversListByVirtualNetworkOptionalParams,\n DnsResolversCreateOrUpdateOptionalParams,\n DnsResolversCreateOrUpdateResponse,\n DnsResolverPatch,\n DnsResolversUpdateOptionalParams,\n DnsResolversUpdateResponse,\n DnsResolversDeleteOptionalParams,\n DnsResolversGetOptionalParams,\n DnsResolversGetResponse,\n DnsResolversListByResourceGroupResponse,\n DnsResolversListResponse,\n DnsResolversListByVirtualNetworkResponse,\n DnsResolversListByResourceGroupNextResponse,\n DnsResolversListNextResponse,\n DnsResolversListByVirtualNetworkNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DnsResolvers operations. */\nexport class DnsResolversImpl implements DnsResolvers {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class DnsResolvers class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists DNS resolvers within a resource group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: DnsResolversListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<DnsResolver> {\n const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listByResourceGroupPagingPage(\n resourceGroupName: string,\n options?: DnsResolversListByResourceGroupOptionalParams\n ): AsyncIterableIterator<DnsResolver[]> {\n let result = await this._listByResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByResourceGroupPagingAll(\n resourceGroupName: string,\n options?: DnsResolversListByResourceGroupOptionalParams\n ): AsyncIterableIterator<DnsResolver> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists DNS resolvers in all resource groups of a subscription.\n * @param options The options parameters.\n */\n public list(\n options?: DnsResolversListOptionalParams\n ): PagedAsyncIterableIterator<DnsResolver> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DnsResolversListOptionalParams\n ): AsyncIterableIterator<DnsResolver[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: DnsResolversListOptionalParams\n ): AsyncIterableIterator<DnsResolver> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists DNS resolver resource IDs linked to a virtual network.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param options The options parameters.\n */\n public listByVirtualNetwork(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsResolversListByVirtualNetworkOptionalParams\n ): PagedAsyncIterableIterator<SubResource> {\n const iter = this.listByVirtualNetworkPagingAll(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByVirtualNetworkPagingPage(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n }\n };\n }\n\n private async *listByVirtualNetworkPagingPage(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsResolversListByVirtualNetworkOptionalParams\n ): AsyncIterableIterator<SubResource[]> {\n let result = await this._listByVirtualNetwork(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByVirtualNetworkNext(\n resourceGroupName,\n virtualNetworkName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByVirtualNetworkPagingAll(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsResolversListByVirtualNetworkOptionalParams\n ): AsyncIterableIterator<SubResource> {\n for await (const page of this.listByVirtualNetworkPagingPage(\n resourceGroupName,\n virtualNetworkName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n parameters: DnsResolver,\n options?: DnsResolversCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<DnsResolversCreateOrUpdateResponse>,\n DnsResolversCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<DnsResolversCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsResolverName, parameters, options },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n parameters: DnsResolver,\n options?: DnsResolversCreateOrUpdateOptionalParams\n ): Promise<DnsResolversCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n resourceGroupName,\n dnsResolverName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Updates a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n parameters: DnsResolverPatch,\n options?: DnsResolversUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<DnsResolversUpdateResponse>,\n DnsResolversUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<DnsResolversUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsResolverName, parameters, options },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Updates a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n parameters: DnsResolverPatch,\n options?: DnsResolversUpdateOptionalParams\n ): Promise<DnsResolversUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n dnsResolverName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Deletes a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: DnsResolversDeleteOptionalParams\n ): Promise<PollerLike<PollOperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsResolverName, options },\n deleteOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Deletes a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: DnsResolversDeleteOptionalParams\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n dnsResolverName,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets properties of a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: DnsResolversGetOptionalParams\n ): Promise<DnsResolversGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists DNS resolvers within a resource group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: DnsResolversListByResourceGroupOptionalParams\n ): Promise<DnsResolversListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists DNS resolvers in all resource groups of a subscription.\n * @param options The options parameters.\n */\n private _list(\n options?: DnsResolversListOptionalParams\n ): Promise<DnsResolversListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Lists DNS resolver resource IDs linked to a virtual network.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param options The options parameters.\n */\n private _listByVirtualNetwork(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsResolversListByVirtualNetworkOptionalParams\n ): Promise<DnsResolversListByVirtualNetworkResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, virtualNetworkName, options },\n listByVirtualNetworkOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.\n * @param options The options parameters.\n */\n private _listByResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: DnsResolversListByResourceGroupNextOptionalParams\n ): Promise<DnsResolversListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DnsResolversListNextOptionalParams\n ): Promise<DnsResolversListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListByVirtualNetworkNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param nextLink The nextLink from the previous successful call to the ListByVirtualNetwork method.\n * @param options The options parameters.\n */\n private _listByVirtualNetworkNext(\n resourceGroupName: string,\n virtualNetworkName: string,\n nextLink: string,\n options?: DnsResolversListByVirtualNetworkNextOptionalParams\n ): Promise<DnsResolversListByVirtualNetworkNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, virtualNetworkName, nextLink, options },\n listByVirtualNetworkNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolver\n },\n 201: {\n bodyMapper: Mappers.DnsResolver\n },\n 202: {\n bodyMapper: Mappers.DnsResolver\n },\n 204: {\n bodyMapper: Mappers.DnsResolver\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolver\n },\n 201: {\n bodyMapper: Mappers.DnsResolver\n },\n 202: {\n bodyMapper: Mappers.DnsResolver\n },\n 204: {\n bodyMapper: Mappers.DnsResolver\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolver\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolverListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolverListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByVirtualNetworkOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolvers\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.SubResourceListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.virtualNetworkName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolverListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsResolverListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByVirtualNetworkNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SubResourceListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.virtualNetworkName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { InboundEndpoints } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n InboundEndpoint,\n InboundEndpointsListNextOptionalParams,\n InboundEndpointsListOptionalParams,\n InboundEndpointsCreateOrUpdateOptionalParams,\n InboundEndpointsCreateOrUpdateResponse,\n InboundEndpointPatch,\n InboundEndpointsUpdateOptionalParams,\n InboundEndpointsUpdateResponse,\n InboundEndpointsDeleteOptionalParams,\n InboundEndpointsGetOptionalParams,\n InboundEndpointsGetResponse,\n InboundEndpointsListResponse,\n InboundEndpointsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing InboundEndpoints operations. */\nexport class InboundEndpointsImpl implements InboundEndpoints {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class InboundEndpoints class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists inbound endpoints for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: InboundEndpointsListOptionalParams\n ): PagedAsyncIterableIterator<InboundEndpoint> {\n const iter = this.listPagingAll(\n resourceGroupName,\n dnsResolverName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(resourceGroupName, dnsResolverName, options);\n }\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: InboundEndpointsListOptionalParams\n ): AsyncIterableIterator<InboundEndpoint[]> {\n let result = await this._list(resourceGroupName, dnsResolverName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n dnsResolverName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: InboundEndpointsListOptionalParams\n ): AsyncIterableIterator<InboundEndpoint> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n dnsResolverName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates an inbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n parameters: InboundEndpoint,\n options?: InboundEndpointsCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<InboundEndpointsCreateOrUpdateResponse>,\n InboundEndpointsCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InboundEndpointsCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsResolverName,\n inboundEndpointName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates an inbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n parameters: InboundEndpoint,\n options?: InboundEndpointsCreateOrUpdateOptionalParams\n ): Promise<InboundEndpointsCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n resourceGroupName,\n dnsResolverName,\n inboundEndpointName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Updates an inbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n parameters: InboundEndpointPatch,\n options?: InboundEndpointsUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<InboundEndpointsUpdateResponse>,\n InboundEndpointsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<InboundEndpointsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsResolverName,\n inboundEndpointName,\n parameters,\n options\n },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Updates an inbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n parameters: InboundEndpointPatch,\n options?: InboundEndpointsUpdateOptionalParams\n ): Promise<InboundEndpointsUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n dnsResolverName,\n inboundEndpointName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n options?: InboundEndpointsDeleteOptionalParams\n ): Promise<PollerLike<PollOperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsResolverName, inboundEndpointName, options },\n deleteOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n options?: InboundEndpointsDeleteOptionalParams\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n dnsResolverName,\n inboundEndpointName,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets properties of an inbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param inboundEndpointName The name of the inbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsResolverName: string,\n inboundEndpointName: string,\n options?: InboundEndpointsGetOptionalParams\n ): Promise<InboundEndpointsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, inboundEndpointName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists inbound endpoints for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: InboundEndpointsListOptionalParams\n ): Promise<InboundEndpointsListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n dnsResolverName: string,\n nextLink: string,\n options?: InboundEndpointsListNextOptionalParams\n ): Promise<InboundEndpointsListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 201: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 202: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 204: {\n bodyMapper: Mappers.InboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.inboundEndpointName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 201: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 202: {\n bodyMapper: Mappers.InboundEndpoint\n },\n 204: {\n bodyMapper: Mappers.InboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.inboundEndpointName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.inboundEndpointName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.inboundEndpointName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InboundEndpointListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.InboundEndpointListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { OutboundEndpoints } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n OutboundEndpoint,\n OutboundEndpointsListNextOptionalParams,\n OutboundEndpointsListOptionalParams,\n OutboundEndpointsCreateOrUpdateOptionalParams,\n OutboundEndpointsCreateOrUpdateResponse,\n OutboundEndpointPatch,\n OutboundEndpointsUpdateOptionalParams,\n OutboundEndpointsUpdateResponse,\n OutboundEndpointsDeleteOptionalParams,\n OutboundEndpointsGetOptionalParams,\n OutboundEndpointsGetResponse,\n OutboundEndpointsListResponse,\n OutboundEndpointsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing OutboundEndpoints operations. */\nexport class OutboundEndpointsImpl implements OutboundEndpoints {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class OutboundEndpoints class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists outbound endpoints for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: OutboundEndpointsListOptionalParams\n ): PagedAsyncIterableIterator<OutboundEndpoint> {\n const iter = this.listPagingAll(\n resourceGroupName,\n dnsResolverName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(resourceGroupName, dnsResolverName, options);\n }\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: OutboundEndpointsListOptionalParams\n ): AsyncIterableIterator<OutboundEndpoint[]> {\n let result = await this._list(resourceGroupName, dnsResolverName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n dnsResolverName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: OutboundEndpointsListOptionalParams\n ): AsyncIterableIterator<OutboundEndpoint> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n dnsResolverName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates an outbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n parameters: OutboundEndpoint,\n options?: OutboundEndpointsCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<OutboundEndpointsCreateOrUpdateResponse>,\n OutboundEndpointsCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<OutboundEndpointsCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsResolverName,\n outboundEndpointName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates an outbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n parameters: OutboundEndpoint,\n options?: OutboundEndpointsCreateOrUpdateOptionalParams\n ): Promise<OutboundEndpointsCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n resourceGroupName,\n dnsResolverName,\n outboundEndpointName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Updates an outbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n parameters: OutboundEndpointPatch,\n options?: OutboundEndpointsUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<OutboundEndpointsUpdateResponse>,\n OutboundEndpointsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<OutboundEndpointsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsResolverName,\n outboundEndpointName,\n parameters,\n options\n },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Updates an outbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n parameters: OutboundEndpointPatch,\n options?: OutboundEndpointsUpdateOptionalParams\n ): Promise<OutboundEndpointsUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n dnsResolverName,\n outboundEndpointName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n options?: OutboundEndpointsDeleteOptionalParams\n ): Promise<PollerLike<PollOperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsResolverName, outboundEndpointName, options },\n deleteOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n options?: OutboundEndpointsDeleteOptionalParams\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n dnsResolverName,\n outboundEndpointName,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets properties of an outbound endpoint for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param outboundEndpointName The name of the outbound endpoint for the DNS resolver.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsResolverName: string,\n outboundEndpointName: string,\n options?: OutboundEndpointsGetOptionalParams\n ): Promise<OutboundEndpointsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, outboundEndpointName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists outbound endpoints for a DNS resolver.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n dnsResolverName: string,\n options?: OutboundEndpointsListOptionalParams\n ): Promise<OutboundEndpointsListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsResolverName The name of the DNS resolver.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n dnsResolverName: string,\n nextLink: string,\n options?: OutboundEndpointsListNextOptionalParams\n ): Promise<OutboundEndpointsListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsResolverName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 201: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 202: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 204: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters4,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.outboundEndpointName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 201: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 202: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n 204: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters5,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.outboundEndpointName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.outboundEndpointName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OutboundEndpoint\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.outboundEndpointName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OutboundEndpointListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OutboundEndpointListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsResolverName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DnsForwardingRulesets } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n DnsForwardingRuleset,\n DnsForwardingRulesetsListByResourceGroupNextOptionalParams,\n DnsForwardingRulesetsListByResourceGroupOptionalParams,\n DnsForwardingRulesetsListNextOptionalParams,\n DnsForwardingRulesetsListOptionalParams,\n VirtualNetworkDnsForwardingRuleset,\n DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams,\n DnsForwardingRulesetsListByVirtualNetworkOptionalParams,\n DnsForwardingRulesetsCreateOrUpdateOptionalParams,\n DnsForwardingRulesetsCreateOrUpdateResponse,\n DnsForwardingRulesetPatch,\n DnsForwardingRulesetsUpdateOptionalParams,\n DnsForwardingRulesetsUpdateResponse,\n DnsForwardingRulesetsDeleteOptionalParams,\n DnsForwardingRulesetsGetOptionalParams,\n DnsForwardingRulesetsGetResponse,\n DnsForwardingRulesetsListByResourceGroupResponse,\n DnsForwardingRulesetsListResponse,\n DnsForwardingRulesetsListByVirtualNetworkResponse,\n DnsForwardingRulesetsListByResourceGroupNextResponse,\n DnsForwardingRulesetsListNextResponse,\n DnsForwardingRulesetsListByVirtualNetworkNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DnsForwardingRulesets operations. */\nexport class DnsForwardingRulesetsImpl implements DnsForwardingRulesets {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class DnsForwardingRulesets class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists DNS forwarding rulesets within a resource group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: DnsForwardingRulesetsListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<DnsForwardingRuleset> {\n const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listByResourceGroupPagingPage(\n resourceGroupName: string,\n options?: DnsForwardingRulesetsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<DnsForwardingRuleset[]> {\n let result = await this._listByResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByResourceGroupPagingAll(\n resourceGroupName: string,\n options?: DnsForwardingRulesetsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<DnsForwardingRuleset> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists DNS forwarding rulesets in all resource groups of a subscription.\n * @param options The options parameters.\n */\n public list(\n options?: DnsForwardingRulesetsListOptionalParams\n ): PagedAsyncIterableIterator<DnsForwardingRuleset> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DnsForwardingRulesetsListOptionalParams\n ): AsyncIterableIterator<DnsForwardingRuleset[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: DnsForwardingRulesetsListOptionalParams\n ): AsyncIterableIterator<DnsForwardingRuleset> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists DNS forwarding ruleset resource IDs attached to a virtual network.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param options The options parameters.\n */\n public listByVirtualNetwork(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams\n ): PagedAsyncIterableIterator<VirtualNetworkDnsForwardingRuleset> {\n const iter = this.listByVirtualNetworkPagingAll(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByVirtualNetworkPagingPage(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n }\n };\n }\n\n private async *listByVirtualNetworkPagingPage(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams\n ): AsyncIterableIterator<VirtualNetworkDnsForwardingRuleset[]> {\n let result = await this._listByVirtualNetwork(\n resourceGroupName,\n virtualNetworkName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByVirtualNetworkNext(\n resourceGroupName,\n virtualNetworkName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByVirtualNetworkPagingAll(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams\n ): AsyncIterableIterator<VirtualNetworkDnsForwardingRuleset> {\n for await (const page of this.listByVirtualNetworkPagingPage(\n resourceGroupName,\n virtualNetworkName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n parameters: DnsForwardingRuleset,\n options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<DnsForwardingRulesetsCreateOrUpdateResponse>,\n DnsForwardingRulesetsCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<DnsForwardingRulesetsCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsForwardingRulesetName, parameters, options },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n parameters: DnsForwardingRuleset,\n options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams\n ): Promise<DnsForwardingRulesetsCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n resourceGroupName,\n dnsForwardingRulesetName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Updates a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n parameters: DnsForwardingRulesetPatch,\n options?: DnsForwardingRulesetsUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<DnsForwardingRulesetsUpdateResponse>,\n DnsForwardingRulesetsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<DnsForwardingRulesetsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsForwardingRulesetName, parameters, options },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Updates a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n parameters: DnsForwardingRulesetPatch,\n options?: DnsForwardingRulesetsUpdateOptionalParams\n ): Promise<DnsForwardingRulesetsUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n dnsForwardingRulesetName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules\n * within the ruleset will be deleted.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: DnsForwardingRulesetsDeleteOptionalParams\n ): Promise<PollerLike<PollOperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n { resourceGroupName, dnsForwardingRulesetName, options },\n deleteOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules\n * within the ruleset will be deleted.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: DnsForwardingRulesetsDeleteOptionalParams\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets a DNS forwarding ruleset properties.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: DnsForwardingRulesetsGetOptionalParams\n ): Promise<DnsForwardingRulesetsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsForwardingRulesetName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists DNS forwarding rulesets within a resource group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: DnsForwardingRulesetsListByResourceGroupOptionalParams\n ): Promise<DnsForwardingRulesetsListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists DNS forwarding rulesets in all resource groups of a subscription.\n * @param options The options parameters.\n */\n private _list(\n options?: DnsForwardingRulesetsListOptionalParams\n ): Promise<DnsForwardingRulesetsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Lists DNS forwarding ruleset resource IDs attached to a virtual network.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param options The options parameters.\n */\n private _listByVirtualNetwork(\n resourceGroupName: string,\n virtualNetworkName: string,\n options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams\n ): Promise<DnsForwardingRulesetsListByVirtualNetworkResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, virtualNetworkName, options },\n listByVirtualNetworkOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.\n * @param options The options parameters.\n */\n private _listByResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: DnsForwardingRulesetsListByResourceGroupNextOptionalParams\n ): Promise<DnsForwardingRulesetsListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DnsForwardingRulesetsListNextOptionalParams\n ): Promise<DnsForwardingRulesetsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListByVirtualNetworkNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param virtualNetworkName The name of the virtual network.\n * @param nextLink The nextLink from the previous successful call to the ListByVirtualNetwork method.\n * @param options The options parameters.\n */\n private _listByVirtualNetworkNext(\n resourceGroupName: string,\n virtualNetworkName: string,\n nextLink: string,\n options?: DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams\n ): Promise<DnsForwardingRulesetsListByVirtualNetworkNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, virtualNetworkName, nextLink, options },\n listByVirtualNetworkNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 201: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 202: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 204: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters6,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 201: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 202: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n 204: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters7,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRuleset\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByVirtualNetworkOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.virtualNetworkName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByVirtualNetworkNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.virtualNetworkName,\n Parameters.nextLink\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { ForwardingRules } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport {\n ForwardingRule,\n ForwardingRulesListNextOptionalParams,\n ForwardingRulesListOptionalParams,\n ForwardingRulesCreateOrUpdateOptionalParams,\n ForwardingRulesCreateOrUpdateResponse,\n ForwardingRulePatch,\n ForwardingRulesUpdateOptionalParams,\n ForwardingRulesUpdateResponse,\n ForwardingRulesDeleteOptionalParams,\n ForwardingRulesGetOptionalParams,\n ForwardingRulesGetResponse,\n ForwardingRulesListResponse,\n ForwardingRulesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ForwardingRules operations. */\nexport class ForwardingRulesImpl implements ForwardingRules {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class ForwardingRules class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists forwarding rules in a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: ForwardingRulesListOptionalParams\n ): PagedAsyncIterableIterator<ForwardingRule> {\n const iter = this.listPagingAll(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: ForwardingRulesListOptionalParams\n ): AsyncIterableIterator<ForwardingRule[]> {\n let result = await this._list(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n dnsForwardingRulesetName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: ForwardingRulesListOptionalParams\n ): AsyncIterableIterator<ForwardingRule> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates a forwarding rule in a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param forwardingRuleName The name of the forwarding rule.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n forwardingRuleName: string,\n parameters: ForwardingRule,\n options?: ForwardingRulesCreateOrUpdateOptionalParams\n ): Promise<ForwardingRulesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n forwardingRuleName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Updates a forwarding rule in a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param forwardingRuleName The name of the forwarding rule.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n update(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n forwardingRuleName: string,\n parameters: ForwardingRulePatch,\n options?: ForwardingRulesUpdateOptionalParams\n ): Promise<ForwardingRulesUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n forwardingRuleName,\n parameters,\n options\n },\n updateOperationSpec\n );\n }\n\n /**\n * Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param forwardingRuleName The name of the forwarding rule.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n forwardingRuleName: string,\n options?: ForwardingRulesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n forwardingRuleName,\n options\n },\n deleteOperationSpec\n );\n }\n\n /**\n * Gets properties of a forwarding rule in a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param forwardingRuleName The name of the forwarding rule.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n forwardingRuleName: string,\n options?: ForwardingRulesGetOptionalParams\n ): Promise<ForwardingRulesGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n forwardingRuleName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Lists forwarding rules in a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: ForwardingRulesListOptionalParams\n ): Promise<ForwardingRulesListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsForwardingRulesetName, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n nextLink: string,\n options?: ForwardingRulesListNextOptionalParams\n ): Promise<ForwardingRulesListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsForwardingRulesetName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.ForwardingRule\n },\n 201: {\n bodyMapper: Mappers.ForwardingRule\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters8,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.forwardingRuleName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ForwardingRule\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters9,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.forwardingRuleName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.forwardingRuleName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ForwardingRule\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.forwardingRuleName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ForwardingRuleListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ForwardingRuleListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.nextLink,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { VirtualNetworkLinks } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { DnsResolverManagementClient } from \"../dnsResolverManagementClient\";\nimport { PollerLike, PollOperationState, LroEngine } from \"@azure/core-lro\";\nimport { LroImpl } from \"../lroImpl\";\nimport {\n VirtualNetworkLink,\n VirtualNetworkLinksListNextOptionalParams,\n VirtualNetworkLinksListOptionalParams,\n VirtualNetworkLinksCreateOrUpdateOptionalParams,\n VirtualNetworkLinksCreateOrUpdateResponse,\n VirtualNetworkLinkPatch,\n VirtualNetworkLinksUpdateOptionalParams,\n VirtualNetworkLinksUpdateResponse,\n VirtualNetworkLinksDeleteOptionalParams,\n VirtualNetworkLinksGetOptionalParams,\n VirtualNetworkLinksGetResponse,\n VirtualNetworkLinksListResponse,\n VirtualNetworkLinksListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing VirtualNetworkLinks operations. */\nexport class VirtualNetworkLinksImpl implements VirtualNetworkLinks {\n private readonly client: DnsResolverManagementClient;\n\n /**\n * Initialize a new instance of the class VirtualNetworkLinks class.\n * @param client Reference to the service client\n */\n constructor(client: DnsResolverManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists virtual network links to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: VirtualNetworkLinksListOptionalParams\n ): PagedAsyncIterableIterator<VirtualNetworkLink> {\n const iter = this.listPagingAll(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n }\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: VirtualNetworkLinksListOptionalParams\n ): AsyncIterableIterator<VirtualNetworkLink[]> {\n let result = await this._list(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n dnsForwardingRulesetName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: VirtualNetworkLinksListOptionalParams\n ): AsyncIterableIterator<VirtualNetworkLink> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n dnsForwardingRulesetName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Creates or updates a virtual network link to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdate(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n parameters: VirtualNetworkLink,\n options?: VirtualNetworkLinksCreateOrUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<VirtualNetworkLinksCreateOrUpdateResponse>,\n VirtualNetworkLinksCreateOrUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<VirtualNetworkLinksCreateOrUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n parameters,\n options\n },\n createOrUpdateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Creates or updates a virtual network link to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param parameters Parameters supplied to the CreateOrUpdate operation.\n * @param options The options parameters.\n */\n async beginCreateOrUpdateAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n parameters: VirtualNetworkLink,\n options?: VirtualNetworkLinksCreateOrUpdateOptionalParams\n ): Promise<VirtualNetworkLinksCreateOrUpdateResponse> {\n const poller = await this.beginCreateOrUpdate(\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Updates a virtual network link to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n parameters: VirtualNetworkLinkPatch,\n options?: VirtualNetworkLinksUpdateOptionalParams\n ): Promise<\n PollerLike<\n PollOperationState<VirtualNetworkLinksUpdateResponse>,\n VirtualNetworkLinksUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<VirtualNetworkLinksUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n parameters,\n options\n },\n updateOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Updates a virtual network link to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param parameters Parameters supplied to the Update operation.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n parameters: VirtualNetworkLinkPatch,\n options?: VirtualNetworkLinksUpdateOptionalParams\n ): Promise<VirtualNetworkLinksUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n parameters,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be\n * undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n options?: VirtualNetworkLinksDeleteOptionalParams\n ): Promise<PollerLike<PollOperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec\n ) => {\n let currentRawResponse:\n | coreClient.FullOperationResponse\n | undefined = undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback\n }\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON()\n }\n };\n };\n\n const lro = new LroImpl(\n sendOperation,\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n options\n },\n deleteOperationSpec\n );\n return new LroEngine(lro, {\n resumeFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs\n });\n }\n\n /**\n * Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be\n * undone.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n options?: VirtualNetworkLinksDeleteOptionalParams\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n options\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets properties of a virtual network link to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param virtualNetworkLinkName The name of the virtual network link.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n virtualNetworkLinkName: string,\n options?: VirtualNetworkLinksGetOptionalParams\n ): Promise<VirtualNetworkLinksGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n dnsForwardingRulesetName,\n virtualNetworkLinkName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Lists virtual network links to a DNS forwarding ruleset.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n options?: VirtualNetworkLinksListOptionalParams\n ): Promise<VirtualNetworkLinksListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsForwardingRulesetName, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n dnsForwardingRulesetName: string,\n nextLink: string,\n options?: VirtualNetworkLinksListNextOptionalParams\n ): Promise<VirtualNetworkLinksListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, dnsForwardingRulesetName, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 201: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 202: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 204: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters10,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.virtualNetworkLinkName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 201: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 202: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n 204: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters11,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.virtualNetworkLinkName\n ],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.virtualNetworkLinkName\n ],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkLink\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName,\n Parameters.virtualNetworkLinkName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkLinkListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VirtualNetworkLinkListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.nextLink,\n Parameters.dnsForwardingRulesetName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n DnsResolversImpl,\n InboundEndpointsImpl,\n OutboundEndpointsImpl,\n DnsForwardingRulesetsImpl,\n ForwardingRulesImpl,\n VirtualNetworkLinksImpl\n} from \"./operations\";\nimport {\n DnsResolvers,\n InboundEndpoints,\n OutboundEndpoints,\n DnsForwardingRulesets,\n ForwardingRules,\n VirtualNetworkLinks\n} from \"./operationsInterfaces\";\nimport { DnsResolverManagementClientOptionalParams } from \"./models\";\n\nexport class DnsResolverManagementClient extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the DnsResolverManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The ID of the target subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: DnsResolverManagementClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n if (subscriptionId === undefined) {\n throw new Error(\"'subscriptionId' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: DnsResolverManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-dnsresolver/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.subscriptionId = subscriptionId;\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n this.apiVersion = options.apiVersion || \"2020-04-01-preview\";\n this.dnsResolvers = new DnsResolversImpl(this);\n this.inboundEndpoints = new InboundEndpointsImpl(this);\n this.outboundEndpoints = new OutboundEndpointsImpl(this);\n this.dnsForwardingRulesets = new DnsForwardingRulesetsImpl(this);\n this.forwardingRules = new ForwardingRulesImpl(this);\n this.virtualNetworkLinks = new VirtualNetworkLinksImpl(this);\n }\n\n dnsResolvers: DnsResolvers;\n inboundEndpoints: InboundEndpoints;\n outboundEndpoints: OutboundEndpoints;\n dnsForwardingRulesets: DnsForwardingRulesets;\n forwardingRules: ForwardingRules;\n virtualNetworkLinks: VirtualNetworkLinks;\n}\n"],"names":["KnownDnsResolverState","KnownProvisioningState","KnownCreatedByType","KnownIpAllocationMethod","KnownForwardingRuleState","DnsResolverMapper","DnsResolverPatchMapper","InboundEndpointMapper","InboundEndpointPatchMapper","OutboundEndpointMapper","OutboundEndpointPatchMapper","DnsForwardingRulesetMapper","DnsForwardingRulesetPatchMapper","ForwardingRuleMapper","ForwardingRulePatchMapper","VirtualNetworkLinkMapper","VirtualNetworkLinkPatchMapper","__asyncValues","__asyncDelegator","createOrUpdateOperationSpec","LroEngine","updateOperationSpec","deleteOperationSpec","getOperationSpec","listByResourceGroupOperationSpec","listOperationSpec","listByVirtualNetworkOperationSpec","listByResourceGroupNextOperationSpec","listNextOperationSpec","listByVirtualNetworkNextOperationSpec","serializer","coreClient","Mappers.DnsResolver","Mappers.CloudError","Parameters.parameters","Parameters.apiVersion","Parameters.$host","Parameters.subscriptionId","Parameters.resourceGroupName","Parameters.dnsResolverName","Parameters.contentType","Parameters.accept","Parameters.ifMatch","Parameters.ifNoneMatch","Parameters.parameters1","Mappers.DnsResolverListResult","Parameters.top","Mappers.SubResourceListResult","Parameters.virtualNetworkName","Parameters.nextLink","Mappers.InboundEndpoint","Parameters.parameters2","Parameters.inboundEndpointName","Parameters.parameters3","Mappers.InboundEndpointListResult","Mappers.OutboundEndpoint","Parameters.parameters4","Parameters.outboundEndpointName","Parameters.parameters5","Mappers.OutboundEndpointListResult","Mappers.DnsForwardingRuleset","Parameters.parameters6","Parameters.dnsForwardingRulesetName","Parameters.parameters7","Mappers.DnsForwardingRulesetListResult","Mappers.VirtualNetworkDnsForwardingRulesetListResult","Mappers.ForwardingRule","Parameters.parameters8","Parameters.forwardingRuleName","Parameters.parameters9","Mappers.ForwardingRuleListResult","Mappers.VirtualNetworkLink","Parameters.parameters10","Parameters.virtualNetworkLinkName","Parameters.parameters11","Mappers.VirtualNetworkLinkListResult"],"mappings":"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"}
|