@azure/arm-peering 2.0.0 → 2.0.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.
Files changed (187) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +11 -0
  3. package/dist/index.js +249 -168
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/cdnPeeringPrefixesListSample.d.ts +2 -0
  8. package/dist-esm/samples-dev/cdnPeeringPrefixesListSample.d.ts.map +1 -0
  9. package/dist-esm/samples-dev/cdnPeeringPrefixesListSample.js +44 -0
  10. package/dist-esm/samples-dev/cdnPeeringPrefixesListSample.js.map +1 -0
  11. package/dist-esm/samples-dev/checkServiceProviderAvailabilitySample.d.ts +2 -0
  12. package/dist-esm/samples-dev/checkServiceProviderAvailabilitySample.d.ts.map +1 -0
  13. package/dist-esm/samples-dev/checkServiceProviderAvailabilitySample.js +33 -0
  14. package/dist-esm/samples-dev/checkServiceProviderAvailabilitySample.js.map +1 -0
  15. package/dist-esm/samples-dev/connectionMonitorTestsCreateOrUpdateSample.d.ts +2 -0
  16. package/dist-esm/samples-dev/connectionMonitorTestsCreateOrUpdateSample.d.ts.map +1 -0
  17. package/dist-esm/samples-dev/connectionMonitorTestsCreateOrUpdateSample.js +38 -0
  18. package/dist-esm/samples-dev/connectionMonitorTestsCreateOrUpdateSample.js.map +1 -0
  19. package/dist-esm/samples-dev/connectionMonitorTestsDeleteSample.d.ts +2 -0
  20. package/dist-esm/samples-dev/connectionMonitorTestsDeleteSample.d.ts.map +1 -0
  21. package/dist-esm/samples-dev/connectionMonitorTestsDeleteSample.js +32 -0
  22. package/dist-esm/samples-dev/connectionMonitorTestsDeleteSample.js.map +1 -0
  23. package/dist-esm/samples-dev/connectionMonitorTestsGetSample.d.ts +2 -0
  24. package/dist-esm/samples-dev/connectionMonitorTestsGetSample.d.ts.map +1 -0
  25. package/dist-esm/samples-dev/connectionMonitorTestsGetSample.js +32 -0
  26. package/dist-esm/samples-dev/connectionMonitorTestsGetSample.js.map +1 -0
  27. package/dist-esm/samples-dev/connectionMonitorTestsListByPeeringServiceSample.d.ts +2 -0
  28. package/dist-esm/samples-dev/connectionMonitorTestsListByPeeringServiceSample.d.ts.map +1 -0
  29. package/dist-esm/samples-dev/connectionMonitorTestsListByPeeringServiceSample.js +45 -0
  30. package/dist-esm/samples-dev/connectionMonitorTestsListByPeeringServiceSample.js.map +1 -0
  31. package/dist-esm/samples-dev/legacyPeeringsListSample.d.ts +2 -0
  32. package/dist-esm/samples-dev/legacyPeeringsListSample.d.ts.map +1 -0
  33. package/dist-esm/samples-dev/legacyPeeringsListSample.js +45 -0
  34. package/dist-esm/samples-dev/legacyPeeringsListSample.js.map +1 -0
  35. package/dist-esm/samples-dev/lookingGlassInvokeSample.d.ts +2 -0
  36. package/dist-esm/samples-dev/lookingGlassInvokeSample.d.ts.map +1 -0
  37. package/dist-esm/samples-dev/lookingGlassInvokeSample.js +33 -0
  38. package/dist-esm/samples-dev/lookingGlassInvokeSample.js.map +1 -0
  39. package/dist-esm/samples-dev/operationsListSample.d.ts +2 -0
  40. package/dist-esm/samples-dev/operationsListSample.d.ts.map +1 -0
  41. package/dist-esm/samples-dev/operationsListSample.js +43 -0
  42. package/dist-esm/samples-dev/operationsListSample.js.map +1 -0
  43. package/dist-esm/samples-dev/peerAsnsCreateOrUpdateSample.d.ts +2 -0
  44. package/dist-esm/samples-dev/peerAsnsCreateOrUpdateSample.d.ts.map +1 -0
  45. package/dist-esm/samples-dev/peerAsnsCreateOrUpdateSample.js +43 -0
  46. package/dist-esm/samples-dev/peerAsnsCreateOrUpdateSample.js.map +1 -0
  47. package/dist-esm/samples-dev/peerAsnsDeleteSample.d.ts +2 -0
  48. package/dist-esm/samples-dev/peerAsnsDeleteSample.d.ts.map +1 -0
  49. package/dist-esm/samples-dev/peerAsnsDeleteSample.js +30 -0
  50. package/dist-esm/samples-dev/peerAsnsDeleteSample.js.map +1 -0
  51. package/dist-esm/samples-dev/peerAsnsGetSample.d.ts +2 -0
  52. package/dist-esm/samples-dev/peerAsnsGetSample.d.ts.map +1 -0
  53. package/dist-esm/samples-dev/peerAsnsGetSample.js +30 -0
  54. package/dist-esm/samples-dev/peerAsnsGetSample.js.map +1 -0
  55. package/dist-esm/samples-dev/peerAsnsListBySubscriptionSample.d.ts +2 -0
  56. package/dist-esm/samples-dev/peerAsnsListBySubscriptionSample.d.ts.map +1 -0
  57. package/dist-esm/samples-dev/peerAsnsListBySubscriptionSample.js +43 -0
  58. package/dist-esm/samples-dev/peerAsnsListBySubscriptionSample.js.map +1 -0
  59. package/dist-esm/samples-dev/peeringLocationsListSample.d.ts +2 -0
  60. package/dist-esm/samples-dev/peeringLocationsListSample.d.ts.map +1 -0
  61. package/dist-esm/samples-dev/peeringLocationsListSample.js +75 -0
  62. package/dist-esm/samples-dev/peeringLocationsListSample.js.map +1 -0
  63. package/dist-esm/samples-dev/peeringServiceCountriesListSample.d.ts +2 -0
  64. package/dist-esm/samples-dev/peeringServiceCountriesListSample.d.ts.map +1 -0
  65. package/dist-esm/samples-dev/peeringServiceCountriesListSample.js +43 -0
  66. package/dist-esm/samples-dev/peeringServiceCountriesListSample.js.map +1 -0
  67. package/dist-esm/samples-dev/peeringServiceLocationsListSample.d.ts +2 -0
  68. package/dist-esm/samples-dev/peeringServiceLocationsListSample.d.ts.map +1 -0
  69. package/dist-esm/samples-dev/peeringServiceLocationsListSample.js +43 -0
  70. package/dist-esm/samples-dev/peeringServiceLocationsListSample.js.map +1 -0
  71. package/dist-esm/samples-dev/peeringServiceProvidersListSample.d.ts +2 -0
  72. package/dist-esm/samples-dev/peeringServiceProvidersListSample.d.ts.map +1 -0
  73. package/dist-esm/samples-dev/peeringServiceProvidersListSample.js +43 -0
  74. package/dist-esm/samples-dev/peeringServiceProvidersListSample.js.map +1 -0
  75. package/dist-esm/samples-dev/peeringServicesCreateOrUpdateSample.d.ts +2 -0
  76. package/dist-esm/samples-dev/peeringServicesCreateOrUpdateSample.d.ts.map +1 -0
  77. package/dist-esm/samples-dev/peeringServicesCreateOrUpdateSample.js +38 -0
  78. package/dist-esm/samples-dev/peeringServicesCreateOrUpdateSample.js.map +1 -0
  79. package/dist-esm/samples-dev/peeringServicesDeleteSample.d.ts +2 -0
  80. package/dist-esm/samples-dev/peeringServicesDeleteSample.d.ts.map +1 -0
  81. package/dist-esm/samples-dev/peeringServicesDeleteSample.js +31 -0
  82. package/dist-esm/samples-dev/peeringServicesDeleteSample.js.map +1 -0
  83. package/dist-esm/samples-dev/peeringServicesGetSample.d.ts +2 -0
  84. package/dist-esm/samples-dev/peeringServicesGetSample.d.ts.map +1 -0
  85. package/dist-esm/samples-dev/peeringServicesGetSample.js +31 -0
  86. package/dist-esm/samples-dev/peeringServicesGetSample.js.map +1 -0
  87. package/dist-esm/samples-dev/peeringServicesInitializeConnectionMonitorSample.d.ts +2 -0
  88. package/dist-esm/samples-dev/peeringServicesInitializeConnectionMonitorSample.d.ts.map +1 -0
  89. package/dist-esm/samples-dev/peeringServicesInitializeConnectionMonitorSample.js +29 -0
  90. package/dist-esm/samples-dev/peeringServicesInitializeConnectionMonitorSample.js.map +1 -0
  91. package/dist-esm/samples-dev/peeringServicesListByResourceGroupSample.d.ts +2 -0
  92. package/dist-esm/samples-dev/peeringServicesListByResourceGroupSample.d.ts.map +1 -0
  93. package/dist-esm/samples-dev/peeringServicesListByResourceGroupSample.js +44 -0
  94. package/dist-esm/samples-dev/peeringServicesListByResourceGroupSample.js.map +1 -0
  95. package/dist-esm/samples-dev/peeringServicesListBySubscriptionSample.d.ts +2 -0
  96. package/dist-esm/samples-dev/peeringServicesListBySubscriptionSample.d.ts.map +1 -0
  97. package/dist-esm/samples-dev/peeringServicesListBySubscriptionSample.js +43 -0
  98. package/dist-esm/samples-dev/peeringServicesListBySubscriptionSample.js.map +1 -0
  99. package/dist-esm/samples-dev/peeringServicesUpdateSample.d.ts +2 -0
  100. package/dist-esm/samples-dev/peeringServicesUpdateSample.d.ts.map +1 -0
  101. package/dist-esm/samples-dev/peeringServicesUpdateSample.js +32 -0
  102. package/dist-esm/samples-dev/peeringServicesUpdateSample.js.map +1 -0
  103. package/dist-esm/samples-dev/peeringsCreateOrUpdateSample.d.ts +2 -0
  104. package/dist-esm/samples-dev/peeringsCreateOrUpdateSample.d.ts.map +1 -0
  105. package/dist-esm/samples-dev/peeringsCreateOrUpdateSample.js +165 -0
  106. package/dist-esm/samples-dev/peeringsCreateOrUpdateSample.js.map +1 -0
  107. package/dist-esm/samples-dev/peeringsDeleteSample.d.ts +2 -0
  108. package/dist-esm/samples-dev/peeringsDeleteSample.d.ts.map +1 -0
  109. package/dist-esm/samples-dev/peeringsDeleteSample.js +31 -0
  110. package/dist-esm/samples-dev/peeringsDeleteSample.js.map +1 -0
  111. package/dist-esm/samples-dev/peeringsGetSample.d.ts +2 -0
  112. package/dist-esm/samples-dev/peeringsGetSample.d.ts.map +1 -0
  113. package/dist-esm/samples-dev/peeringsGetSample.js +31 -0
  114. package/dist-esm/samples-dev/peeringsGetSample.js.map +1 -0
  115. package/dist-esm/samples-dev/peeringsListByResourceGroupSample.d.ts +2 -0
  116. package/dist-esm/samples-dev/peeringsListByResourceGroupSample.d.ts.map +1 -0
  117. package/dist-esm/samples-dev/peeringsListByResourceGroupSample.js +44 -0
  118. package/dist-esm/samples-dev/peeringsListByResourceGroupSample.js.map +1 -0
  119. package/dist-esm/samples-dev/peeringsListBySubscriptionSample.d.ts +2 -0
  120. package/dist-esm/samples-dev/peeringsListBySubscriptionSample.d.ts.map +1 -0
  121. package/dist-esm/samples-dev/peeringsListBySubscriptionSample.js +43 -0
  122. package/dist-esm/samples-dev/peeringsListBySubscriptionSample.js.map +1 -0
  123. package/dist-esm/samples-dev/peeringsUpdateSample.d.ts +2 -0
  124. package/dist-esm/samples-dev/peeringsUpdateSample.d.ts.map +1 -0
  125. package/dist-esm/samples-dev/peeringsUpdateSample.js +32 -0
  126. package/dist-esm/samples-dev/peeringsUpdateSample.js.map +1 -0
  127. package/dist-esm/samples-dev/prefixesCreateOrUpdateSample.d.ts +2 -0
  128. package/dist-esm/samples-dev/prefixesCreateOrUpdateSample.d.ts.map +1 -0
  129. package/dist-esm/samples-dev/prefixesCreateOrUpdateSample.js +36 -0
  130. package/dist-esm/samples-dev/prefixesCreateOrUpdateSample.js.map +1 -0
  131. package/dist-esm/samples-dev/prefixesDeleteSample.d.ts +2 -0
  132. package/dist-esm/samples-dev/prefixesDeleteSample.d.ts.map +1 -0
  133. package/dist-esm/samples-dev/prefixesDeleteSample.js +32 -0
  134. package/dist-esm/samples-dev/prefixesDeleteSample.js.map +1 -0
  135. package/dist-esm/samples-dev/prefixesGetSample.d.ts +2 -0
  136. package/dist-esm/samples-dev/prefixesGetSample.d.ts.map +1 -0
  137. package/dist-esm/samples-dev/prefixesGetSample.js +32 -0
  138. package/dist-esm/samples-dev/prefixesGetSample.js.map +1 -0
  139. package/dist-esm/samples-dev/prefixesListByPeeringServiceSample.d.ts +2 -0
  140. package/dist-esm/samples-dev/prefixesListByPeeringServiceSample.d.ts.map +1 -0
  141. package/dist-esm/samples-dev/prefixesListByPeeringServiceSample.js +45 -0
  142. package/dist-esm/samples-dev/prefixesListByPeeringServiceSample.js.map +1 -0
  143. package/dist-esm/samples-dev/receivedRoutesListByPeeringSample.d.ts +2 -0
  144. package/dist-esm/samples-dev/receivedRoutesListByPeeringSample.d.ts.map +1 -0
  145. package/dist-esm/samples-dev/receivedRoutesListByPeeringSample.js +55 -0
  146. package/dist-esm/samples-dev/receivedRoutesListByPeeringSample.js.map +1 -0
  147. package/dist-esm/samples-dev/registeredAsnsCreateOrUpdateSample.d.ts +2 -0
  148. package/dist-esm/samples-dev/registeredAsnsCreateOrUpdateSample.d.ts.map +1 -0
  149. package/dist-esm/samples-dev/registeredAsnsCreateOrUpdateSample.js +33 -0
  150. package/dist-esm/samples-dev/registeredAsnsCreateOrUpdateSample.js.map +1 -0
  151. package/dist-esm/samples-dev/registeredAsnsDeleteSample.d.ts +2 -0
  152. package/dist-esm/samples-dev/registeredAsnsDeleteSample.d.ts.map +1 -0
  153. package/dist-esm/samples-dev/registeredAsnsDeleteSample.js +32 -0
  154. package/dist-esm/samples-dev/registeredAsnsDeleteSample.js.map +1 -0
  155. package/dist-esm/samples-dev/registeredAsnsGetSample.d.ts +2 -0
  156. package/dist-esm/samples-dev/registeredAsnsGetSample.d.ts.map +1 -0
  157. package/dist-esm/samples-dev/registeredAsnsGetSample.js +32 -0
  158. package/dist-esm/samples-dev/registeredAsnsGetSample.js.map +1 -0
  159. package/dist-esm/samples-dev/registeredAsnsListByPeeringSample.d.ts +2 -0
  160. package/dist-esm/samples-dev/registeredAsnsListByPeeringSample.d.ts.map +1 -0
  161. package/dist-esm/samples-dev/registeredAsnsListByPeeringSample.js +45 -0
  162. package/dist-esm/samples-dev/registeredAsnsListByPeeringSample.js.map +1 -0
  163. package/dist-esm/samples-dev/registeredPrefixesCreateOrUpdateSample.d.ts +2 -0
  164. package/dist-esm/samples-dev/registeredPrefixesCreateOrUpdateSample.d.ts.map +1 -0
  165. package/dist-esm/samples-dev/registeredPrefixesCreateOrUpdateSample.js +33 -0
  166. package/dist-esm/samples-dev/registeredPrefixesCreateOrUpdateSample.js.map +1 -0
  167. package/dist-esm/samples-dev/registeredPrefixesDeleteSample.d.ts +2 -0
  168. package/dist-esm/samples-dev/registeredPrefixesDeleteSample.d.ts.map +1 -0
  169. package/dist-esm/samples-dev/registeredPrefixesDeleteSample.js +32 -0
  170. package/dist-esm/samples-dev/registeredPrefixesDeleteSample.js.map +1 -0
  171. package/dist-esm/samples-dev/registeredPrefixesGetSample.d.ts +2 -0
  172. package/dist-esm/samples-dev/registeredPrefixesGetSample.d.ts.map +1 -0
  173. package/dist-esm/samples-dev/registeredPrefixesGetSample.js +32 -0
  174. package/dist-esm/samples-dev/registeredPrefixesGetSample.js.map +1 -0
  175. package/dist-esm/samples-dev/registeredPrefixesListByPeeringSample.d.ts +2 -0
  176. package/dist-esm/samples-dev/registeredPrefixesListByPeeringSample.d.ts.map +1 -0
  177. package/dist-esm/samples-dev/registeredPrefixesListByPeeringSample.js +45 -0
  178. package/dist-esm/samples-dev/registeredPrefixesListByPeeringSample.js.map +1 -0
  179. package/dist-esm/src/peeringManagementClient.d.ts.map +1 -1
  180. package/dist-esm/src/peeringManagementClient.js +20 -2
  181. package/dist-esm/src/peeringManagementClient.js.map +1 -1
  182. package/package.json +30 -15
  183. package/rollup.config.js +6 -72
  184. package/src/peeringManagementClient.ts +27 -2
  185. package/tsconfig.json +18 -5
  186. package/types/tsdoc-metadata.json +1 -1
  187. package/LICENSE.txt +0 -21
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/cdnPeeringPrefixes.ts","../src/operations/legacyPeerings.ts","../src/operations/lookingGlass.ts","../src/operations/operations.ts","../src/operations/peerAsns.ts","../src/operations/peeringLocations.ts","../src/operations/registeredAsns.ts","../src/operations/registeredPrefixes.ts","../src/operations/peerings.ts","../src/operations/receivedRoutes.ts","../src/operations/connectionMonitorTests.ts","../src/operations/peeringServiceCountries.ts","../src/operations/peeringServiceLocations.ts","../src/operations/prefixes.ts","../src/operations/peeringServiceProviders.ts","../src/operations/peeringServices.ts","../src/peeringManagementClient.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/** The paginated list of CDN peering prefixes. */\nexport interface CdnPeeringPrefixListResult {\n /** The list of CDN peering prefixes. */\n value?: CdnPeeringPrefix[];\n /** The link to fetch the next page of CDN peering prefixes. */\n nextLink?: string;\n}\n\n/** The ARM resource class. */\nexport interface Resource {\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 ID of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The type of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n}\n\n/** The error response that indicates why an operation has failed. */\nexport interface ErrorResponse {\n /** The error detail that describes why an operation has failed. */\n error?: ErrorDetail;\n}\n\n/** The error detail that describes why an operation has failed. */\nexport interface ErrorDetail {\n /**\n * The error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * The error message.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n}\n\n/** Class for CheckServiceProviderAvailabilityInput */\nexport interface CheckServiceProviderAvailabilityInput {\n /** Gets or sets the peering service location. */\n peeringServiceLocation?: string;\n /** Gets or sets the peering service provider. */\n peeringServiceProvider?: string;\n}\n\n/** The paginated list of peerings. */\nexport interface PeeringListResult {\n /** The list of peerings. */\n value?: Peering[];\n /** The link to fetch the next page of peerings. */\n nextLink?: string;\n}\n\n/** The SKU that defines the tier and kind of the peering. */\nexport interface PeeringSku {\n /** The name of the peering SKU. */\n name?: string;\n /**\n * The tier of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tier?: Tier;\n /**\n * The family of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly family?: Family;\n /**\n * The size of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly size?: Size;\n}\n\n/** The properties that define a direct peering. */\nexport interface PeeringPropertiesDirect {\n /** The set of connections that constitute a direct peering. */\n connections?: DirectConnection[];\n /**\n * The flag that indicates whether or not the peering is used for peering service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly useForPeeringService?: boolean;\n /** The reference of the peer ASN. */\n peerAsn?: SubResource;\n /** The type of direct peering. */\n directPeeringType?: DirectPeeringType;\n}\n\n/** The properties that define a direct connection. */\nexport interface DirectConnection {\n /** The bandwidth of the connection. */\n bandwidthInMbps?: number;\n /**\n * The bandwidth that is actually provisioned.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisionedBandwidthInMbps?: number;\n /** The field indicating if Microsoft provides session ip addresses. */\n sessionAddressProvider?: SessionAddressProvider;\n /** The flag that indicates whether or not the connection is used for peering service. */\n useForPeeringService?: boolean;\n /**\n * The ID used within Microsoft's peering provisioning system to track the connection\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly microsoftTrackingId?: string;\n /** The PeeringDB.com ID of the facility at which the connection has to be set up. */\n peeringDBFacilityId?: number;\n /**\n * The state of the connection.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectionState?: ConnectionState;\n /** The BGP session associated with the connection. */\n bgpSession?: BgpSession;\n /** The unique identifier (GUID) for the connection. */\n connectionIdentifier?: string;\n /**\n * The error message related to the connection state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n}\n\n/** The properties that define a BGP session. */\nexport interface BgpSession {\n /** The IPv4 prefix that contains both ends' IPv4 addresses. */\n sessionPrefixV4?: string;\n /** The IPv6 prefix that contains both ends' IPv6 addresses. */\n sessionPrefixV6?: string;\n /** The IPv4 session address on Microsoft's end. */\n microsoftSessionIPv4Address?: string;\n /** The IPv6 session address on Microsoft's end. */\n microsoftSessionIPv6Address?: string;\n /** The IPv4 session address on peer's end. */\n peerSessionIPv4Address?: string;\n /** The IPv6 session address on peer's end. */\n peerSessionIPv6Address?: string;\n /**\n * The state of the IPv4 session.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly sessionStateV4?: SessionStateV4;\n /**\n * The state of the IPv6 session.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly sessionStateV6?: SessionStateV6;\n /** The maximum number of prefixes advertised over the IPv4 session. */\n maxPrefixesAdvertisedV4?: number;\n /** The maximum number of prefixes advertised over the IPv6 session. */\n maxPrefixesAdvertisedV6?: number;\n /** The MD5 authentication key of the session. */\n md5AuthenticationKey?: string;\n}\n\n/** The sub resource. */\nexport interface SubResource {\n /** The identifier of the referenced resource. */\n id?: string;\n}\n\n/** The properties that define an exchange peering. */\nexport interface PeeringPropertiesExchange {\n /** The set of connections that constitute an exchange peering. */\n connections?: ExchangeConnection[];\n /** The reference of the peer ASN. */\n peerAsn?: SubResource;\n}\n\n/** The properties that define an exchange connection. */\nexport interface ExchangeConnection {\n /** The PeeringDB.com ID of the facility at which the connection has to be set up. */\n peeringDBFacilityId?: number;\n /**\n * The state of the connection.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectionState?: ConnectionState;\n /** The BGP session associated with the connection. */\n bgpSession?: BgpSession;\n /** The unique identifier (GUID) for the connection. */\n connectionIdentifier?: string;\n /**\n * The error message related to the connection state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n}\n\n/** Looking glass output model */\nexport interface LookingGlassOutput {\n /** Invoked command */\n command?: Command;\n /** Output of the command */\n output?: string;\n}\n\n/** The paginated list of peering API operations. */\nexport interface OperationListResult {\n /** The list of peering API operations. */\n value?: Operation[];\n /** The link to fetch the next page of peering API operations. */\n nextLink?: string;\n}\n\n/** The peering API operation. */\nexport interface Operation {\n /**\n * The name of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The information related to the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly display?: OperationDisplayInfo;\n /**\n * The flag that indicates whether the operation applies to data plane.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isDataAction?: boolean;\n /**\n * Service specification payload.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly serviceSpecification?: ServiceSpecification;\n}\n\n/** The information related to the operation. */\nexport interface OperationDisplayInfo {\n /**\n * The name of the resource provider.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provider?: string;\n /**\n * The type of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resource?: string;\n /**\n * The name of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operation?: string;\n /**\n * The description of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** Service specification payload. */\nexport interface ServiceSpecification {\n /**\n * Specifications of the Metrics for Azure Monitoring.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly metricSpecifications?: MetricSpecification[];\n}\n\n/** Specifications of the Metrics for Azure Monitoring. */\nexport interface MetricSpecification {\n /**\n * Name of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Localized friendly display name of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * Localized friendly description of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayDescription?: string;\n /**\n * Unit that makes sense for the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly unit?: string;\n /**\n * Aggregation type will be set to one of the values: Average, Minimum, Maximum, Total, Count.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly aggregationType?: string;\n /**\n * Supported time grain types for the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly supportedTimeGrainTypes?: string[];\n /**\n * Dimensions of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly dimensions?: MetricDimension[];\n}\n\n/** Dimensions of the metric. */\nexport interface MetricDimension {\n /**\n * Name of the dimension.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Localized friendly display name of the dimension.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n}\n\n/** The contact detail class. */\nexport interface ContactDetail {\n /** The role of the contact. */\n role?: Role;\n /** The e-mail address of the contact. */\n email?: string;\n /** The phone number of the contact. */\n phone?: string;\n}\n\n/** The paginated list of peer ASNs. */\nexport interface PeerAsnListResult {\n /** The list of peer ASNs. */\n value?: PeerAsn[];\n /** The link to fetch the next page of peer ASNs. */\n nextLink?: string;\n}\n\n/** The paginated list of peering locations. */\nexport interface PeeringLocationListResult {\n /** The list of peering locations. */\n value?: PeeringLocation[];\n /** The link to fetch the next page of peering locations. */\n nextLink?: string;\n}\n\n/** The properties that define a direct peering location. */\nexport interface PeeringLocationPropertiesDirect {\n /** The list of direct peering facilities at the peering location. */\n peeringFacilities?: DirectPeeringFacility[];\n /** The list of bandwidth offers available at the peering location. */\n bandwidthOffers?: PeeringBandwidthOffer[];\n}\n\n/** The properties that define a direct peering facility. */\nexport interface DirectPeeringFacility {\n /** The address of the direct peering facility. */\n address?: string;\n /** The type of the direct peering. */\n directPeeringType?: DirectPeeringType;\n /** The PeeringDB.com ID of the facility. */\n peeringDBFacilityId?: number;\n /** The PeeringDB.com URL of the facility. */\n peeringDBFacilityLink?: string;\n}\n\n/** The properties that define a peering bandwidth offer. */\nexport interface PeeringBandwidthOffer {\n /** The name of the bandwidth offer. */\n offerName?: string;\n /** The value of the bandwidth offer in Mbps. */\n valueInMbps?: number;\n}\n\n/** The properties that define an exchange peering location. */\nexport interface PeeringLocationPropertiesExchange {\n /** The list of exchange peering facilities at the peering location. */\n peeringFacilities?: ExchangePeeringFacility[];\n}\n\n/** The properties that define an exchange peering facility. */\nexport interface ExchangePeeringFacility {\n /** The name of the exchange peering facility. */\n exchangeName?: string;\n /** The bandwidth of the connection between Microsoft and the exchange peering facility. */\n bandwidthInMbps?: number;\n /** The IPv4 address of Microsoft at the exchange peering facility. */\n microsoftIPv4Address?: string;\n /** The IPv6 address of Microsoft at the exchange peering facility. */\n microsoftIPv6Address?: string;\n /** The IPv4 prefixes associated with the exchange peering facility. */\n facilityIPv4Prefix?: string;\n /** The IPv6 prefixes associated with the exchange peering facility. */\n facilityIPv6Prefix?: string;\n /** The PeeringDB.com ID of the facility. */\n peeringDBFacilityId?: number;\n /** The PeeringDB.com URL of the facility. */\n peeringDBFacilityLink?: string;\n}\n\n/** The paginated list of peering registered ASNs. */\nexport interface PeeringRegisteredAsnListResult {\n /** The list of peering registered ASNs. */\n value?: PeeringRegisteredAsn[];\n /** The link to fetch the next page of peering registered ASNs. */\n nextLink?: string;\n}\n\n/** The paginated list of peering registered prefixes. */\nexport interface PeeringRegisteredPrefixListResult {\n /** The list of peering registered prefixes. */\n value?: PeeringRegisteredPrefix[];\n /** The link to fetch the next page of peering registered prefixes. */\n nextLink?: string;\n}\n\n/** The resource tags. */\nexport interface ResourceTags {\n /** Gets or sets the tags, a dictionary of descriptors arm object */\n tags?: { [propertyName: string]: string };\n}\n\n/** The paginated list of received routes for the peering. */\nexport interface PeeringReceivedRouteListResult {\n /** The list of received routes for the peering. */\n value?: PeeringReceivedRoute[];\n /** The link to fetch the next page of received routes for the peering. */\n nextLink?: string;\n}\n\n/** The properties that define a received route. */\nexport interface PeeringReceivedRoute {\n /**\n * The prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefix?: string;\n /**\n * The next hop for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextHop?: string;\n /**\n * The AS path for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly asPath?: string;\n /**\n * The origin AS change information for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly originAsValidationState?: string;\n /**\n * The RPKI validation state for the prefix and origin AS that's listed in the AS path.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly rpkiValidationState?: string;\n /**\n * The authority which holds the Route Origin Authorization record for the prefix, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly trustAnchor?: string;\n /**\n * The received timestamp associated with the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly receivedTimestamp?: string;\n}\n\n/** The paginated list of [T]. */\nexport interface ConnectionMonitorTestListResult {\n /** The list of [T]. */\n value?: ConnectionMonitorTest[];\n /** The link to fetch the next page of [T]. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service countries. */\nexport interface PeeringServiceCountryListResult {\n /** The list of peering service countries. */\n value?: PeeringServiceCountry[];\n /** The link to fetch the next page of peering service countries. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service locations. */\nexport interface PeeringServiceLocationListResult {\n /** The list of peering service locations. */\n value?: PeeringServiceLocation[];\n /** The link to fetch the next page of peering service locations. */\n nextLink?: string;\n}\n\n/** The details of the event associated with a prefix. */\nexport interface PeeringServicePrefixEvent {\n /**\n * The timestamp of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventTimestamp?: Date;\n /**\n * The type of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventType?: string;\n /**\n * The summary of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventSummary?: string;\n /**\n * The level of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventLevel?: string;\n /**\n * The description of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventDescription?: string;\n}\n\n/** The paginated list of peering service prefixes. */\nexport interface PeeringServicePrefixListResult {\n /** The list of peering service prefixes. */\n value?: PeeringServicePrefix[];\n /** The link to fetch the next page of peering service prefixes. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service providers. */\nexport interface PeeringServiceProviderListResult {\n /** The list of peering service providers. */\n value?: PeeringServiceProvider[];\n /** The link to fetch the next page of peering service providers. */\n nextLink?: string;\n}\n\n/** The SKU that defines the type of the peering service. */\nexport interface PeeringServiceSku {\n /** The name of the peering service SKU. */\n name?: string;\n}\n\n/** The properties that define a Log Analytics Workspace. */\nexport interface LogAnalyticsWorkspaceProperties {\n /**\n * The Workspace ID.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly workspaceID?: string;\n /**\n * The Workspace Key.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly key?: string;\n /**\n * The list of connected agents.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectedAgents?: string[];\n}\n\n/** The paginated list of peering services. */\nexport interface PeeringServiceListResult {\n /** The list of peering services. */\n value?: PeeringService[];\n /** The link to fetch the next page of peering services. */\n nextLink?: string;\n}\n\n/** The CDN peering prefix */\nexport type CdnPeeringPrefix = Resource & {\n /**\n * The prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefix?: string;\n /**\n * The Azure region.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azureRegion?: string;\n /**\n * The Azure service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azureService?: string;\n /**\n * The flag that indicates whether or not this is the primary region.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isPrimaryRegion?: boolean;\n /**\n * The BGP Community\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly bgpCommunity?: string;\n};\n\n/** Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location. */\nexport type Peering = Resource & {\n /** The SKU that defines the tier and kind of the peering. */\n sku: PeeringSku;\n /** The kind of the peering. */\n kind: Kind;\n /** The location of the resource. */\n location: string;\n /** The resource tags. */\n tags?: { [propertyName: string]: string };\n /** The properties that define a direct peering. */\n direct?: PeeringPropertiesDirect;\n /** The properties that define an exchange peering. */\n exchange?: PeeringPropertiesExchange;\n /** The location of the peering. */\n peeringLocation?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The essential information related to the peer's ASN. */\nexport type PeerAsn = Resource & {\n /** The Autonomous System Number (ASN) of the peer. */\n peerAsn?: number;\n /** The contact details of the peer. */\n peerContactDetail?: ContactDetail[];\n /** The name of the peer. */\n peerName?: string;\n /**\n * The validation state of the ASN associated with the peer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly validationState?: ValidationState;\n /**\n * The error message for the validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n};\n\n/** Peering location is where connectivity could be established to the Microsoft Cloud Edge. */\nexport type PeeringLocation = Resource & {\n /** The kind of peering that the peering location supports. */\n kind?: Kind;\n /** The properties that define a direct peering location. */\n direct?: PeeringLocationPropertiesDirect;\n /** The properties that define an exchange peering location. */\n exchange?: PeeringLocationPropertiesExchange;\n /** The name of the peering location. */\n peeringLocation?: string;\n /** The country in which the peering location exists. */\n country?: string;\n /** The Azure region associated with the peering location. */\n azureRegion?: string;\n};\n\n/** The customer's ASN that is registered by the peering service provider. */\nexport type PeeringRegisteredAsn = Resource & {\n /** The customer's ASN from which traffic originates. */\n asn?: number;\n /**\n * The peering service prefix key that is to be shared with the customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly peeringServicePrefixKey?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The customer's prefix that is registered by the peering service provider. */\nexport type PeeringRegisteredPrefix = Resource & {\n /** The customer's prefix from which traffic originates. */\n prefix?: string;\n /**\n * The prefix validation state.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefixValidationState?: PrefixValidationState;\n /**\n * The peering service prefix key that is to be shared with the customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly peeringServicePrefixKey?: string;\n /**\n * The error message associated with the validation state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The Connection Monitor Test class. */\nexport type ConnectionMonitorTest = Resource & {\n /** The Connection Monitor test source agent */\n sourceAgent?: string;\n /** The Connection Monitor test destination */\n destination?: string;\n /** The Connection Monitor test destination port */\n destinationPort?: number;\n /** The Connection Monitor test frequency in seconds */\n testFrequencyInSec?: number;\n /**\n * The flag that indicates if the Connection Monitor test is successful or not.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isTestSuccessful?: boolean;\n /**\n * The path representing the Connection Monitor test.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly path?: string[];\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The peering service country. */\nexport type PeeringServiceCountry = Resource & {};\n\n/** The peering service location. */\nexport type PeeringServiceLocation = Resource & {\n /** Country of the customer */\n country?: string;\n /** State of the customer */\n state?: string;\n /** Azure region for the location */\n azureRegion?: string;\n};\n\n/** The peering service prefix class. */\nexport type PeeringServicePrefix = Resource & {\n /** The prefix from which your traffic originates. */\n prefix?: string;\n /**\n * The prefix validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefixValidationState?: PrefixValidationState;\n /**\n * The prefix learned type\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly learnedType?: LearnedType;\n /**\n * The error message for validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n /**\n * The list of events for peering service prefix\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly events?: PeeringServicePrefixEvent[];\n /** The peering service prefix key */\n peeringServicePrefixKey?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** PeeringService provider */\nexport type PeeringServiceProvider = Resource & {\n /** The name of the service provider. */\n serviceProviderName?: string;\n /** The list of locations at which the service provider peers with Microsoft. */\n peeringLocations?: string[];\n};\n\n/** Peering Service */\nexport type PeeringService = Resource & {\n /** The SKU that defines the type of the peering service. */\n sku?: PeeringServiceSku;\n /** The location of the resource. */\n location: string;\n /** The resource tags. */\n tags?: { [propertyName: string]: string };\n /** The location (state/province) of the customer. */\n peeringServiceLocation?: string;\n /** The name of the service provider. */\n peeringServiceProvider?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /** The primary peering (Microsoft/service provider) location to be used for customer traffic. */\n providerPrimaryPeeringLocation?: string;\n /** The backup peering (Microsoft/service provider) location to be used for customer traffic. */\n providerBackupPeeringLocation?: string;\n /** The Log Analytics Workspace Properties */\n logAnalyticsWorkspaceProperties?: LogAnalyticsWorkspaceProperties;\n};\n\n/** Known values of {@link Enum0} that the service accepts. */\nexport enum KnownEnum0 {\n Available = \"Available\",\n Unavailable = \"Unavailable\"\n}\n\n/**\n * Defines values for Enum0. \\\n * {@link KnownEnum0} can be used interchangeably with Enum0,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Available** \\\n * **Unavailable**\n */\nexport type Enum0 = string;\n\n/** Known values of {@link LegacyPeeringsKind} that the service accepts. */\nexport enum KnownLegacyPeeringsKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for LegacyPeeringsKind. \\\n * {@link KnownLegacyPeeringsKind} can be used interchangeably with LegacyPeeringsKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type LegacyPeeringsKind = string;\n\n/** Known values of {@link Tier} that the service accepts. */\nexport enum KnownTier {\n Basic = \"Basic\",\n Premium = \"Premium\"\n}\n\n/**\n * Defines values for Tier. \\\n * {@link KnownTier} can be used interchangeably with Tier,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic** \\\n * **Premium**\n */\nexport type Tier = string;\n\n/** Known values of {@link Family} that the service accepts. */\nexport enum KnownFamily {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for Family. \\\n * {@link KnownFamily} can be used interchangeably with Family,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type Family = string;\n\n/** Known values of {@link Size} that the service accepts. */\nexport enum KnownSize {\n Free = \"Free\",\n Metered = \"Metered\",\n Unlimited = \"Unlimited\"\n}\n\n/**\n * Defines values for Size. \\\n * {@link KnownSize} can be used interchangeably with Size,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Free** \\\n * **Metered** \\\n * **Unlimited**\n */\nexport type Size = string;\n\n/** Known values of {@link Kind} that the service accepts. */\nexport enum KnownKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for Kind. \\\n * {@link KnownKind} can be used interchangeably with Kind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type Kind = string;\n\n/** Known values of {@link SessionAddressProvider} that the service accepts. */\nexport enum KnownSessionAddressProvider {\n Microsoft = \"Microsoft\",\n Peer = \"Peer\"\n}\n\n/**\n * Defines values for SessionAddressProvider. \\\n * {@link KnownSessionAddressProvider} can be used interchangeably with SessionAddressProvider,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft** \\\n * **Peer**\n */\nexport type SessionAddressProvider = string;\n\n/** Known values of {@link ConnectionState} that the service accepts. */\nexport enum KnownConnectionState {\n None = \"None\",\n PendingApproval = \"PendingApproval\",\n Approved = \"Approved\",\n ProvisioningStarted = \"ProvisioningStarted\",\n ProvisioningFailed = \"ProvisioningFailed\",\n ProvisioningCompleted = \"ProvisioningCompleted\",\n Validating = \"Validating\",\n Active = \"Active\"\n}\n\n/**\n * Defines values for ConnectionState. \\\n * {@link KnownConnectionState} can be used interchangeably with ConnectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **PendingApproval** \\\n * **Approved** \\\n * **ProvisioningStarted** \\\n * **ProvisioningFailed** \\\n * **ProvisioningCompleted** \\\n * **Validating** \\\n * **Active**\n */\nexport type ConnectionState = string;\n\n/** Known values of {@link SessionStateV4} that the service accepts. */\nexport enum KnownSessionStateV4 {\n None = \"None\",\n Idle = \"Idle\",\n Connect = \"Connect\",\n Active = \"Active\",\n OpenSent = \"OpenSent\",\n OpenConfirm = \"OpenConfirm\",\n OpenReceived = \"OpenReceived\",\n Established = \"Established\",\n PendingAdd = \"PendingAdd\",\n PendingUpdate = \"PendingUpdate\",\n PendingRemove = \"PendingRemove\"\n}\n\n/**\n * Defines values for SessionStateV4. \\\n * {@link KnownSessionStateV4} can be used interchangeably with SessionStateV4,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Idle** \\\n * **Connect** \\\n * **Active** \\\n * **OpenSent** \\\n * **OpenConfirm** \\\n * **OpenReceived** \\\n * **Established** \\\n * **PendingAdd** \\\n * **PendingUpdate** \\\n * **PendingRemove**\n */\nexport type SessionStateV4 = string;\n\n/** Known values of {@link SessionStateV6} that the service accepts. */\nexport enum KnownSessionStateV6 {\n None = \"None\",\n Idle = \"Idle\",\n Connect = \"Connect\",\n Active = \"Active\",\n OpenSent = \"OpenSent\",\n OpenConfirm = \"OpenConfirm\",\n OpenReceived = \"OpenReceived\",\n Established = \"Established\",\n PendingAdd = \"PendingAdd\",\n PendingUpdate = \"PendingUpdate\",\n PendingRemove = \"PendingRemove\"\n}\n\n/**\n * Defines values for SessionStateV6. \\\n * {@link KnownSessionStateV6} can be used interchangeably with SessionStateV6,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Idle** \\\n * **Connect** \\\n * **Active** \\\n * **OpenSent** \\\n * **OpenConfirm** \\\n * **OpenReceived** \\\n * **Established** \\\n * **PendingAdd** \\\n * **PendingUpdate** \\\n * **PendingRemove**\n */\nexport type SessionStateV6 = string;\n\n/** Known values of {@link DirectPeeringType} that the service accepts. */\nexport enum KnownDirectPeeringType {\n Edge = \"Edge\",\n Transit = \"Transit\",\n Cdn = \"Cdn\",\n Internal = \"Internal\",\n Ix = \"Ix\",\n IxRs = \"IxRs\",\n Voice = \"Voice\"\n}\n\n/**\n * Defines values for DirectPeeringType. \\\n * {@link KnownDirectPeeringType} can be used interchangeably with DirectPeeringType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Edge** \\\n * **Transit** \\\n * **Cdn** \\\n * **Internal** \\\n * **Ix** \\\n * **IxRs** \\\n * **Voice**\n */\nexport type DirectPeeringType = string;\n\n/** Known values of {@link ProvisioningState} that the service accepts. */\nexport enum KnownProvisioningState {\n Succeeded = \"Succeeded\",\n Updating = \"Updating\",\n Deleting = \"Deleting\",\n Failed = \"Failed\"\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 * **Succeeded** \\\n * **Updating** \\\n * **Deleting** \\\n * **Failed**\n */\nexport type ProvisioningState = string;\n\n/** Known values of {@link LookingGlassCommand} that the service accepts. */\nexport enum KnownLookingGlassCommand {\n Traceroute = \"Traceroute\",\n Ping = \"Ping\",\n BgpRoute = \"BgpRoute\"\n}\n\n/**\n * Defines values for LookingGlassCommand. \\\n * {@link KnownLookingGlassCommand} can be used interchangeably with LookingGlassCommand,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Traceroute** \\\n * **Ping** \\\n * **BgpRoute**\n */\nexport type LookingGlassCommand = string;\n\n/** Known values of {@link LookingGlassSourceType} that the service accepts. */\nexport enum KnownLookingGlassSourceType {\n EdgeSite = \"EdgeSite\",\n AzureRegion = \"AzureRegion\"\n}\n\n/**\n * Defines values for LookingGlassSourceType. \\\n * {@link KnownLookingGlassSourceType} can be used interchangeably with LookingGlassSourceType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EdgeSite** \\\n * **AzureRegion**\n */\nexport type LookingGlassSourceType = string;\n\n/** Known values of {@link Command} that the service accepts. */\nexport enum KnownCommand {\n Traceroute = \"Traceroute\",\n Ping = \"Ping\",\n BgpRoute = \"BgpRoute\"\n}\n\n/**\n * Defines values for Command. \\\n * {@link KnownCommand} can be used interchangeably with Command,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Traceroute** \\\n * **Ping** \\\n * **BgpRoute**\n */\nexport type Command = string;\n\n/** Known values of {@link Role} that the service accepts. */\nexport enum KnownRole {\n Noc = \"Noc\",\n Policy = \"Policy\",\n Technical = \"Technical\",\n Service = \"Service\",\n Escalation = \"Escalation\",\n Other = \"Other\"\n}\n\n/**\n * Defines values for Role. \\\n * {@link KnownRole} can be used interchangeably with Role,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Noc** \\\n * **Policy** \\\n * **Technical** \\\n * **Service** \\\n * **Escalation** \\\n * **Other**\n */\nexport type Role = string;\n\n/** Known values of {@link ValidationState} that the service accepts. */\nexport enum KnownValidationState {\n None = \"None\",\n Pending = \"Pending\",\n Approved = \"Approved\",\n Failed = \"Failed\"\n}\n\n/**\n * Defines values for ValidationState. \\\n * {@link KnownValidationState} can be used interchangeably with ValidationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Pending** \\\n * **Approved** \\\n * **Failed**\n */\nexport type ValidationState = string;\n\n/** Known values of {@link PeeringLocationsKind} that the service accepts. */\nexport enum KnownPeeringLocationsKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for PeeringLocationsKind. \\\n * {@link KnownPeeringLocationsKind} can be used interchangeably with PeeringLocationsKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type PeeringLocationsKind = string;\n\n/** Known values of {@link PeeringLocationsDirectPeeringType} that the service accepts. */\nexport enum KnownPeeringLocationsDirectPeeringType {\n Edge = \"Edge\",\n Transit = \"Transit\",\n Cdn = \"Cdn\",\n Internal = \"Internal\",\n Ix = \"Ix\",\n IxRs = \"IxRs\",\n Voice = \"Voice\"\n}\n\n/**\n * Defines values for PeeringLocationsDirectPeeringType. \\\n * {@link KnownPeeringLocationsDirectPeeringType} can be used interchangeably with PeeringLocationsDirectPeeringType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Edge** \\\n * **Transit** \\\n * **Cdn** \\\n * **Internal** \\\n * **Ix** \\\n * **IxRs** \\\n * **Voice**\n */\nexport type PeeringLocationsDirectPeeringType = string;\n\n/** Known values of {@link PrefixValidationState} that the service accepts. */\nexport enum KnownPrefixValidationState {\n None = \"None\",\n Invalid = \"Invalid\",\n Verified = \"Verified\",\n Failed = \"Failed\",\n Pending = \"Pending\",\n Warning = \"Warning\",\n Unknown = \"Unknown\"\n}\n\n/**\n * Defines values for PrefixValidationState. \\\n * {@link KnownPrefixValidationState} can be used interchangeably with PrefixValidationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Invalid** \\\n * **Verified** \\\n * **Failed** \\\n * **Pending** \\\n * **Warning** \\\n * **Unknown**\n */\nexport type PrefixValidationState = string;\n\n/** Known values of {@link LearnedType} that the service accepts. */\nexport enum KnownLearnedType {\n None = \"None\",\n ViaServiceProvider = \"ViaServiceProvider\",\n ViaSession = \"ViaSession\"\n}\n\n/**\n * Defines values for LearnedType. \\\n * {@link KnownLearnedType} can be used interchangeably with LearnedType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **ViaServiceProvider** \\\n * **ViaSession**\n */\nexport type LearnedType = string;\n\n/** Optional parameters. */\nexport interface CdnPeeringPrefixesListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type CdnPeeringPrefixesListResponse = CdnPeeringPrefixListResult;\n\n/** Optional parameters. */\nexport interface CdnPeeringPrefixesListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type CdnPeeringPrefixesListNextResponse = CdnPeeringPrefixListResult;\n\n/** Optional parameters. */\nexport interface CheckServiceProviderAvailabilityOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the checkServiceProviderAvailability operation. */\nexport type CheckServiceProviderAvailabilityResponse = {\n /** The parsed response body. */\n body: Enum0;\n};\n\n/** Optional parameters. */\nexport interface LegacyPeeringsListOptionalParams\n extends coreClient.OperationOptions {\n /** The ASN number associated with a legacy peering. */\n asn?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type LegacyPeeringsListResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface LegacyPeeringsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The ASN number associated with a legacy peering. */\n asn?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type LegacyPeeringsListNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface LookingGlassInvokeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the invoke operation. */\nexport type LookingGlassInvokeResponse = LookingGlassOutput;\n\n/** Optional parameters. */\nexport interface OperationsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type OperationsListResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface OperationsListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type OperationsListNextResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface PeerAsnsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeerAsnsGetResponse = PeerAsn;\n\n/** Optional parameters. */\nexport interface PeerAsnsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeerAsnsCreateOrUpdateResponse = PeerAsn;\n\n/** Optional parameters. */\nexport interface PeerAsnsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeerAsnsListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeerAsnsListBySubscriptionResponse = PeerAsnListResult;\n\n/** Optional parameters. */\nexport interface PeerAsnsListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeerAsnsListBySubscriptionNextResponse = PeerAsnListResult;\n\n/** Optional parameters. */\nexport interface PeeringLocationsListOptionalParams\n extends coreClient.OperationOptions {\n /** The type of direct peering. */\n directPeeringType?: PeeringLocationsDirectPeeringType;\n}\n\n/** Contains response data for the list operation. */\nexport type PeeringLocationsListResponse = PeeringLocationListResult;\n\n/** Optional parameters. */\nexport interface PeeringLocationsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The type of direct peering. */\n directPeeringType?: PeeringLocationsDirectPeeringType;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringLocationsListNextResponse = PeeringLocationListResult;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type RegisteredAsnsGetResponse = PeeringRegisteredAsn;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type RegisteredAsnsCreateOrUpdateResponse = PeeringRegisteredAsn;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface RegisteredAsnsListByPeeringOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeering operation. */\nexport type RegisteredAsnsListByPeeringResponse = PeeringRegisteredAsnListResult;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type RegisteredAsnsListByPeeringNextResponse = PeeringRegisteredAsnListResult;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type RegisteredPrefixesGetResponse = PeeringRegisteredPrefix;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type RegisteredPrefixesCreateOrUpdateResponse = PeeringRegisteredPrefix;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesListByPeeringOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeering operation. */\nexport type RegisteredPrefixesListByPeeringResponse = PeeringRegisteredPrefixListResult;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type RegisteredPrefixesListByPeeringNextResponse = PeeringRegisteredPrefixListResult;\n\n/** Optional parameters. */\nexport interface PeeringsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeeringsGetResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeeringsCreateOrUpdateResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PeeringsUpdateResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type PeeringsListByResourceGroupResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeeringsListBySubscriptionResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type PeeringsListByResourceGroupNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeeringsListBySubscriptionNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface ReceivedRoutesListByPeeringOptionalParams\n extends coreClient.OperationOptions {\n /** The optional prefix that can be used to filter the routes. */\n prefix?: string;\n /** The optional AS path that can be used to filter the routes. */\n asPath?: string;\n /** The optional origin AS validation state that can be used to filter the routes. */\n originAsValidationState?: string;\n /** The optional RPKI validation state that can be used to filter the routes. */\n rpkiValidationState?: string;\n /** The optional page continuation token that is used in the event of paginated result. */\n skipToken?: string;\n}\n\n/** Contains response data for the listByPeering operation. */\nexport type ReceivedRoutesListByPeeringResponse = PeeringReceivedRouteListResult;\n\n/** Optional parameters. */\nexport interface ReceivedRoutesListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {\n /** The optional prefix that can be used to filter the routes. */\n prefix?: string;\n /** The optional AS path that can be used to filter the routes. */\n asPath?: string;\n /** The optional origin AS validation state that can be used to filter the routes. */\n originAsValidationState?: string;\n /** The optional RPKI validation state that can be used to filter the routes. */\n rpkiValidationState?: string;\n /** The optional page continuation token that is used in the event of paginated result. */\n skipToken?: string;\n}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type ReceivedRoutesListByPeeringNextResponse = PeeringReceivedRouteListResult;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type ConnectionMonitorTestsGetResponse = ConnectionMonitorTest;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type ConnectionMonitorTestsCreateOrUpdateResponse = ConnectionMonitorTest;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsListByPeeringServiceOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringService operation. */\nexport type ConnectionMonitorTestsListByPeeringServiceResponse = ConnectionMonitorTestListResult;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsListByPeeringServiceNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringServiceNext operation. */\nexport type ConnectionMonitorTestsListByPeeringServiceNextResponse = ConnectionMonitorTestListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceCountriesListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceCountriesListResponse = PeeringServiceCountryListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceCountriesListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceCountriesListNextResponse = PeeringServiceCountryListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceLocationsListOptionalParams\n extends coreClient.OperationOptions {\n /** The country of interest, in which the locations are to be present. */\n country?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceLocationsListResponse = PeeringServiceLocationListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceLocationsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The country of interest, in which the locations are to be present. */\n country?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceLocationsListNextResponse = PeeringServiceLocationListResult;\n\n/** Optional parameters. */\nexport interface PrefixesGetOptionalParams extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type PrefixesGetResponse = PeeringServicePrefix;\n\n/** Optional parameters. */\nexport interface PrefixesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PrefixesCreateOrUpdateResponse = PeeringServicePrefix;\n\n/** Optional parameters. */\nexport interface PrefixesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PrefixesListByPeeringServiceOptionalParams\n extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the listByPeeringService operation. */\nexport type PrefixesListByPeeringServiceResponse = PeeringServicePrefixListResult;\n\n/** Optional parameters. */\nexport interface PrefixesListByPeeringServiceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the listByPeeringServiceNext operation. */\nexport type PrefixesListByPeeringServiceNextResponse = PeeringServicePrefixListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceProvidersListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceProvidersListResponse = PeeringServiceProviderListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceProvidersListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceProvidersListNextResponse = PeeringServiceProviderListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeeringServicesGetResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeeringServicesCreateOrUpdateResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringServicesUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PeeringServicesUpdateResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type PeeringServicesListByResourceGroupResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeeringServicesListBySubscriptionResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesInitializeConnectionMonitorOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringServicesListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type PeeringServicesListByResourceGroupNextResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeeringServicesListBySubscriptionNextResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringManagementClientOptionalParams\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 CdnPeeringPrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\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 ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorDetail\"\n }\n }\n }\n }\n};\n\nexport const ErrorDetail: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorDetail\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CheckServiceProviderAvailabilityInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CheckServiceProviderAvailabilityInput\",\n modelProperties: {\n peeringServiceLocation: {\n serializedName: \"peeringServiceLocation\",\n type: {\n name: \"String\"\n }\n },\n peeringServiceProvider: {\n serializedName: \"peeringServiceProvider\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Peering\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringSku: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringSku\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tier: {\n serializedName: \"tier\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n family: {\n serializedName: \"family\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringPropertiesDirect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesDirect\",\n modelProperties: {\n connections: {\n serializedName: \"connections\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DirectConnection\"\n }\n }\n }\n },\n useForPeeringService: {\n serializedName: \"useForPeeringService\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n peerAsn: {\n serializedName: \"peerAsn\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n directPeeringType: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DirectConnection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DirectConnection\",\n modelProperties: {\n bandwidthInMbps: {\n serializedName: \"bandwidthInMbps\",\n type: {\n name: \"Number\"\n }\n },\n provisionedBandwidthInMbps: {\n serializedName: \"provisionedBandwidthInMbps\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n sessionAddressProvider: {\n serializedName: \"sessionAddressProvider\",\n type: {\n name: \"String\"\n }\n },\n useForPeeringService: {\n serializedName: \"useForPeeringService\",\n type: {\n name: \"Boolean\"\n }\n },\n microsoftTrackingId: {\n serializedName: \"microsoftTrackingId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n connectionState: {\n serializedName: \"connectionState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n bgpSession: {\n serializedName: \"bgpSession\",\n type: {\n name: \"Composite\",\n className: \"BgpSession\"\n }\n },\n connectionIdentifier: {\n serializedName: \"connectionIdentifier\",\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BgpSession: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BgpSession\",\n modelProperties: {\n sessionPrefixV4: {\n serializedName: \"sessionPrefixV4\",\n type: {\n name: \"String\"\n }\n },\n sessionPrefixV6: {\n serializedName: \"sessionPrefixV6\",\n type: {\n name: \"String\"\n }\n },\n microsoftSessionIPv4Address: {\n serializedName: \"microsoftSessionIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n microsoftSessionIPv6Address: {\n serializedName: \"microsoftSessionIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n peerSessionIPv4Address: {\n serializedName: \"peerSessionIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n peerSessionIPv6Address: {\n serializedName: \"peerSessionIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n sessionStateV4: {\n serializedName: \"sessionStateV4\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n sessionStateV6: {\n serializedName: \"sessionStateV6\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n maxPrefixesAdvertisedV4: {\n serializedName: \"maxPrefixesAdvertisedV4\",\n type: {\n name: \"Number\"\n }\n },\n maxPrefixesAdvertisedV6: {\n serializedName: \"maxPrefixesAdvertisedV6\",\n type: {\n name: \"Number\"\n }\n },\n md5AuthenticationKey: {\n serializedName: \"md5AuthenticationKey\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\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 PeeringPropertiesExchange: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesExchange\",\n modelProperties: {\n connections: {\n serializedName: \"connections\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ExchangeConnection\"\n }\n }\n }\n },\n peerAsn: {\n serializedName: \"peerAsn\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const ExchangeConnection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ExchangeConnection\",\n modelProperties: {\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n connectionState: {\n serializedName: \"connectionState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n bgpSession: {\n serializedName: \"bgpSession\",\n type: {\n name: \"Composite\",\n className: \"BgpSession\"\n }\n },\n connectionIdentifier: {\n serializedName: \"connectionIdentifier\",\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LookingGlassOutput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LookingGlassOutput\",\n modelProperties: {\n command: {\n serializedName: \"command\",\n type: {\n name: \"String\"\n }\n },\n output: {\n serializedName: \"output\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Operation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Operation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Operation\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n display: {\n serializedName: \"display\",\n type: {\n name: \"Composite\",\n className: \"OperationDisplayInfo\"\n }\n },\n isDataAction: {\n serializedName: \"isDataAction\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n serviceSpecification: {\n serializedName: \"properties.serviceSpecification\",\n type: {\n name: \"Composite\",\n className: \"ServiceSpecification\"\n }\n }\n }\n }\n};\n\nexport const OperationDisplayInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDisplayInfo\",\n modelProperties: {\n provider: {\n serializedName: \"provider\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resource: {\n serializedName: \"resource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operation: {\n serializedName: \"operation\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ServiceSpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceSpecification\",\n modelProperties: {\n metricSpecifications: {\n serializedName: \"metricSpecifications\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricSpecification\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MetricSpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricSpecification\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayDescription: {\n serializedName: \"displayDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n unit: {\n serializedName: \"unit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n aggregationType: {\n serializedName: \"aggregationType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n supportedTimeGrainTypes: {\n serializedName: \"supportedTimeGrainTypes\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n dimensions: {\n serializedName: \"dimensions\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricDimension\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MetricDimension: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricDimension\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContactDetail: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContactDetail\",\n modelProperties: {\n role: {\n serializedName: \"role\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phone: {\n serializedName: \"phone\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeerAsnListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerAsnListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeerAsn\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringLocation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationPropertiesDirect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesDirect\",\n modelProperties: {\n peeringFacilities: {\n serializedName: \"peeringFacilities\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DirectPeeringFacility\"\n }\n }\n }\n },\n bandwidthOffers: {\n serializedName: \"bandwidthOffers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringBandwidthOffer\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DirectPeeringFacility: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DirectPeeringFacility\",\n modelProperties: {\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n directPeeringType: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n peeringDBFacilityLink: {\n serializedName: \"peeringDBFacilityLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringBandwidthOffer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringBandwidthOffer\",\n modelProperties: {\n offerName: {\n serializedName: \"offerName\",\n type: {\n name: \"String\"\n }\n },\n valueInMbps: {\n serializedName: \"valueInMbps\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationPropertiesExchange: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesExchange\",\n modelProperties: {\n peeringFacilities: {\n serializedName: \"peeringFacilities\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ExchangePeeringFacility\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ExchangePeeringFacility: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ExchangePeeringFacility\",\n modelProperties: {\n exchangeName: {\n serializedName: \"exchangeName\",\n type: {\n name: \"String\"\n }\n },\n bandwidthInMbps: {\n serializedName: \"bandwidthInMbps\",\n type: {\n name: \"Number\"\n }\n },\n microsoftIPv4Address: {\n serializedName: \"microsoftIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n microsoftIPv6Address: {\n serializedName: \"microsoftIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n facilityIPv4Prefix: {\n serializedName: \"facilityIPv4Prefix\",\n type: {\n name: \"String\"\n }\n },\n facilityIPv6Prefix: {\n serializedName: \"facilityIPv6Prefix\",\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n peeringDBFacilityLink: {\n serializedName: \"peeringDBFacilityLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredAsnListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsnListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsn\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredPrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ResourceTags: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceTags\",\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 PeeringReceivedRouteListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRouteListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRoute\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringReceivedRoute: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRoute\",\n modelProperties: {\n prefix: {\n serializedName: \"prefix\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n nextHop: {\n serializedName: \"nextHop\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n asPath: {\n serializedName: \"asPath\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n originAsValidationState: {\n serializedName: \"originAsValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n rpkiValidationState: {\n serializedName: \"rpkiValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n trustAnchor: {\n serializedName: \"trustAnchor\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n receivedTimestamp: {\n serializedName: \"receivedTimestamp\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ConnectionMonitorTestListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTestListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTest\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceCountryListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountryListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountry\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceLocationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefixEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixEvent\",\n modelProperties: {\n eventTimestamp: {\n serializedName: \"eventTimestamp\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n eventType: {\n serializedName: \"eventType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventSummary: {\n serializedName: \"eventSummary\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventLevel: {\n serializedName: \"eventLevel\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventDescription: {\n serializedName: \"eventDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceProviderListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProviderListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProvider\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceSku: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceSku\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LogAnalyticsWorkspaceProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LogAnalyticsWorkspaceProperties\",\n modelProperties: {\n workspaceID: {\n serializedName: \"workspaceID\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n connectedAgents: {\n serializedName: \"connectedAgents\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PeeringServiceListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringService\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CdnPeeringPrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azureService: {\n serializedName: \"properties.azureService\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isPrimaryRegion: {\n serializedName: \"properties.isPrimaryRegion\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n bgpCommunity: {\n serializedName: \"properties.bgpCommunity\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Peering: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Peering\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sku: {\n serializedName: \"sku\",\n type: {\n name: \"Composite\",\n className: \"PeeringSku\"\n }\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n direct: {\n serializedName: \"properties.direct\",\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesDirect\"\n }\n },\n exchange: {\n serializedName: \"properties.exchange\",\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesExchange\"\n }\n },\n peeringLocation: {\n serializedName: \"properties.peeringLocation\",\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 PeerAsn: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerAsn\",\n modelProperties: {\n ...Resource.type.modelProperties,\n peerAsn: {\n serializedName: \"properties.peerAsn\",\n type: {\n name: \"Number\"\n }\n },\n peerContactDetail: {\n serializedName: \"properties.peerContactDetail\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ContactDetail\"\n }\n }\n }\n },\n peerName: {\n serializedName: \"properties.peerName\",\n type: {\n name: \"String\"\n }\n },\n validationState: {\n serializedName: \"properties.validationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocation\",\n modelProperties: {\n ...Resource.type.modelProperties,\n kind: {\n serializedName: \"kind\",\n type: {\n name: \"String\"\n }\n },\n direct: {\n serializedName: \"properties.direct\",\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesDirect\"\n }\n },\n exchange: {\n serializedName: \"properties.exchange\",\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesExchange\"\n }\n },\n peeringLocation: {\n serializedName: \"properties.peeringLocation\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredAsn: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsn\",\n modelProperties: {\n ...Resource.type.modelProperties,\n asn: {\n serializedName: \"properties.asn\",\n type: {\n name: \"Number\"\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\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 }\n }\n};\n\nexport const PeeringRegisteredPrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n type: {\n name: \"String\"\n }\n },\n prefixValidationState: {\n serializedName: \"properties.prefixValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\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 }\n }\n};\n\nexport const ConnectionMonitorTest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTest\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sourceAgent: {\n serializedName: \"properties.sourceAgent\",\n type: {\n name: \"String\"\n }\n },\n destination: {\n serializedName: \"properties.destination\",\n type: {\n name: \"String\"\n }\n },\n destinationPort: {\n serializedName: \"properties.destinationPort\",\n type: {\n name: \"Number\"\n }\n },\n testFrequencyInSec: {\n serializedName: \"properties.testFrequencyInSec\",\n type: {\n name: \"Number\"\n }\n },\n isTestSuccessful: {\n serializedName: \"properties.isTestSuccessful\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n path: {\n serializedName: \"properties.path\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceCountry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountry\",\n modelProperties: {\n ...Resource.type.modelProperties\n }\n }\n};\n\nexport const PeeringServiceLocation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocation\",\n modelProperties: {\n ...Resource.type.modelProperties,\n country: {\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n state: {\n serializedName: \"properties.state\",\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n type: {\n name: \"String\"\n }\n },\n prefixValidationState: {\n serializedName: \"properties.prefixValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n learnedType: {\n serializedName: \"properties.learnedType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n events: {\n serializedName: \"properties.events\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixEvent\"\n }\n }\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\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 PeeringServiceProvider: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProvider\",\n modelProperties: {\n ...Resource.type.modelProperties,\n serviceProviderName: {\n serializedName: \"properties.serviceProviderName\",\n type: {\n name: \"String\"\n }\n },\n peeringLocations: {\n serializedName: \"properties.peeringLocations\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PeeringService: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringService\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sku: {\n serializedName: \"sku\",\n type: {\n name: \"Composite\",\n className: \"PeeringServiceSku\"\n }\n },\n location: {\n serializedName: \"location\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n peeringServiceLocation: {\n serializedName: \"properties.peeringServiceLocation\",\n type: {\n name: \"String\"\n }\n },\n peeringServiceProvider: {\n serializedName: \"properties.peeringServiceProvider\",\n type: {\n name: \"String\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n providerPrimaryPeeringLocation: {\n serializedName: \"properties.providerPrimaryPeeringLocation\",\n type: {\n name: \"String\"\n }\n },\n providerBackupPeeringLocation: {\n serializedName: \"properties.providerBackupPeeringLocation\",\n type: {\n name: \"String\"\n }\n },\n logAnalyticsWorkspaceProperties: {\n serializedName: \"properties.logAnalyticsWorkspaceProperties\",\n type: {\n name: \"Composite\",\n className: \"LogAnalyticsWorkspaceProperties\"\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 CheckServiceProviderAvailabilityInput as CheckServiceProviderAvailabilityInputMapper,\n PeerAsn as PeerAsnMapper,\n PeeringRegisteredAsn as PeeringRegisteredAsnMapper,\n PeeringRegisteredPrefix as PeeringRegisteredPrefixMapper,\n Peering as PeeringMapper,\n ResourceTags as ResourceTagsMapper,\n ConnectionMonitorTest as ConnectionMonitorTestMapper,\n PeeringServicePrefix as PeeringServicePrefixMapper,\n PeeringService as PeeringServiceMapper\n} from \"../models/mappers\";\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 peeringLocation: OperationQueryParameter = {\n parameterPath: \"peeringLocation\",\n mapper: {\n serializedName: \"peeringLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\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 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 checkServiceProviderAvailabilityInput: OperationParameter = {\n parameterPath: \"checkServiceProviderAvailabilityInput\",\n mapper: CheckServiceProviderAvailabilityInputMapper\n};\n\nexport const kind: OperationQueryParameter = {\n parameterPath: \"kind\",\n mapper: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const asn: OperationQueryParameter = {\n parameterPath: [\"options\", \"asn\"],\n mapper: {\n serializedName: \"asn\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const command: OperationQueryParameter = {\n parameterPath: \"command\",\n mapper: {\n serializedName: \"command\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sourceType: OperationQueryParameter = {\n parameterPath: \"sourceType\",\n mapper: {\n serializedName: \"sourceType\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sourceLocation: OperationQueryParameter = {\n parameterPath: \"sourceLocation\",\n mapper: {\n serializedName: \"sourceLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const destinationIP: OperationQueryParameter = {\n parameterPath: \"destinationIP\",\n mapper: {\n serializedName: \"destinationIP\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peerAsnName: OperationURLParameter = {\n parameterPath: \"peerAsnName\",\n mapper: {\n serializedName: \"peerAsnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peerAsn: OperationParameter = {\n parameterPath: \"peerAsn\",\n mapper: PeerAsnMapper\n};\n\nexport const kind1: OperationQueryParameter = {\n parameterPath: \"kind\",\n mapper: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const directPeeringType: OperationQueryParameter = {\n parameterPath: [\"options\", \"directPeeringType\"],\n mapper: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const resourceGroupName: OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n serializedName: \"resourceGroupName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringName: OperationURLParameter = {\n parameterPath: \"peeringName\",\n mapper: {\n serializedName: \"peeringName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredAsnName: OperationURLParameter = {\n parameterPath: \"registeredAsnName\",\n mapper: {\n serializedName: \"registeredAsnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredAsn: OperationParameter = {\n parameterPath: \"registeredAsn\",\n mapper: PeeringRegisteredAsnMapper\n};\n\nexport const registeredPrefixName: OperationURLParameter = {\n parameterPath: \"registeredPrefixName\",\n mapper: {\n serializedName: \"registeredPrefixName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredPrefix: OperationParameter = {\n parameterPath: \"registeredPrefix\",\n mapper: PeeringRegisteredPrefixMapper\n};\n\nexport const peering: OperationParameter = {\n parameterPath: \"peering\",\n mapper: PeeringMapper\n};\n\nexport const tags: OperationParameter = {\n parameterPath: \"tags\",\n mapper: ResourceTagsMapper\n};\n\nexport const prefix: OperationQueryParameter = {\n parameterPath: [\"options\", \"prefix\"],\n mapper: {\n serializedName: \"prefix\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const asPath: OperationQueryParameter = {\n parameterPath: [\"options\", \"asPath\"],\n mapper: {\n serializedName: \"asPath\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const originAsValidationState: OperationQueryParameter = {\n parameterPath: [\"options\", \"originAsValidationState\"],\n mapper: {\n serializedName: \"originAsValidationState\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const rpkiValidationState: OperationQueryParameter = {\n parameterPath: [\"options\", \"rpkiValidationState\"],\n mapper: {\n serializedName: \"rpkiValidationState\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const skipToken: OperationQueryParameter = {\n parameterPath: [\"options\", \"skipToken\"],\n mapper: {\n serializedName: \"$skipToken\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringServiceName: OperationURLParameter = {\n parameterPath: \"peeringServiceName\",\n mapper: {\n serializedName: \"peeringServiceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const connectionMonitorTestName: OperationURLParameter = {\n parameterPath: \"connectionMonitorTestName\",\n mapper: {\n serializedName: \"connectionMonitorTestName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const connectionMonitorTest: OperationParameter = {\n parameterPath: \"connectionMonitorTest\",\n mapper: ConnectionMonitorTestMapper\n};\n\nexport const country: OperationQueryParameter = {\n parameterPath: [\"options\", \"country\"],\n mapper: {\n serializedName: \"country\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const prefixName: OperationURLParameter = {\n parameterPath: \"prefixName\",\n mapper: {\n serializedName: \"prefixName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const expand: OperationQueryParameter = {\n parameterPath: [\"options\", \"expand\"],\n mapper: {\n serializedName: \"$expand\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringServicePrefix: OperationParameter = {\n parameterPath: \"peeringServicePrefix\",\n mapper: PeeringServicePrefixMapper\n};\n\nexport const peeringService: OperationParameter = {\n parameterPath: \"peeringService\",\n mapper: PeeringServiceMapper\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 { CdnPeeringPrefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n CdnPeeringPrefix,\n CdnPeeringPrefixesListNextOptionalParams,\n CdnPeeringPrefixesListOptionalParams,\n CdnPeeringPrefixesListResponse,\n CdnPeeringPrefixesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing CdnPeeringPrefixes operations. */\nexport class CdnPeeringPrefixesImpl implements CdnPeeringPrefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class CdnPeeringPrefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the advertised prefixes for the specified peering location\n * @param peeringLocation The peering location.\n * @param options The options parameters.\n */\n public list(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): PagedAsyncIterableIterator<CdnPeeringPrefix> {\n const iter = this.listPagingAll(peeringLocation, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(peeringLocation, options);\n }\n };\n }\n\n private async *listPagingPage(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): AsyncIterableIterator<CdnPeeringPrefix[]> {\n let result = await this._list(peeringLocation, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n peeringLocation,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): AsyncIterableIterator<CdnPeeringPrefix> {\n for await (const page of this.listPagingPage(peeringLocation, options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the advertised prefixes for the specified peering location\n * @param peeringLocation The peering location.\n * @param options The options parameters.\n */\n private _list(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): Promise<CdnPeeringPrefixesListResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param peeringLocation The peering location.\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 peeringLocation: string,\n nextLink: string,\n options?: CdnPeeringPrefixesListNextOptionalParams\n ): Promise<CdnPeeringPrefixesListNextResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/cdnPeeringPrefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CdnPeeringPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.peeringLocation, Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CdnPeeringPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.peeringLocation, Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { LegacyPeerings } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Peering,\n LegacyPeeringsKind,\n LegacyPeeringsListNextOptionalParams,\n LegacyPeeringsListOptionalParams,\n LegacyPeeringsListResponse,\n LegacyPeeringsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing LegacyPeerings operations. */\nexport class LegacyPeeringsImpl implements LegacyPeerings {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class LegacyPeerings class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the legacy peerings under the given subscription matching the specified kind and\n * location.\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n public list(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\n const iter = this.listPagingAll(peeringLocation, kind, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(peeringLocation, kind, options);\n }\n };\n }\n\n private async *listPagingPage(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): AsyncIterableIterator<Peering[]> {\n let result = await this._list(peeringLocation, kind, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n peeringLocation,\n kind,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listPagingPage(\n peeringLocation,\n kind,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the legacy peerings under the given subscription matching the specified kind and\n * location.\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n private _list(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): Promise<LegacyPeeringsListResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, kind, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\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 peeringLocation: string,\n kind: LegacyPeeringsKind,\n nextLink: string,\n options?: LegacyPeeringsListNextOptionalParams\n ): Promise<LegacyPeeringsListNextResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, kind, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.peeringLocation,\n Parameters.apiVersion,\n Parameters.kind,\n Parameters.asn\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.peeringLocation,\n Parameters.apiVersion,\n Parameters.kind,\n Parameters.asn\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { LookingGlass } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n LookingGlassCommand,\n LookingGlassSourceType,\n LookingGlassInvokeOptionalParams,\n LookingGlassInvokeResponse\n} from \"../models\";\n\n/** Class containing LookingGlass operations. */\nexport class LookingGlassImpl implements LookingGlass {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class LookingGlass class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Run looking glass functionality\n * @param command The command to be executed: ping, traceroute, bgpRoute.\n * @param sourceType The type of the source: Edge site or Azure Region.\n * @param sourceLocation The location of the source.\n * @param destinationIP The IP address of the destination.\n * @param options The options parameters.\n */\n invoke(\n command: LookingGlassCommand,\n sourceType: LookingGlassSourceType,\n sourceLocation: string,\n destinationIP: string,\n options?: LookingGlassInvokeOptionalParams\n ): Promise<LookingGlassInvokeResponse> {\n return this.client.sendOperationRequest(\n { command, sourceType, sourceLocation, destinationIP, options },\n invokeOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst invokeOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/lookingGlass\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.LookingGlassOutput\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.command,\n Parameters.sourceType,\n Parameters.sourceLocation,\n Parameters.destinationIP\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\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 { Operations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Operation,\n OperationsListNextOptionalParams,\n OperationsListOptionalParams,\n OperationsListResponse,\n OperationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Operations operations. */\nexport class OperationsImpl implements Operations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Operations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available API operations for peering resources.\n * @param options The options parameters.\n */\n public list(\n options?: OperationsListOptionalParams\n ): PagedAsyncIterableIterator<Operation> {\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?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation[]> {\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?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available API operations for peering resources.\n * @param options The options parameters.\n */\n private _list(\n options?: OperationsListOptionalParams\n ): Promise<OperationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: OperationsListNextOptionalParams\n ): Promise<OperationsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Peering/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.nextLink],\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 { PeerAsns } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeerAsn,\n PeerAsnsListBySubscriptionNextOptionalParams,\n PeerAsnsListBySubscriptionOptionalParams,\n PeerAsnsGetOptionalParams,\n PeerAsnsGetResponse,\n PeerAsnsCreateOrUpdateOptionalParams,\n PeerAsnsCreateOrUpdateResponse,\n PeerAsnsDeleteOptionalParams,\n PeerAsnsListBySubscriptionResponse,\n PeerAsnsListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeerAsns operations. */\nexport class PeerAsnsImpl implements PeerAsns {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeerAsns class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peer ASNs under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<PeerAsn> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeerAsn[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeerAsn> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the peer ASN with the specified name under the given subscription.\n * @param peerAsnName The peer ASN name.\n * @param options The options parameters.\n */\n get(\n peerAsnName: string,\n options?: PeerAsnsGetOptionalParams\n ): Promise<PeerAsnsGetResponse> {\n return this.client.sendOperationRequest(\n { peerAsnName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peer ASN or updates an existing peer ASN with the specified name under the given\n * subscription.\n * @param peerAsnName The peer ASN name.\n * @param peerAsn The peer ASN.\n * @param options The options parameters.\n */\n createOrUpdate(\n peerAsnName: string,\n peerAsn: PeerAsn,\n options?: PeerAsnsCreateOrUpdateOptionalParams\n ): Promise<PeerAsnsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { peerAsnName, peerAsn, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peer ASN with the specified name under the given subscription.\n * @param peerAsnName The peer ASN name.\n * @param options The options parameters.\n */\n delete(\n peerAsnName: string,\n options?: PeerAsnsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { peerAsnName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all of the peer ASNs under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): Promise<PeerAsnsListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeerAsnsListBySubscriptionNextOptionalParams\n ): Promise<PeerAsnsListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsn\n },\n 201: {\n bodyMapper: Mappers.PeerAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peerAsn,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringLocations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringLocation,\n PeeringLocationsKind,\n PeeringLocationsListNextOptionalParams,\n PeeringLocationsListOptionalParams,\n PeeringLocationsListResponse,\n PeeringLocationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringLocations operations. */\nexport class PeeringLocationsImpl implements PeeringLocations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringLocations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available peering locations for the specified kind of peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n public list(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): PagedAsyncIterableIterator<PeeringLocation> {\n const iter = this.listPagingAll(kind, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(kind, options);\n }\n };\n }\n\n private async *listPagingPage(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringLocation[]> {\n let result = await this._list(kind, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(kind, continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringLocation> {\n for await (const page of this.listPagingPage(kind, options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available peering locations for the specified kind of peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n private _list(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): Promise<PeeringLocationsListResponse> {\n return this.client.sendOperationRequest(\n { kind, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param kind The kind of the peering.\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 kind: PeeringLocationsKind,\n nextLink: string,\n options?: PeeringLocationsListNextOptionalParams\n ): Promise<PeeringLocationsListNextResponse> {\n return this.client.sendOperationRequest(\n { kind, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.kind1,\n Parameters.directPeeringType\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.kind1,\n Parameters.directPeeringType\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { RegisteredAsns } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringRegisteredAsn,\n RegisteredAsnsListByPeeringNextOptionalParams,\n RegisteredAsnsListByPeeringOptionalParams,\n RegisteredAsnsGetOptionalParams,\n RegisteredAsnsGetResponse,\n RegisteredAsnsCreateOrUpdateOptionalParams,\n RegisteredAsnsCreateOrUpdateResponse,\n RegisteredAsnsDeleteOptionalParams,\n RegisteredAsnsListByPeeringResponse,\n RegisteredAsnsListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing RegisteredAsns operations. */\nexport class RegisteredAsnsImpl implements RegisteredAsns {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class RegisteredAsns class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all registered ASNs under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringRegisteredAsn> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredAsn[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredAsn> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing registered ASN with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the registered ASN.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n options?: RegisteredAsnsGetOptionalParams\n ): Promise<RegisteredAsnsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredAsnName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new registered ASN with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the ASN.\n * @param registeredAsn The properties needed to create a registered ASN.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n registeredAsn: PeeringRegisteredAsn,\n options?: RegisteredAsnsCreateOrUpdateOptionalParams\n ): Promise<RegisteredAsnsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringName,\n registeredAsnName,\n registeredAsn,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing registered ASN with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the registered ASN.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n options?: RegisteredAsnsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredAsnName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all registered ASNs under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): Promise<RegisteredAsnsListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: RegisteredAsnsListByPeeringNextOptionalParams\n ): Promise<RegisteredAsnsListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n 201: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.registeredAsn,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { RegisteredPrefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringRegisteredPrefix,\n RegisteredPrefixesListByPeeringNextOptionalParams,\n RegisteredPrefixesListByPeeringOptionalParams,\n RegisteredPrefixesGetOptionalParams,\n RegisteredPrefixesGetResponse,\n RegisteredPrefixesCreateOrUpdateOptionalParams,\n RegisteredPrefixesCreateOrUpdateResponse,\n RegisteredPrefixesDeleteOptionalParams,\n RegisteredPrefixesListByPeeringResponse,\n RegisteredPrefixesListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing RegisteredPrefixes operations. */\nexport class RegisteredPrefixesImpl implements RegisteredPrefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class RegisteredPrefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all registered prefixes under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringRegisteredPrefix> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredPrefix[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredPrefix> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing registered prefix with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n options?: RegisteredPrefixesGetOptionalParams\n ): Promise<RegisteredPrefixesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredPrefixName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new registered prefix with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param registeredPrefix The properties needed to create a registered prefix.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n registeredPrefix: PeeringRegisteredPrefix,\n options?: RegisteredPrefixesCreateOrUpdateOptionalParams\n ): Promise<RegisteredPrefixesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringName,\n registeredPrefixName,\n registeredPrefix,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing registered prefix with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n options?: RegisteredPrefixesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredPrefixName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all registered prefixes under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): Promise<RegisteredPrefixesListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: RegisteredPrefixesListByPeeringNextOptionalParams\n ): Promise<RegisteredPrefixesListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n 201: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.registeredPrefix,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { Peerings } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Peering,\n PeeringsListByResourceGroupNextOptionalParams,\n PeeringsListByResourceGroupOptionalParams,\n PeeringsListBySubscriptionNextOptionalParams,\n PeeringsListBySubscriptionOptionalParams,\n PeeringsGetOptionalParams,\n PeeringsGetResponse,\n PeeringsCreateOrUpdateOptionalParams,\n PeeringsCreateOrUpdateResponse,\n PeeringsDeleteOptionalParams,\n ResourceTags,\n PeeringsUpdateOptionalParams,\n PeeringsUpdateResponse,\n PeeringsListByResourceGroupResponse,\n PeeringsListBySubscriptionResponse,\n PeeringsListByResourceGroupNextResponse,\n PeeringsListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Peerings operations. */\nexport class PeeringsImpl implements Peerings {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Peerings class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peerings under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringsListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\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?: PeeringsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<Peering[]> {\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?: PeeringsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeeringsListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeeringsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<Peering[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeeringsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n options?: PeeringsGetOptionalParams\n ): Promise<PeeringsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peering or updates an existing peering with the specified name under the given\n * subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param peering The properties needed to create or update a peering.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n peering: Peering,\n options?: PeeringsCreateOrUpdateOptionalParams\n ): Promise<PeeringsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, peering, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n options?: PeeringsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates tags for a peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param tags The resource tags.\n * @param options The options parameters.\n */\n update(\n resourceGroupName: string,\n peeringName: string,\n tags: ResourceTags,\n options?: PeeringsUpdateOptionalParams\n ): Promise<PeeringsUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, tags, options },\n updateOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringsListByResourceGroupOptionalParams\n ): Promise<PeeringsListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeeringsListBySubscriptionOptionalParams\n ): Promise<PeeringsListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group.\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?: PeeringsListByResourceGroupNextOptionalParams\n ): Promise<PeeringsListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeeringsListBySubscriptionNextOptionalParams\n ): Promise<PeeringsListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n 201: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peering,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.tags,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { ReceivedRoutes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringReceivedRoute,\n ReceivedRoutesListByPeeringNextOptionalParams,\n ReceivedRoutesListByPeeringOptionalParams,\n ReceivedRoutesListByPeeringResponse,\n ReceivedRoutesListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ReceivedRoutes operations. */\nexport class ReceivedRoutesImpl implements ReceivedRoutes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class ReceivedRoutes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the prefixes received over the specified peering under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringReceivedRoute> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringReceivedRoute[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringReceivedRoute> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the prefixes received over the specified peering under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): Promise<ReceivedRoutesListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: ReceivedRoutesListByPeeringNextOptionalParams\n ): Promise<ReceivedRoutesListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringReceivedRouteListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.prefix,\n Parameters.asPath,\n Parameters.originAsValidationState,\n Parameters.rpkiValidationState,\n Parameters.skipToken\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringReceivedRouteListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.prefix,\n Parameters.asPath,\n Parameters.originAsValidationState,\n Parameters.rpkiValidationState,\n Parameters.skipToken\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { ConnectionMonitorTests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n ConnectionMonitorTest,\n ConnectionMonitorTestsListByPeeringServiceNextOptionalParams,\n ConnectionMonitorTestsListByPeeringServiceOptionalParams,\n ConnectionMonitorTestsGetOptionalParams,\n ConnectionMonitorTestsGetResponse,\n ConnectionMonitorTestsCreateOrUpdateOptionalParams,\n ConnectionMonitorTestsCreateOrUpdateResponse,\n ConnectionMonitorTestsDeleteOptionalParams,\n ConnectionMonitorTestsListByPeeringServiceResponse,\n ConnectionMonitorTestsListByPeeringServiceNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ConnectionMonitorTests operations. */\nexport class ConnectionMonitorTestsImpl implements ConnectionMonitorTests {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class ConnectionMonitorTests class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all connection monitor tests under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n public listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): PagedAsyncIterableIterator<ConnectionMonitorTest> {\n const iter = this.listByPeeringServicePagingAll(\n resourceGroupName,\n peeringServiceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringServicePagingPage(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<ConnectionMonitorTest[]> {\n let result = await this._listByPeeringService(\n resourceGroupName,\n peeringServiceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringServiceNext(\n resourceGroupName,\n peeringServiceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringServicePagingAll(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<ConnectionMonitorTest> {\n for await (const page of this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n options?: ConnectionMonitorTestsGetOptionalParams\n ): Promise<ConnectionMonitorTestsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Creates or updates a connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param connectionMonitorTest The properties needed to create a connection monitor test\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n connectionMonitorTest: ConnectionMonitorTest,\n options?: ConnectionMonitorTestsCreateOrUpdateOptionalParams\n ): Promise<ConnectionMonitorTestsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n connectionMonitorTest,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n options?: ConnectionMonitorTestsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n options\n },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all connection monitor tests under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n private _listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): Promise<ConnectionMonitorTestsListByPeeringServiceResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n listByPeeringServiceOperationSpec\n );\n }\n\n /**\n * ListByPeeringServiceNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param nextLink The nextLink from the previous successful call to the ListByPeeringService method.\n * @param options The options parameters.\n */\n private _listByPeeringServiceNext(\n resourceGroupName: string,\n peeringServiceName: string,\n nextLink: string,\n options?: ConnectionMonitorTestsListByPeeringServiceNextOptionalParams\n ): Promise<ConnectionMonitorTestsListByPeeringServiceNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, nextLink, options },\n listByPeeringServiceNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n 201: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.connectionMonitorTest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTestListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTestListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\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 { PeeringServiceCountries } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceCountry,\n PeeringServiceCountriesListNextOptionalParams,\n PeeringServiceCountriesListOptionalParams,\n PeeringServiceCountriesListResponse,\n PeeringServiceCountriesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceCountries operations. */\nexport class PeeringServiceCountriesImpl implements PeeringServiceCountries {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceCountries class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available countries for peering service.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceCountriesListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceCountry> {\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?: PeeringServiceCountriesListOptionalParams\n ): AsyncIterableIterator<PeeringServiceCountry[]> {\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?: PeeringServiceCountriesListOptionalParams\n ): AsyncIterableIterator<PeeringServiceCountry> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available countries for peering service.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceCountriesListOptionalParams\n ): Promise<PeeringServiceCountriesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceCountriesListNextOptionalParams\n ): Promise<PeeringServiceCountriesListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceCountryListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceCountryListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringServiceLocations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceLocation,\n PeeringServiceLocationsListNextOptionalParams,\n PeeringServiceLocationsListOptionalParams,\n PeeringServiceLocationsListResponse,\n PeeringServiceLocationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceLocations operations. */\nexport class PeeringServiceLocationsImpl implements PeeringServiceLocations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceLocations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available locations for peering service.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceLocationsListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceLocation> {\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?: PeeringServiceLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringServiceLocation[]> {\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?: PeeringServiceLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringServiceLocation> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available locations for peering service.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceLocationsListOptionalParams\n ): Promise<PeeringServiceLocationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceLocationsListNextOptionalParams\n ): Promise<PeeringServiceLocationsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.country],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.country],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { Prefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServicePrefix,\n PrefixesListByPeeringServiceNextOptionalParams,\n PrefixesListByPeeringServiceOptionalParams,\n PrefixesGetOptionalParams,\n PrefixesGetResponse,\n PrefixesCreateOrUpdateOptionalParams,\n PrefixesCreateOrUpdateResponse,\n PrefixesDeleteOptionalParams,\n PrefixesListByPeeringServiceResponse,\n PrefixesListByPeeringServiceNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Prefixes operations. */\nexport class PrefixesImpl implements Prefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Prefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all prefixes under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n public listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): PagedAsyncIterableIterator<PeeringServicePrefix> {\n const iter = this.listByPeeringServicePagingAll(\n resourceGroupName,\n peeringServiceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringServicePagingPage(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<PeeringServicePrefix[]> {\n let result = await this._listByPeeringService(\n resourceGroupName,\n peeringServiceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringServiceNext(\n resourceGroupName,\n peeringServiceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringServicePagingAll(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<PeeringServicePrefix> {\n for await (const page of this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n options?: PrefixesGetOptionalParams\n ): Promise<PrefixesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, prefixName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param peeringServicePrefix The properties needed to create a prefix.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n peeringServicePrefix: PeeringServicePrefix,\n options?: PrefixesCreateOrUpdateOptionalParams\n ): Promise<PrefixesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n prefixName,\n peeringServicePrefix,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n options?: PrefixesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, prefixName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all prefixes under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n private _listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): Promise<PrefixesListByPeeringServiceResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n listByPeeringServiceOperationSpec\n );\n }\n\n /**\n * ListByPeeringServiceNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param nextLink The nextLink from the previous successful call to the ListByPeeringService method.\n * @param options The options parameters.\n */\n private _listByPeeringServiceNext(\n resourceGroupName: string,\n peeringServiceName: string,\n nextLink: string,\n options?: PrefixesListByPeeringServiceNextOptionalParams\n ): Promise<PrefixesListByPeeringServiceNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, nextLink, options },\n listByPeeringServiceNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n 201: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peeringServicePrefix,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\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 { PeeringServiceProviders } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceProvider,\n PeeringServiceProvidersListNextOptionalParams,\n PeeringServiceProvidersListOptionalParams,\n PeeringServiceProvidersListResponse,\n PeeringServiceProvidersListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceProviders operations. */\nexport class PeeringServiceProvidersImpl implements PeeringServiceProviders {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceProviders class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available peering service locations for the specified kind of peering.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceProvidersListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceProvider> {\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?: PeeringServiceProvidersListOptionalParams\n ): AsyncIterableIterator<PeeringServiceProvider[]> {\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?: PeeringServiceProvidersListOptionalParams\n ): AsyncIterableIterator<PeeringServiceProvider> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available peering service locations for the specified kind of peering.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceProvidersListOptionalParams\n ): Promise<PeeringServiceProvidersListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceProvidersListNextOptionalParams\n ): Promise<PeeringServiceProvidersListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceProviderListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceProviderListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringServices } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringService,\n PeeringServicesListByResourceGroupNextOptionalParams,\n PeeringServicesListByResourceGroupOptionalParams,\n PeeringServicesListBySubscriptionNextOptionalParams,\n PeeringServicesListBySubscriptionOptionalParams,\n PeeringServicesGetOptionalParams,\n PeeringServicesGetResponse,\n PeeringServicesCreateOrUpdateOptionalParams,\n PeeringServicesCreateOrUpdateResponse,\n PeeringServicesDeleteOptionalParams,\n ResourceTags,\n PeeringServicesUpdateOptionalParams,\n PeeringServicesUpdateResponse,\n PeeringServicesListByResourceGroupResponse,\n PeeringServicesListBySubscriptionResponse,\n PeeringServicesInitializeConnectionMonitorOptionalParams,\n PeeringServicesListByResourceGroupNextResponse,\n PeeringServicesListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServices operations. */\nexport class PeeringServicesImpl implements PeeringServices {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServices class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peering services under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringServicesListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PeeringService> {\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?: PeeringServicesListByResourceGroupOptionalParams\n ): AsyncIterableIterator<PeeringService[]> {\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?: PeeringServicesListByResourceGroupOptionalParams\n ): AsyncIterableIterator<PeeringService> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<PeeringService> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeeringService[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeeringService> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing peering service with the specified name under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PeeringServicesGetOptionalParams\n ): Promise<PeeringServicesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peering service or updates an existing peering with the specified name under the given\n * subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param peeringService The properties needed to create or update a peering service.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n peeringService: PeeringService,\n options?: PeeringServicesCreateOrUpdateOptionalParams\n ): Promise<PeeringServicesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, peeringService, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peering service with the specified name under the given subscription and\n * resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PeeringServicesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates tags for a peering service with the specified name under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param tags The resource tags.\n * @param options The options parameters.\n */\n update(\n resourceGroupName: string,\n peeringServiceName: string,\n tags: ResourceTags,\n options?: PeeringServicesUpdateOptionalParams\n ): Promise<PeeringServicesUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, tags, options },\n updateOperationSpec\n );\n }\n\n /**\n * Lists all of the peering services under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringServicesListByResourceGroupOptionalParams\n ): Promise<PeeringServicesListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): Promise<PeeringServicesListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * Initialize Peering Service for Connection Monitor functionality\n * @param options The options parameters.\n */\n initializeConnectionMonitor(\n options?: PeeringServicesInitializeConnectionMonitorOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { options },\n initializeConnectionMonitorOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group.\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?: PeeringServicesListByResourceGroupNextOptionalParams\n ): Promise<PeeringServicesListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeeringServicesListBySubscriptionNextOptionalParams\n ): Promise<PeeringServicesListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n 201: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peeringService,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.tags,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst initializeConnectionMonitorOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/initializeConnectionMonitor\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 * as coreClient from \"@azure/core-client\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n CdnPeeringPrefixesImpl,\n LegacyPeeringsImpl,\n LookingGlassImpl,\n OperationsImpl,\n PeerAsnsImpl,\n PeeringLocationsImpl,\n RegisteredAsnsImpl,\n RegisteredPrefixesImpl,\n PeeringsImpl,\n ReceivedRoutesImpl,\n ConnectionMonitorTestsImpl,\n PeeringServiceCountriesImpl,\n PeeringServiceLocationsImpl,\n PrefixesImpl,\n PeeringServiceProvidersImpl,\n PeeringServicesImpl\n} from \"./operations\";\nimport {\n CdnPeeringPrefixes,\n LegacyPeerings,\n LookingGlass,\n Operations,\n PeerAsns,\n PeeringLocations,\n RegisteredAsns,\n RegisteredPrefixes,\n Peerings,\n ReceivedRoutes,\n ConnectionMonitorTests,\n PeeringServiceCountries,\n PeeringServiceLocations,\n Prefixes,\n PeeringServiceProviders,\n PeeringServices\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n PeeringManagementClientOptionalParams,\n CheckServiceProviderAvailabilityInput,\n CheckServiceProviderAvailabilityOptionalParams,\n CheckServiceProviderAvailabilityResponse\n} from \"./models\";\n\nexport class PeeringManagementClient extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the PeeringManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The Azure subscription ID.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: PeeringManagementClientOptionalParams\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: PeeringManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-peering/2.0.0`;\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 || \"2021-06-01\";\n this.cdnPeeringPrefixes = new CdnPeeringPrefixesImpl(this);\n this.legacyPeerings = new LegacyPeeringsImpl(this);\n this.lookingGlass = new LookingGlassImpl(this);\n this.operations = new OperationsImpl(this);\n this.peerAsns = new PeerAsnsImpl(this);\n this.peeringLocations = new PeeringLocationsImpl(this);\n this.registeredAsns = new RegisteredAsnsImpl(this);\n this.registeredPrefixes = new RegisteredPrefixesImpl(this);\n this.peerings = new PeeringsImpl(this);\n this.receivedRoutes = new ReceivedRoutesImpl(this);\n this.connectionMonitorTests = new ConnectionMonitorTestsImpl(this);\n this.peeringServiceCountries = new PeeringServiceCountriesImpl(this);\n this.peeringServiceLocations = new PeeringServiceLocationsImpl(this);\n this.prefixes = new PrefixesImpl(this);\n this.peeringServiceProviders = new PeeringServiceProvidersImpl(this);\n this.peeringServices = new PeeringServicesImpl(this);\n }\n\n /**\n * Checks if the peering service provider is present within 1000 miles of customer's location\n * @param checkServiceProviderAvailabilityInput The CheckServiceProviderAvailabilityInput indicating\n * customer location and service provider.\n * @param options The options parameters.\n */\n checkServiceProviderAvailability(\n checkServiceProviderAvailabilityInput: CheckServiceProviderAvailabilityInput,\n options?: CheckServiceProviderAvailabilityOptionalParams\n ): Promise<CheckServiceProviderAvailabilityResponse> {\n return this.sendOperationRequest(\n { checkServiceProviderAvailabilityInput, options },\n checkServiceProviderAvailabilityOperationSpec\n );\n }\n\n cdnPeeringPrefixes: CdnPeeringPrefixes;\n legacyPeerings: LegacyPeerings;\n lookingGlass: LookingGlass;\n operations: Operations;\n peerAsns: PeerAsns;\n peeringLocations: PeeringLocations;\n registeredAsns: RegisteredAsns;\n registeredPrefixes: RegisteredPrefixes;\n peerings: Peerings;\n receivedRoutes: ReceivedRoutes;\n connectionMonitorTests: ConnectionMonitorTests;\n peeringServiceCountries: PeeringServiceCountries;\n peeringServiceLocations: PeeringServiceLocations;\n prefixes: Prefixes;\n peeringServiceProviders: PeeringServiceProviders;\n peeringServices: PeeringServices;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst checkServiceProviderAvailabilityOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/checkServiceProviderAvailability\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"String\" } }\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.checkServiceProviderAvailabilityInput,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n"],"names":["KnownEnum0","KnownLegacyPeeringsKind","KnownTier","KnownFamily","KnownSize","KnownKind","KnownSessionAddressProvider","KnownConnectionState","KnownSessionStateV4","KnownSessionStateV6","KnownDirectPeeringType","KnownProvisioningState","KnownLookingGlassCommand","KnownLookingGlassSourceType","KnownCommand","KnownRole","KnownValidationState","KnownPeeringLocationsKind","KnownPeeringLocationsDirectPeeringType","KnownPrefixValidationState","KnownLearnedType","CheckServiceProviderAvailabilityInputMapper","PeerAsnMapper","PeeringRegisteredAsnMapper","PeeringRegisteredPrefixMapper","PeeringMapper","ResourceTagsMapper","ConnectionMonitorTestMapper","PeeringServicePrefixMapper","PeeringServiceMapper","__asyncValues","__asyncDelegator","coreClient.createSerializer","Mappers.CdnPeeringPrefixListResult","Mappers.ErrorResponse","Parameters.peeringLocation","Parameters.apiVersion","Parameters.$host","Parameters.subscriptionId","Parameters.accept","Parameters.nextLink","listOperationSpec","listNextOperationSpec","serializer","Mappers.PeeringListResult","Parameters.kind","Parameters.asn","Mappers.LookingGlassOutput","Parameters.command","Parameters.sourceType","Parameters.sourceLocation","Parameters.destinationIP","Mappers.OperationListResult","Mappers.PeerAsn","Parameters.peerAsnName","Parameters.peerAsn","Parameters.contentType","Mappers.PeerAsnListResult","Mappers.PeeringLocationListResult","Parameters.kind1","Parameters.directPeeringType","getOperationSpec","createOrUpdateOperationSpec","deleteOperationSpec","Mappers.PeeringRegisteredAsn","Parameters.resourceGroupName","Parameters.peeringName","Parameters.registeredAsnName","Parameters.registeredAsn","Mappers.PeeringRegisteredAsnListResult","listByPeeringOperationSpec","listByPeeringNextOperationSpec","Mappers.PeeringRegisteredPrefix","Parameters.registeredPrefixName","Parameters.registeredPrefix","Mappers.PeeringRegisteredPrefixListResult","listBySubscriptionOperationSpec","listBySubscriptionNextOperationSpec","Mappers.Peering","Parameters.peering","Parameters.tags","Mappers.PeeringReceivedRouteListResult","Parameters.prefix","Parameters.asPath","Parameters.originAsValidationState","Parameters.rpkiValidationState","Parameters.skipToken","Mappers.ConnectionMonitorTest","Parameters.peeringServiceName","Parameters.connectionMonitorTestName","Parameters.connectionMonitorTest","Mappers.ConnectionMonitorTestListResult","Mappers.PeeringServiceCountryListResult","Mappers.PeeringServiceLocationListResult","Parameters.country","listByPeeringServiceOperationSpec","listByPeeringServiceNextOperationSpec","Mappers.PeeringServicePrefix","Parameters.expand","Parameters.prefixName","Parameters.peeringServicePrefix","Mappers.PeeringServicePrefixListResult","Mappers.PeeringServiceProviderListResult","updateOperationSpec","listByResourceGroupOperationSpec","listByResourceGroupNextOperationSpec","Mappers.PeeringService","Parameters.peeringService","Mappers.PeeringServiceListResult","coreClient.ServiceClient","Parameters.checkServiceProviderAvailabilityInput"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/cdnPeeringPrefixes.ts","../src/operations/legacyPeerings.ts","../src/operations/lookingGlass.ts","../src/operations/operations.ts","../src/operations/peerAsns.ts","../src/operations/peeringLocations.ts","../src/operations/registeredAsns.ts","../src/operations/registeredPrefixes.ts","../src/operations/peerings.ts","../src/operations/receivedRoutes.ts","../src/operations/connectionMonitorTests.ts","../src/operations/peeringServiceCountries.ts","../src/operations/peeringServiceLocations.ts","../src/operations/prefixes.ts","../src/operations/peeringServiceProviders.ts","../src/operations/peeringServices.ts","../src/peeringManagementClient.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/** The paginated list of CDN peering prefixes. */\nexport interface CdnPeeringPrefixListResult {\n /** The list of CDN peering prefixes. */\n value?: CdnPeeringPrefix[];\n /** The link to fetch the next page of CDN peering prefixes. */\n nextLink?: string;\n}\n\n/** The ARM resource class. */\nexport interface Resource {\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 ID of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The type of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n}\n\n/** The error response that indicates why an operation has failed. */\nexport interface ErrorResponse {\n /** The error detail that describes why an operation has failed. */\n error?: ErrorDetail;\n}\n\n/** The error detail that describes why an operation has failed. */\nexport interface ErrorDetail {\n /**\n * The error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * The error message.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n}\n\n/** Class for CheckServiceProviderAvailabilityInput */\nexport interface CheckServiceProviderAvailabilityInput {\n /** Gets or sets the peering service location. */\n peeringServiceLocation?: string;\n /** Gets or sets the peering service provider. */\n peeringServiceProvider?: string;\n}\n\n/** The paginated list of peerings. */\nexport interface PeeringListResult {\n /** The list of peerings. */\n value?: Peering[];\n /** The link to fetch the next page of peerings. */\n nextLink?: string;\n}\n\n/** The SKU that defines the tier and kind of the peering. */\nexport interface PeeringSku {\n /** The name of the peering SKU. */\n name?: string;\n /**\n * The tier of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tier?: Tier;\n /**\n * The family of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly family?: Family;\n /**\n * The size of the peering SKU.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly size?: Size;\n}\n\n/** The properties that define a direct peering. */\nexport interface PeeringPropertiesDirect {\n /** The set of connections that constitute a direct peering. */\n connections?: DirectConnection[];\n /**\n * The flag that indicates whether or not the peering is used for peering service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly useForPeeringService?: boolean;\n /** The reference of the peer ASN. */\n peerAsn?: SubResource;\n /** The type of direct peering. */\n directPeeringType?: DirectPeeringType;\n}\n\n/** The properties that define a direct connection. */\nexport interface DirectConnection {\n /** The bandwidth of the connection. */\n bandwidthInMbps?: number;\n /**\n * The bandwidth that is actually provisioned.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisionedBandwidthInMbps?: number;\n /** The field indicating if Microsoft provides session ip addresses. */\n sessionAddressProvider?: SessionAddressProvider;\n /** The flag that indicates whether or not the connection is used for peering service. */\n useForPeeringService?: boolean;\n /**\n * The ID used within Microsoft's peering provisioning system to track the connection\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly microsoftTrackingId?: string;\n /** The PeeringDB.com ID of the facility at which the connection has to be set up. */\n peeringDBFacilityId?: number;\n /**\n * The state of the connection.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectionState?: ConnectionState;\n /** The BGP session associated with the connection. */\n bgpSession?: BgpSession;\n /** The unique identifier (GUID) for the connection. */\n connectionIdentifier?: string;\n /**\n * The error message related to the connection state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n}\n\n/** The properties that define a BGP session. */\nexport interface BgpSession {\n /** The IPv4 prefix that contains both ends' IPv4 addresses. */\n sessionPrefixV4?: string;\n /** The IPv6 prefix that contains both ends' IPv6 addresses. */\n sessionPrefixV6?: string;\n /** The IPv4 session address on Microsoft's end. */\n microsoftSessionIPv4Address?: string;\n /** The IPv6 session address on Microsoft's end. */\n microsoftSessionIPv6Address?: string;\n /** The IPv4 session address on peer's end. */\n peerSessionIPv4Address?: string;\n /** The IPv6 session address on peer's end. */\n peerSessionIPv6Address?: string;\n /**\n * The state of the IPv4 session.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly sessionStateV4?: SessionStateV4;\n /**\n * The state of the IPv6 session.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly sessionStateV6?: SessionStateV6;\n /** The maximum number of prefixes advertised over the IPv4 session. */\n maxPrefixesAdvertisedV4?: number;\n /** The maximum number of prefixes advertised over the IPv6 session. */\n maxPrefixesAdvertisedV6?: number;\n /** The MD5 authentication key of the session. */\n md5AuthenticationKey?: string;\n}\n\n/** The sub resource. */\nexport interface SubResource {\n /** The identifier of the referenced resource. */\n id?: string;\n}\n\n/** The properties that define an exchange peering. */\nexport interface PeeringPropertiesExchange {\n /** The set of connections that constitute an exchange peering. */\n connections?: ExchangeConnection[];\n /** The reference of the peer ASN. */\n peerAsn?: SubResource;\n}\n\n/** The properties that define an exchange connection. */\nexport interface ExchangeConnection {\n /** The PeeringDB.com ID of the facility at which the connection has to be set up. */\n peeringDBFacilityId?: number;\n /**\n * The state of the connection.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectionState?: ConnectionState;\n /** The BGP session associated with the connection. */\n bgpSession?: BgpSession;\n /** The unique identifier (GUID) for the connection. */\n connectionIdentifier?: string;\n /**\n * The error message related to the connection state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n}\n\n/** Looking glass output model */\nexport interface LookingGlassOutput {\n /** Invoked command */\n command?: Command;\n /** Output of the command */\n output?: string;\n}\n\n/** The paginated list of peering API operations. */\nexport interface OperationListResult {\n /** The list of peering API operations. */\n value?: Operation[];\n /** The link to fetch the next page of peering API operations. */\n nextLink?: string;\n}\n\n/** The peering API operation. */\nexport interface Operation {\n /**\n * The name of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The information related to the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly display?: OperationDisplayInfo;\n /**\n * The flag that indicates whether the operation applies to data plane.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isDataAction?: boolean;\n /**\n * Service specification payload.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly serviceSpecification?: ServiceSpecification;\n}\n\n/** The information related to the operation. */\nexport interface OperationDisplayInfo {\n /**\n * The name of the resource provider.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provider?: string;\n /**\n * The type of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly resource?: string;\n /**\n * The name of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operation?: string;\n /**\n * The description of the operation.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly description?: string;\n}\n\n/** Service specification payload. */\nexport interface ServiceSpecification {\n /**\n * Specifications of the Metrics for Azure Monitoring.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly metricSpecifications?: MetricSpecification[];\n}\n\n/** Specifications of the Metrics for Azure Monitoring. */\nexport interface MetricSpecification {\n /**\n * Name of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Localized friendly display name of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n /**\n * Localized friendly description of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayDescription?: string;\n /**\n * Unit that makes sense for the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly unit?: string;\n /**\n * Aggregation type will be set to one of the values: Average, Minimum, Maximum, Total, Count.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly aggregationType?: string;\n /**\n * Supported time grain types for the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly supportedTimeGrainTypes?: string[];\n /**\n * Dimensions of the metric.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly dimensions?: MetricDimension[];\n}\n\n/** Dimensions of the metric. */\nexport interface MetricDimension {\n /**\n * Name of the dimension.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * Localized friendly display name of the dimension.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly displayName?: string;\n}\n\n/** The contact detail class. */\nexport interface ContactDetail {\n /** The role of the contact. */\n role?: Role;\n /** The e-mail address of the contact. */\n email?: string;\n /** The phone number of the contact. */\n phone?: string;\n}\n\n/** The paginated list of peer ASNs. */\nexport interface PeerAsnListResult {\n /** The list of peer ASNs. */\n value?: PeerAsn[];\n /** The link to fetch the next page of peer ASNs. */\n nextLink?: string;\n}\n\n/** The paginated list of peering locations. */\nexport interface PeeringLocationListResult {\n /** The list of peering locations. */\n value?: PeeringLocation[];\n /** The link to fetch the next page of peering locations. */\n nextLink?: string;\n}\n\n/** The properties that define a direct peering location. */\nexport interface PeeringLocationPropertiesDirect {\n /** The list of direct peering facilities at the peering location. */\n peeringFacilities?: DirectPeeringFacility[];\n /** The list of bandwidth offers available at the peering location. */\n bandwidthOffers?: PeeringBandwidthOffer[];\n}\n\n/** The properties that define a direct peering facility. */\nexport interface DirectPeeringFacility {\n /** The address of the direct peering facility. */\n address?: string;\n /** The type of the direct peering. */\n directPeeringType?: DirectPeeringType;\n /** The PeeringDB.com ID of the facility. */\n peeringDBFacilityId?: number;\n /** The PeeringDB.com URL of the facility. */\n peeringDBFacilityLink?: string;\n}\n\n/** The properties that define a peering bandwidth offer. */\nexport interface PeeringBandwidthOffer {\n /** The name of the bandwidth offer. */\n offerName?: string;\n /** The value of the bandwidth offer in Mbps. */\n valueInMbps?: number;\n}\n\n/** The properties that define an exchange peering location. */\nexport interface PeeringLocationPropertiesExchange {\n /** The list of exchange peering facilities at the peering location. */\n peeringFacilities?: ExchangePeeringFacility[];\n}\n\n/** The properties that define an exchange peering facility. */\nexport interface ExchangePeeringFacility {\n /** The name of the exchange peering facility. */\n exchangeName?: string;\n /** The bandwidth of the connection between Microsoft and the exchange peering facility. */\n bandwidthInMbps?: number;\n /** The IPv4 address of Microsoft at the exchange peering facility. */\n microsoftIPv4Address?: string;\n /** The IPv6 address of Microsoft at the exchange peering facility. */\n microsoftIPv6Address?: string;\n /** The IPv4 prefixes associated with the exchange peering facility. */\n facilityIPv4Prefix?: string;\n /** The IPv6 prefixes associated with the exchange peering facility. */\n facilityIPv6Prefix?: string;\n /** The PeeringDB.com ID of the facility. */\n peeringDBFacilityId?: number;\n /** The PeeringDB.com URL of the facility. */\n peeringDBFacilityLink?: string;\n}\n\n/** The paginated list of peering registered ASNs. */\nexport interface PeeringRegisteredAsnListResult {\n /** The list of peering registered ASNs. */\n value?: PeeringRegisteredAsn[];\n /** The link to fetch the next page of peering registered ASNs. */\n nextLink?: string;\n}\n\n/** The paginated list of peering registered prefixes. */\nexport interface PeeringRegisteredPrefixListResult {\n /** The list of peering registered prefixes. */\n value?: PeeringRegisteredPrefix[];\n /** The link to fetch the next page of peering registered prefixes. */\n nextLink?: string;\n}\n\n/** The resource tags. */\nexport interface ResourceTags {\n /** Gets or sets the tags, a dictionary of descriptors arm object */\n tags?: { [propertyName: string]: string };\n}\n\n/** The paginated list of received routes for the peering. */\nexport interface PeeringReceivedRouteListResult {\n /** The list of received routes for the peering. */\n value?: PeeringReceivedRoute[];\n /** The link to fetch the next page of received routes for the peering. */\n nextLink?: string;\n}\n\n/** The properties that define a received route. */\nexport interface PeeringReceivedRoute {\n /**\n * The prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefix?: string;\n /**\n * The next hop for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextHop?: string;\n /**\n * The AS path for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly asPath?: string;\n /**\n * The origin AS change information for the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly originAsValidationState?: string;\n /**\n * The RPKI validation state for the prefix and origin AS that's listed in the AS path.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly rpkiValidationState?: string;\n /**\n * The authority which holds the Route Origin Authorization record for the prefix, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly trustAnchor?: string;\n /**\n * The received timestamp associated with the prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly receivedTimestamp?: string;\n}\n\n/** The paginated list of [T]. */\nexport interface ConnectionMonitorTestListResult {\n /** The list of [T]. */\n value?: ConnectionMonitorTest[];\n /** The link to fetch the next page of [T]. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service countries. */\nexport interface PeeringServiceCountryListResult {\n /** The list of peering service countries. */\n value?: PeeringServiceCountry[];\n /** The link to fetch the next page of peering service countries. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service locations. */\nexport interface PeeringServiceLocationListResult {\n /** The list of peering service locations. */\n value?: PeeringServiceLocation[];\n /** The link to fetch the next page of peering service locations. */\n nextLink?: string;\n}\n\n/** The details of the event associated with a prefix. */\nexport interface PeeringServicePrefixEvent {\n /**\n * The timestamp of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventTimestamp?: Date;\n /**\n * The type of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventType?: string;\n /**\n * The summary of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventSummary?: string;\n /**\n * The level of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventLevel?: string;\n /**\n * The description of the event associated with a prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly eventDescription?: string;\n}\n\n/** The paginated list of peering service prefixes. */\nexport interface PeeringServicePrefixListResult {\n /** The list of peering service prefixes. */\n value?: PeeringServicePrefix[];\n /** The link to fetch the next page of peering service prefixes. */\n nextLink?: string;\n}\n\n/** The paginated list of peering service providers. */\nexport interface PeeringServiceProviderListResult {\n /** The list of peering service providers. */\n value?: PeeringServiceProvider[];\n /** The link to fetch the next page of peering service providers. */\n nextLink?: string;\n}\n\n/** The SKU that defines the type of the peering service. */\nexport interface PeeringServiceSku {\n /** The name of the peering service SKU. */\n name?: string;\n}\n\n/** The properties that define a Log Analytics Workspace. */\nexport interface LogAnalyticsWorkspaceProperties {\n /**\n * The Workspace ID.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly workspaceID?: string;\n /**\n * The Workspace Key.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly key?: string;\n /**\n * The list of connected agents.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly connectedAgents?: string[];\n}\n\n/** The paginated list of peering services. */\nexport interface PeeringServiceListResult {\n /** The list of peering services. */\n value?: PeeringService[];\n /** The link to fetch the next page of peering services. */\n nextLink?: string;\n}\n\n/** The CDN peering prefix */\nexport type CdnPeeringPrefix = Resource & {\n /**\n * The prefix.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefix?: string;\n /**\n * The Azure region.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azureRegion?: string;\n /**\n * The Azure service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly azureService?: string;\n /**\n * The flag that indicates whether or not this is the primary region.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isPrimaryRegion?: boolean;\n /**\n * The BGP Community\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly bgpCommunity?: string;\n};\n\n/** Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location. */\nexport type Peering = Resource & {\n /** The SKU that defines the tier and kind of the peering. */\n sku: PeeringSku;\n /** The kind of the peering. */\n kind: Kind;\n /** The location of the resource. */\n location: string;\n /** The resource tags. */\n tags?: { [propertyName: string]: string };\n /** The properties that define a direct peering. */\n direct?: PeeringPropertiesDirect;\n /** The properties that define an exchange peering. */\n exchange?: PeeringPropertiesExchange;\n /** The location of the peering. */\n peeringLocation?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The essential information related to the peer's ASN. */\nexport type PeerAsn = Resource & {\n /** The Autonomous System Number (ASN) of the peer. */\n peerAsn?: number;\n /** The contact details of the peer. */\n peerContactDetail?: ContactDetail[];\n /** The name of the peer. */\n peerName?: string;\n /**\n * The validation state of the ASN associated with the peer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly validationState?: ValidationState;\n /**\n * The error message for the validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n};\n\n/** Peering location is where connectivity could be established to the Microsoft Cloud Edge. */\nexport type PeeringLocation = Resource & {\n /** The kind of peering that the peering location supports. */\n kind?: Kind;\n /** The properties that define a direct peering location. */\n direct?: PeeringLocationPropertiesDirect;\n /** The properties that define an exchange peering location. */\n exchange?: PeeringLocationPropertiesExchange;\n /** The name of the peering location. */\n peeringLocation?: string;\n /** The country in which the peering location exists. */\n country?: string;\n /** The Azure region associated with the peering location. */\n azureRegion?: string;\n};\n\n/** The customer's ASN that is registered by the peering service provider. */\nexport type PeeringRegisteredAsn = Resource & {\n /** The customer's ASN from which traffic originates. */\n asn?: number;\n /**\n * The peering service prefix key that is to be shared with the customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly peeringServicePrefixKey?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The customer's prefix that is registered by the peering service provider. */\nexport type PeeringRegisteredPrefix = Resource & {\n /** The customer's prefix from which traffic originates. */\n prefix?: string;\n /**\n * The prefix validation state.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefixValidationState?: PrefixValidationState;\n /**\n * The peering service prefix key that is to be shared with the customer.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly peeringServicePrefixKey?: string;\n /**\n * The error message associated with the validation state, if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The Connection Monitor Test class. */\nexport type ConnectionMonitorTest = Resource & {\n /** The Connection Monitor test source agent */\n sourceAgent?: string;\n /** The Connection Monitor test destination */\n destination?: string;\n /** The Connection Monitor test destination port */\n destinationPort?: number;\n /** The Connection Monitor test frequency in seconds */\n testFrequencyInSec?: number;\n /**\n * The flag that indicates if the Connection Monitor test is successful or not.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly isTestSuccessful?: boolean;\n /**\n * The path representing the Connection Monitor test.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly path?: string[];\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** The peering service country. */\nexport type PeeringServiceCountry = Resource & {};\n\n/** The peering service location. */\nexport type PeeringServiceLocation = Resource & {\n /** Country of the customer */\n country?: string;\n /** State of the customer */\n state?: string;\n /** Azure region for the location */\n azureRegion?: string;\n};\n\n/** The peering service prefix class. */\nexport type PeeringServicePrefix = Resource & {\n /** The prefix from which your traffic originates. */\n prefix?: string;\n /**\n * The prefix validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly prefixValidationState?: PrefixValidationState;\n /**\n * The prefix learned type\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly learnedType?: LearnedType;\n /**\n * The error message for validation state\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly errorMessage?: string;\n /**\n * The list of events for peering service prefix\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly events?: PeeringServicePrefixEvent[];\n /** The peering service prefix key */\n peeringServicePrefixKey?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n};\n\n/** PeeringService provider */\nexport type PeeringServiceProvider = Resource & {\n /** The name of the service provider. */\n serviceProviderName?: string;\n /** The list of locations at which the service provider peers with Microsoft. */\n peeringLocations?: string[];\n};\n\n/** Peering Service */\nexport type PeeringService = Resource & {\n /** The SKU that defines the type of the peering service. */\n sku?: PeeringServiceSku;\n /** The location of the resource. */\n location: string;\n /** The resource tags. */\n tags?: { [propertyName: string]: string };\n /** The location (state/province) of the customer. */\n peeringServiceLocation?: string;\n /** The name of the service provider. */\n peeringServiceProvider?: string;\n /**\n * The provisioning state of the resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly provisioningState?: ProvisioningState;\n /** The primary peering (Microsoft/service provider) location to be used for customer traffic. */\n providerPrimaryPeeringLocation?: string;\n /** The backup peering (Microsoft/service provider) location to be used for customer traffic. */\n providerBackupPeeringLocation?: string;\n /** The Log Analytics Workspace Properties */\n logAnalyticsWorkspaceProperties?: LogAnalyticsWorkspaceProperties;\n};\n\n/** Known values of {@link Enum0} that the service accepts. */\nexport enum KnownEnum0 {\n Available = \"Available\",\n Unavailable = \"Unavailable\"\n}\n\n/**\n * Defines values for Enum0. \\\n * {@link KnownEnum0} can be used interchangeably with Enum0,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Available** \\\n * **Unavailable**\n */\nexport type Enum0 = string;\n\n/** Known values of {@link LegacyPeeringsKind} that the service accepts. */\nexport enum KnownLegacyPeeringsKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for LegacyPeeringsKind. \\\n * {@link KnownLegacyPeeringsKind} can be used interchangeably with LegacyPeeringsKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type LegacyPeeringsKind = string;\n\n/** Known values of {@link Tier} that the service accepts. */\nexport enum KnownTier {\n Basic = \"Basic\",\n Premium = \"Premium\"\n}\n\n/**\n * Defines values for Tier. \\\n * {@link KnownTier} can be used interchangeably with Tier,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic** \\\n * **Premium**\n */\nexport type Tier = string;\n\n/** Known values of {@link Family} that the service accepts. */\nexport enum KnownFamily {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for Family. \\\n * {@link KnownFamily} can be used interchangeably with Family,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type Family = string;\n\n/** Known values of {@link Size} that the service accepts. */\nexport enum KnownSize {\n Free = \"Free\",\n Metered = \"Metered\",\n Unlimited = \"Unlimited\"\n}\n\n/**\n * Defines values for Size. \\\n * {@link KnownSize} can be used interchangeably with Size,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Free** \\\n * **Metered** \\\n * **Unlimited**\n */\nexport type Size = string;\n\n/** Known values of {@link Kind} that the service accepts. */\nexport enum KnownKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for Kind. \\\n * {@link KnownKind} can be used interchangeably with Kind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type Kind = string;\n\n/** Known values of {@link SessionAddressProvider} that the service accepts. */\nexport enum KnownSessionAddressProvider {\n Microsoft = \"Microsoft\",\n Peer = \"Peer\"\n}\n\n/**\n * Defines values for SessionAddressProvider. \\\n * {@link KnownSessionAddressProvider} can be used interchangeably with SessionAddressProvider,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft** \\\n * **Peer**\n */\nexport type SessionAddressProvider = string;\n\n/** Known values of {@link ConnectionState} that the service accepts. */\nexport enum KnownConnectionState {\n None = \"None\",\n PendingApproval = \"PendingApproval\",\n Approved = \"Approved\",\n ProvisioningStarted = \"ProvisioningStarted\",\n ProvisioningFailed = \"ProvisioningFailed\",\n ProvisioningCompleted = \"ProvisioningCompleted\",\n Validating = \"Validating\",\n Active = \"Active\"\n}\n\n/**\n * Defines values for ConnectionState. \\\n * {@link KnownConnectionState} can be used interchangeably with ConnectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **PendingApproval** \\\n * **Approved** \\\n * **ProvisioningStarted** \\\n * **ProvisioningFailed** \\\n * **ProvisioningCompleted** \\\n * **Validating** \\\n * **Active**\n */\nexport type ConnectionState = string;\n\n/** Known values of {@link SessionStateV4} that the service accepts. */\nexport enum KnownSessionStateV4 {\n None = \"None\",\n Idle = \"Idle\",\n Connect = \"Connect\",\n Active = \"Active\",\n OpenSent = \"OpenSent\",\n OpenConfirm = \"OpenConfirm\",\n OpenReceived = \"OpenReceived\",\n Established = \"Established\",\n PendingAdd = \"PendingAdd\",\n PendingUpdate = \"PendingUpdate\",\n PendingRemove = \"PendingRemove\"\n}\n\n/**\n * Defines values for SessionStateV4. \\\n * {@link KnownSessionStateV4} can be used interchangeably with SessionStateV4,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Idle** \\\n * **Connect** \\\n * **Active** \\\n * **OpenSent** \\\n * **OpenConfirm** \\\n * **OpenReceived** \\\n * **Established** \\\n * **PendingAdd** \\\n * **PendingUpdate** \\\n * **PendingRemove**\n */\nexport type SessionStateV4 = string;\n\n/** Known values of {@link SessionStateV6} that the service accepts. */\nexport enum KnownSessionStateV6 {\n None = \"None\",\n Idle = \"Idle\",\n Connect = \"Connect\",\n Active = \"Active\",\n OpenSent = \"OpenSent\",\n OpenConfirm = \"OpenConfirm\",\n OpenReceived = \"OpenReceived\",\n Established = \"Established\",\n PendingAdd = \"PendingAdd\",\n PendingUpdate = \"PendingUpdate\",\n PendingRemove = \"PendingRemove\"\n}\n\n/**\n * Defines values for SessionStateV6. \\\n * {@link KnownSessionStateV6} can be used interchangeably with SessionStateV6,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Idle** \\\n * **Connect** \\\n * **Active** \\\n * **OpenSent** \\\n * **OpenConfirm** \\\n * **OpenReceived** \\\n * **Established** \\\n * **PendingAdd** \\\n * **PendingUpdate** \\\n * **PendingRemove**\n */\nexport type SessionStateV6 = string;\n\n/** Known values of {@link DirectPeeringType} that the service accepts. */\nexport enum KnownDirectPeeringType {\n Edge = \"Edge\",\n Transit = \"Transit\",\n Cdn = \"Cdn\",\n Internal = \"Internal\",\n Ix = \"Ix\",\n IxRs = \"IxRs\",\n Voice = \"Voice\"\n}\n\n/**\n * Defines values for DirectPeeringType. \\\n * {@link KnownDirectPeeringType} can be used interchangeably with DirectPeeringType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Edge** \\\n * **Transit** \\\n * **Cdn** \\\n * **Internal** \\\n * **Ix** \\\n * **IxRs** \\\n * **Voice**\n */\nexport type DirectPeeringType = string;\n\n/** Known values of {@link ProvisioningState} that the service accepts. */\nexport enum KnownProvisioningState {\n Succeeded = \"Succeeded\",\n Updating = \"Updating\",\n Deleting = \"Deleting\",\n Failed = \"Failed\"\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 * **Succeeded** \\\n * **Updating** \\\n * **Deleting** \\\n * **Failed**\n */\nexport type ProvisioningState = string;\n\n/** Known values of {@link LookingGlassCommand} that the service accepts. */\nexport enum KnownLookingGlassCommand {\n Traceroute = \"Traceroute\",\n Ping = \"Ping\",\n BgpRoute = \"BgpRoute\"\n}\n\n/**\n * Defines values for LookingGlassCommand. \\\n * {@link KnownLookingGlassCommand} can be used interchangeably with LookingGlassCommand,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Traceroute** \\\n * **Ping** \\\n * **BgpRoute**\n */\nexport type LookingGlassCommand = string;\n\n/** Known values of {@link LookingGlassSourceType} that the service accepts. */\nexport enum KnownLookingGlassSourceType {\n EdgeSite = \"EdgeSite\",\n AzureRegion = \"AzureRegion\"\n}\n\n/**\n * Defines values for LookingGlassSourceType. \\\n * {@link KnownLookingGlassSourceType} can be used interchangeably with LookingGlassSourceType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EdgeSite** \\\n * **AzureRegion**\n */\nexport type LookingGlassSourceType = string;\n\n/** Known values of {@link Command} that the service accepts. */\nexport enum KnownCommand {\n Traceroute = \"Traceroute\",\n Ping = \"Ping\",\n BgpRoute = \"BgpRoute\"\n}\n\n/**\n * Defines values for Command. \\\n * {@link KnownCommand} can be used interchangeably with Command,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Traceroute** \\\n * **Ping** \\\n * **BgpRoute**\n */\nexport type Command = string;\n\n/** Known values of {@link Role} that the service accepts. */\nexport enum KnownRole {\n Noc = \"Noc\",\n Policy = \"Policy\",\n Technical = \"Technical\",\n Service = \"Service\",\n Escalation = \"Escalation\",\n Other = \"Other\"\n}\n\n/**\n * Defines values for Role. \\\n * {@link KnownRole} can be used interchangeably with Role,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Noc** \\\n * **Policy** \\\n * **Technical** \\\n * **Service** \\\n * **Escalation** \\\n * **Other**\n */\nexport type Role = string;\n\n/** Known values of {@link ValidationState} that the service accepts. */\nexport enum KnownValidationState {\n None = \"None\",\n Pending = \"Pending\",\n Approved = \"Approved\",\n Failed = \"Failed\"\n}\n\n/**\n * Defines values for ValidationState. \\\n * {@link KnownValidationState} can be used interchangeably with ValidationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Pending** \\\n * **Approved** \\\n * **Failed**\n */\nexport type ValidationState = string;\n\n/** Known values of {@link PeeringLocationsKind} that the service accepts. */\nexport enum KnownPeeringLocationsKind {\n Direct = \"Direct\",\n Exchange = \"Exchange\"\n}\n\n/**\n * Defines values for PeeringLocationsKind. \\\n * {@link KnownPeeringLocationsKind} can be used interchangeably with PeeringLocationsKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Direct** \\\n * **Exchange**\n */\nexport type PeeringLocationsKind = string;\n\n/** Known values of {@link PeeringLocationsDirectPeeringType} that the service accepts. */\nexport enum KnownPeeringLocationsDirectPeeringType {\n Edge = \"Edge\",\n Transit = \"Transit\",\n Cdn = \"Cdn\",\n Internal = \"Internal\",\n Ix = \"Ix\",\n IxRs = \"IxRs\",\n Voice = \"Voice\"\n}\n\n/**\n * Defines values for PeeringLocationsDirectPeeringType. \\\n * {@link KnownPeeringLocationsDirectPeeringType} can be used interchangeably with PeeringLocationsDirectPeeringType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Edge** \\\n * **Transit** \\\n * **Cdn** \\\n * **Internal** \\\n * **Ix** \\\n * **IxRs** \\\n * **Voice**\n */\nexport type PeeringLocationsDirectPeeringType = string;\n\n/** Known values of {@link PrefixValidationState} that the service accepts. */\nexport enum KnownPrefixValidationState {\n None = \"None\",\n Invalid = \"Invalid\",\n Verified = \"Verified\",\n Failed = \"Failed\",\n Pending = \"Pending\",\n Warning = \"Warning\",\n Unknown = \"Unknown\"\n}\n\n/**\n * Defines values for PrefixValidationState. \\\n * {@link KnownPrefixValidationState} can be used interchangeably with PrefixValidationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **Invalid** \\\n * **Verified** \\\n * **Failed** \\\n * **Pending** \\\n * **Warning** \\\n * **Unknown**\n */\nexport type PrefixValidationState = string;\n\n/** Known values of {@link LearnedType} that the service accepts. */\nexport enum KnownLearnedType {\n None = \"None\",\n ViaServiceProvider = \"ViaServiceProvider\",\n ViaSession = \"ViaSession\"\n}\n\n/**\n * Defines values for LearnedType. \\\n * {@link KnownLearnedType} can be used interchangeably with LearnedType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None** \\\n * **ViaServiceProvider** \\\n * **ViaSession**\n */\nexport type LearnedType = string;\n\n/** Optional parameters. */\nexport interface CdnPeeringPrefixesListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type CdnPeeringPrefixesListResponse = CdnPeeringPrefixListResult;\n\n/** Optional parameters. */\nexport interface CdnPeeringPrefixesListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type CdnPeeringPrefixesListNextResponse = CdnPeeringPrefixListResult;\n\n/** Optional parameters. */\nexport interface CheckServiceProviderAvailabilityOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the checkServiceProviderAvailability operation. */\nexport type CheckServiceProviderAvailabilityResponse = {\n /** The parsed response body. */\n body: Enum0;\n};\n\n/** Optional parameters. */\nexport interface LegacyPeeringsListOptionalParams\n extends coreClient.OperationOptions {\n /** The ASN number associated with a legacy peering. */\n asn?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type LegacyPeeringsListResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface LegacyPeeringsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The ASN number associated with a legacy peering. */\n asn?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type LegacyPeeringsListNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface LookingGlassInvokeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the invoke operation. */\nexport type LookingGlassInvokeResponse = LookingGlassOutput;\n\n/** Optional parameters. */\nexport interface OperationsListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type OperationsListResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface OperationsListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type OperationsListNextResponse = OperationListResult;\n\n/** Optional parameters. */\nexport interface PeerAsnsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeerAsnsGetResponse = PeerAsn;\n\n/** Optional parameters. */\nexport interface PeerAsnsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeerAsnsCreateOrUpdateResponse = PeerAsn;\n\n/** Optional parameters. */\nexport interface PeerAsnsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeerAsnsListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeerAsnsListBySubscriptionResponse = PeerAsnListResult;\n\n/** Optional parameters. */\nexport interface PeerAsnsListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeerAsnsListBySubscriptionNextResponse = PeerAsnListResult;\n\n/** Optional parameters. */\nexport interface PeeringLocationsListOptionalParams\n extends coreClient.OperationOptions {\n /** The type of direct peering. */\n directPeeringType?: PeeringLocationsDirectPeeringType;\n}\n\n/** Contains response data for the list operation. */\nexport type PeeringLocationsListResponse = PeeringLocationListResult;\n\n/** Optional parameters. */\nexport interface PeeringLocationsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The type of direct peering. */\n directPeeringType?: PeeringLocationsDirectPeeringType;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringLocationsListNextResponse = PeeringLocationListResult;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type RegisteredAsnsGetResponse = PeeringRegisteredAsn;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type RegisteredAsnsCreateOrUpdateResponse = PeeringRegisteredAsn;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface RegisteredAsnsListByPeeringOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeering operation. */\nexport type RegisteredAsnsListByPeeringResponse = PeeringRegisteredAsnListResult;\n\n/** Optional parameters. */\nexport interface RegisteredAsnsListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type RegisteredAsnsListByPeeringNextResponse = PeeringRegisteredAsnListResult;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type RegisteredPrefixesGetResponse = PeeringRegisteredPrefix;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type RegisteredPrefixesCreateOrUpdateResponse = PeeringRegisteredPrefix;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesListByPeeringOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeering operation. */\nexport type RegisteredPrefixesListByPeeringResponse = PeeringRegisteredPrefixListResult;\n\n/** Optional parameters. */\nexport interface RegisteredPrefixesListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type RegisteredPrefixesListByPeeringNextResponse = PeeringRegisteredPrefixListResult;\n\n/** Optional parameters. */\nexport interface PeeringsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeeringsGetResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeeringsCreateOrUpdateResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PeeringsUpdateResponse = Peering;\n\n/** Optional parameters. */\nexport interface PeeringsListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type PeeringsListByResourceGroupResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeeringsListBySubscriptionResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type PeeringsListByResourceGroupNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface PeeringsListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeeringsListBySubscriptionNextResponse = PeeringListResult;\n\n/** Optional parameters. */\nexport interface ReceivedRoutesListByPeeringOptionalParams\n extends coreClient.OperationOptions {\n /** The optional prefix that can be used to filter the routes. */\n prefix?: string;\n /** The optional AS path that can be used to filter the routes. */\n asPath?: string;\n /** The optional origin AS validation state that can be used to filter the routes. */\n originAsValidationState?: string;\n /** The optional RPKI validation state that can be used to filter the routes. */\n rpkiValidationState?: string;\n /** The optional page continuation token that is used in the event of paginated result. */\n skipToken?: string;\n}\n\n/** Contains response data for the listByPeering operation. */\nexport type ReceivedRoutesListByPeeringResponse = PeeringReceivedRouteListResult;\n\n/** Optional parameters. */\nexport interface ReceivedRoutesListByPeeringNextOptionalParams\n extends coreClient.OperationOptions {\n /** The optional prefix that can be used to filter the routes. */\n prefix?: string;\n /** The optional AS path that can be used to filter the routes. */\n asPath?: string;\n /** The optional origin AS validation state that can be used to filter the routes. */\n originAsValidationState?: string;\n /** The optional RPKI validation state that can be used to filter the routes. */\n rpkiValidationState?: string;\n /** The optional page continuation token that is used in the event of paginated result. */\n skipToken?: string;\n}\n\n/** Contains response data for the listByPeeringNext operation. */\nexport type ReceivedRoutesListByPeeringNextResponse = PeeringReceivedRouteListResult;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type ConnectionMonitorTestsGetResponse = ConnectionMonitorTest;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type ConnectionMonitorTestsCreateOrUpdateResponse = ConnectionMonitorTest;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsListByPeeringServiceOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringService operation. */\nexport type ConnectionMonitorTestsListByPeeringServiceResponse = ConnectionMonitorTestListResult;\n\n/** Optional parameters. */\nexport interface ConnectionMonitorTestsListByPeeringServiceNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByPeeringServiceNext operation. */\nexport type ConnectionMonitorTestsListByPeeringServiceNextResponse = ConnectionMonitorTestListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceCountriesListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceCountriesListResponse = PeeringServiceCountryListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceCountriesListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceCountriesListNextResponse = PeeringServiceCountryListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceLocationsListOptionalParams\n extends coreClient.OperationOptions {\n /** The country of interest, in which the locations are to be present. */\n country?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceLocationsListResponse = PeeringServiceLocationListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceLocationsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The country of interest, in which the locations are to be present. */\n country?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceLocationsListNextResponse = PeeringServiceLocationListResult;\n\n/** Optional parameters. */\nexport interface PrefixesGetOptionalParams extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the get operation. */\nexport type PrefixesGetResponse = PeeringServicePrefix;\n\n/** Optional parameters. */\nexport interface PrefixesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PrefixesCreateOrUpdateResponse = PeeringServicePrefix;\n\n/** Optional parameters. */\nexport interface PrefixesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PrefixesListByPeeringServiceOptionalParams\n extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the listByPeeringService operation. */\nexport type PrefixesListByPeeringServiceResponse = PeeringServicePrefixListResult;\n\n/** Optional parameters. */\nexport interface PrefixesListByPeeringServiceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The properties to be expanded. */\n expand?: string;\n}\n\n/** Contains response data for the listByPeeringServiceNext operation. */\nexport type PrefixesListByPeeringServiceNextResponse = PeeringServicePrefixListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceProvidersListOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the list operation. */\nexport type PeeringServiceProvidersListResponse = PeeringServiceProviderListResult;\n\n/** Optional parameters. */\nexport interface PeeringServiceProvidersListNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listNext operation. */\nexport type PeeringServiceProvidersListNextResponse = PeeringServiceProviderListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PeeringServicesGetResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PeeringServicesCreateOrUpdateResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringServicesUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PeeringServicesUpdateResponse = PeeringService;\n\n/** Optional parameters. */\nexport interface PeeringServicesListByResourceGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroup operation. */\nexport type PeeringServicesListByResourceGroupResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesListBySubscriptionOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscription operation. */\nexport type PeeringServicesListBySubscriptionResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesInitializeConnectionMonitorOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PeeringServicesListByResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listByResourceGroupNext operation. */\nexport type PeeringServicesListByResourceGroupNextResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringServicesListBySubscriptionNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listBySubscriptionNext operation. */\nexport type PeeringServicesListBySubscriptionNextResponse = PeeringServiceListResult;\n\n/** Optional parameters. */\nexport interface PeeringManagementClientOptionalParams\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 CdnPeeringPrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Resource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\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 ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorDetail\"\n }\n }\n }\n }\n};\n\nexport const ErrorDetail: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorDetail\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CheckServiceProviderAvailabilityInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CheckServiceProviderAvailabilityInput\",\n modelProperties: {\n peeringServiceLocation: {\n serializedName: \"peeringServiceLocation\",\n type: {\n name: \"String\"\n }\n },\n peeringServiceProvider: {\n serializedName: \"peeringServiceProvider\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Peering\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringSku: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringSku\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tier: {\n serializedName: \"tier\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n family: {\n serializedName: \"family\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringPropertiesDirect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesDirect\",\n modelProperties: {\n connections: {\n serializedName: \"connections\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DirectConnection\"\n }\n }\n }\n },\n useForPeeringService: {\n serializedName: \"useForPeeringService\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n peerAsn: {\n serializedName: \"peerAsn\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n directPeeringType: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DirectConnection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DirectConnection\",\n modelProperties: {\n bandwidthInMbps: {\n serializedName: \"bandwidthInMbps\",\n type: {\n name: \"Number\"\n }\n },\n provisionedBandwidthInMbps: {\n serializedName: \"provisionedBandwidthInMbps\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n sessionAddressProvider: {\n serializedName: \"sessionAddressProvider\",\n type: {\n name: \"String\"\n }\n },\n useForPeeringService: {\n serializedName: \"useForPeeringService\",\n type: {\n name: \"Boolean\"\n }\n },\n microsoftTrackingId: {\n serializedName: \"microsoftTrackingId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n connectionState: {\n serializedName: \"connectionState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n bgpSession: {\n serializedName: \"bgpSession\",\n type: {\n name: \"Composite\",\n className: \"BgpSession\"\n }\n },\n connectionIdentifier: {\n serializedName: \"connectionIdentifier\",\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BgpSession: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BgpSession\",\n modelProperties: {\n sessionPrefixV4: {\n serializedName: \"sessionPrefixV4\",\n type: {\n name: \"String\"\n }\n },\n sessionPrefixV6: {\n serializedName: \"sessionPrefixV6\",\n type: {\n name: \"String\"\n }\n },\n microsoftSessionIPv4Address: {\n serializedName: \"microsoftSessionIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n microsoftSessionIPv6Address: {\n serializedName: \"microsoftSessionIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n peerSessionIPv4Address: {\n serializedName: \"peerSessionIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n peerSessionIPv6Address: {\n serializedName: \"peerSessionIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n sessionStateV4: {\n serializedName: \"sessionStateV4\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n sessionStateV6: {\n serializedName: \"sessionStateV6\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n maxPrefixesAdvertisedV4: {\n serializedName: \"maxPrefixesAdvertisedV4\",\n type: {\n name: \"Number\"\n }\n },\n maxPrefixesAdvertisedV6: {\n serializedName: \"maxPrefixesAdvertisedV6\",\n type: {\n name: \"Number\"\n }\n },\n md5AuthenticationKey: {\n serializedName: \"md5AuthenticationKey\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\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 PeeringPropertiesExchange: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesExchange\",\n modelProperties: {\n connections: {\n serializedName: \"connections\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ExchangeConnection\"\n }\n }\n }\n },\n peerAsn: {\n serializedName: \"peerAsn\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const ExchangeConnection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ExchangeConnection\",\n modelProperties: {\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n connectionState: {\n serializedName: \"connectionState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n bgpSession: {\n serializedName: \"bgpSession\",\n type: {\n name: \"Composite\",\n className: \"BgpSession\"\n }\n },\n connectionIdentifier: {\n serializedName: \"connectionIdentifier\",\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LookingGlassOutput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LookingGlassOutput\",\n modelProperties: {\n command: {\n serializedName: \"command\",\n type: {\n name: \"String\"\n }\n },\n output: {\n serializedName: \"output\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Operation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Operation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Operation\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n display: {\n serializedName: \"display\",\n type: {\n name: \"Composite\",\n className: \"OperationDisplayInfo\"\n }\n },\n isDataAction: {\n serializedName: \"isDataAction\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n serviceSpecification: {\n serializedName: \"properties.serviceSpecification\",\n type: {\n name: \"Composite\",\n className: \"ServiceSpecification\"\n }\n }\n }\n }\n};\n\nexport const OperationDisplayInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDisplayInfo\",\n modelProperties: {\n provider: {\n serializedName: \"provider\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n resource: {\n serializedName: \"resource\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operation: {\n serializedName: \"operation\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ServiceSpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceSpecification\",\n modelProperties: {\n metricSpecifications: {\n serializedName: \"metricSpecifications\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricSpecification\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MetricSpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricSpecification\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayDescription: {\n serializedName: \"displayDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n unit: {\n serializedName: \"unit\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n aggregationType: {\n serializedName: \"aggregationType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n supportedTimeGrainTypes: {\n serializedName: \"supportedTimeGrainTypes\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n dimensions: {\n serializedName: \"dimensions\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MetricDimension\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MetricDimension: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MetricDimension\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContactDetail: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContactDetail\",\n modelProperties: {\n role: {\n serializedName: \"role\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phone: {\n serializedName: \"phone\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeerAsnListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerAsnListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeerAsn\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringLocation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationPropertiesDirect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesDirect\",\n modelProperties: {\n peeringFacilities: {\n serializedName: \"peeringFacilities\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DirectPeeringFacility\"\n }\n }\n }\n },\n bandwidthOffers: {\n serializedName: \"bandwidthOffers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringBandwidthOffer\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DirectPeeringFacility: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DirectPeeringFacility\",\n modelProperties: {\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n directPeeringType: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n peeringDBFacilityLink: {\n serializedName: \"peeringDBFacilityLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringBandwidthOffer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringBandwidthOffer\",\n modelProperties: {\n offerName: {\n serializedName: \"offerName\",\n type: {\n name: \"String\"\n }\n },\n valueInMbps: {\n serializedName: \"valueInMbps\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocationPropertiesExchange: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesExchange\",\n modelProperties: {\n peeringFacilities: {\n serializedName: \"peeringFacilities\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ExchangePeeringFacility\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ExchangePeeringFacility: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ExchangePeeringFacility\",\n modelProperties: {\n exchangeName: {\n serializedName: \"exchangeName\",\n type: {\n name: \"String\"\n }\n },\n bandwidthInMbps: {\n serializedName: \"bandwidthInMbps\",\n type: {\n name: \"Number\"\n }\n },\n microsoftIPv4Address: {\n serializedName: \"microsoftIPv4Address\",\n type: {\n name: \"String\"\n }\n },\n microsoftIPv6Address: {\n serializedName: \"microsoftIPv6Address\",\n type: {\n name: \"String\"\n }\n },\n facilityIPv4Prefix: {\n serializedName: \"facilityIPv4Prefix\",\n type: {\n name: \"String\"\n }\n },\n facilityIPv6Prefix: {\n serializedName: \"facilityIPv6Prefix\",\n type: {\n name: \"String\"\n }\n },\n peeringDBFacilityId: {\n serializedName: \"peeringDBFacilityId\",\n type: {\n name: \"Number\"\n }\n },\n peeringDBFacilityLink: {\n serializedName: \"peeringDBFacilityLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredAsnListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsnListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsn\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredPrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ResourceTags: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceTags\",\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 PeeringReceivedRouteListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRouteListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRoute\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringReceivedRoute: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringReceivedRoute\",\n modelProperties: {\n prefix: {\n serializedName: \"prefix\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n nextHop: {\n serializedName: \"nextHop\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n asPath: {\n serializedName: \"asPath\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n originAsValidationState: {\n serializedName: \"originAsValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n rpkiValidationState: {\n serializedName: \"rpkiValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n trustAnchor: {\n serializedName: \"trustAnchor\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n receivedTimestamp: {\n serializedName: \"receivedTimestamp\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ConnectionMonitorTestListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTestListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTest\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceCountryListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountryListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountry\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceLocationListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocationListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocation\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefixEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixEvent\",\n modelProperties: {\n eventTimestamp: {\n serializedName: \"eventTimestamp\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n eventType: {\n serializedName: \"eventType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventSummary: {\n serializedName: \"eventSummary\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventLevel: {\n serializedName: \"eventLevel\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n eventDescription: {\n serializedName: \"eventDescription\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefixListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefix\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceProviderListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProviderListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProvider\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceSku: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceSku\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LogAnalyticsWorkspaceProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LogAnalyticsWorkspaceProperties\",\n modelProperties: {\n workspaceID: {\n serializedName: \"workspaceID\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n connectedAgents: {\n serializedName: \"connectedAgents\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PeeringServiceListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringService\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CdnPeeringPrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CdnPeeringPrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n azureService: {\n serializedName: \"properties.azureService\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n isPrimaryRegion: {\n serializedName: \"properties.isPrimaryRegion\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n bgpCommunity: {\n serializedName: \"properties.bgpCommunity\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Peering: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Peering\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sku: {\n serializedName: \"sku\",\n type: {\n name: \"Composite\",\n className: \"PeeringSku\"\n }\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n direct: {\n serializedName: \"properties.direct\",\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesDirect\"\n }\n },\n exchange: {\n serializedName: \"properties.exchange\",\n type: {\n name: \"Composite\",\n className: \"PeeringPropertiesExchange\"\n }\n },\n peeringLocation: {\n serializedName: \"properties.peeringLocation\",\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 PeerAsn: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerAsn\",\n modelProperties: {\n ...Resource.type.modelProperties,\n peerAsn: {\n serializedName: \"properties.peerAsn\",\n type: {\n name: \"Number\"\n }\n },\n peerContactDetail: {\n serializedName: \"properties.peerContactDetail\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ContactDetail\"\n }\n }\n }\n },\n peerName: {\n serializedName: \"properties.peerName\",\n type: {\n name: \"String\"\n }\n },\n validationState: {\n serializedName: \"properties.validationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringLocation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringLocation\",\n modelProperties: {\n ...Resource.type.modelProperties,\n kind: {\n serializedName: \"kind\",\n type: {\n name: \"String\"\n }\n },\n direct: {\n serializedName: \"properties.direct\",\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesDirect\"\n }\n },\n exchange: {\n serializedName: \"properties.exchange\",\n type: {\n name: \"Composite\",\n className: \"PeeringLocationPropertiesExchange\"\n }\n },\n peeringLocation: {\n serializedName: \"properties.peeringLocation\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringRegisteredAsn: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredAsn\",\n modelProperties: {\n ...Resource.type.modelProperties,\n asn: {\n serializedName: \"properties.asn\",\n type: {\n name: \"Number\"\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\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 }\n }\n};\n\nexport const PeeringRegisteredPrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringRegisteredPrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n type: {\n name: \"String\"\n }\n },\n prefixValidationState: {\n serializedName: \"properties.prefixValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\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 }\n }\n};\n\nexport const ConnectionMonitorTest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ConnectionMonitorTest\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sourceAgent: {\n serializedName: \"properties.sourceAgent\",\n type: {\n name: \"String\"\n }\n },\n destination: {\n serializedName: \"properties.destination\",\n type: {\n name: \"String\"\n }\n },\n destinationPort: {\n serializedName: \"properties.destinationPort\",\n type: {\n name: \"Number\"\n }\n },\n testFrequencyInSec: {\n serializedName: \"properties.testFrequencyInSec\",\n type: {\n name: \"Number\"\n }\n },\n isTestSuccessful: {\n serializedName: \"properties.isTestSuccessful\",\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n path: {\n serializedName: \"properties.path\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServiceCountry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceCountry\",\n modelProperties: {\n ...Resource.type.modelProperties\n }\n }\n};\n\nexport const PeeringServiceLocation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceLocation\",\n modelProperties: {\n ...Resource.type.modelProperties,\n country: {\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n state: {\n serializedName: \"properties.state\",\n type: {\n name: \"String\"\n }\n },\n azureRegion: {\n serializedName: \"properties.azureRegion\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PeeringServicePrefix: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefix\",\n modelProperties: {\n ...Resource.type.modelProperties,\n prefix: {\n serializedName: \"properties.prefix\",\n type: {\n name: \"String\"\n }\n },\n prefixValidationState: {\n serializedName: \"properties.prefixValidationState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n learnedType: {\n serializedName: \"properties.learnedType\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"properties.errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n events: {\n serializedName: \"properties.events\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PeeringServicePrefixEvent\"\n }\n }\n }\n },\n peeringServicePrefixKey: {\n serializedName: \"properties.peeringServicePrefixKey\",\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 PeeringServiceProvider: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringServiceProvider\",\n modelProperties: {\n ...Resource.type.modelProperties,\n serviceProviderName: {\n serializedName: \"properties.serviceProviderName\",\n type: {\n name: \"String\"\n }\n },\n peeringLocations: {\n serializedName: \"properties.peeringLocations\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PeeringService: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeeringService\",\n modelProperties: {\n ...Resource.type.modelProperties,\n sku: {\n serializedName: \"sku\",\n type: {\n name: \"Composite\",\n className: \"PeeringServiceSku\"\n }\n },\n location: {\n serializedName: \"location\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n peeringServiceLocation: {\n serializedName: \"properties.peeringServiceLocation\",\n type: {\n name: \"String\"\n }\n },\n peeringServiceProvider: {\n serializedName: \"properties.peeringServiceProvider\",\n type: {\n name: \"String\"\n }\n },\n provisioningState: {\n serializedName: \"properties.provisioningState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n providerPrimaryPeeringLocation: {\n serializedName: \"properties.providerPrimaryPeeringLocation\",\n type: {\n name: \"String\"\n }\n },\n providerBackupPeeringLocation: {\n serializedName: \"properties.providerBackupPeeringLocation\",\n type: {\n name: \"String\"\n }\n },\n logAnalyticsWorkspaceProperties: {\n serializedName: \"properties.logAnalyticsWorkspaceProperties\",\n type: {\n name: \"Composite\",\n className: \"LogAnalyticsWorkspaceProperties\"\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 CheckServiceProviderAvailabilityInput as CheckServiceProviderAvailabilityInputMapper,\n PeerAsn as PeerAsnMapper,\n PeeringRegisteredAsn as PeeringRegisteredAsnMapper,\n PeeringRegisteredPrefix as PeeringRegisteredPrefixMapper,\n Peering as PeeringMapper,\n ResourceTags as ResourceTagsMapper,\n ConnectionMonitorTest as ConnectionMonitorTestMapper,\n PeeringServicePrefix as PeeringServicePrefixMapper,\n PeeringService as PeeringServiceMapper\n} from \"../models/mappers\";\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 peeringLocation: OperationQueryParameter = {\n parameterPath: \"peeringLocation\",\n mapper: {\n serializedName: \"peeringLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\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 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 checkServiceProviderAvailabilityInput: OperationParameter = {\n parameterPath: \"checkServiceProviderAvailabilityInput\",\n mapper: CheckServiceProviderAvailabilityInputMapper\n};\n\nexport const kind: OperationQueryParameter = {\n parameterPath: \"kind\",\n mapper: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const asn: OperationQueryParameter = {\n parameterPath: [\"options\", \"asn\"],\n mapper: {\n serializedName: \"asn\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const command: OperationQueryParameter = {\n parameterPath: \"command\",\n mapper: {\n serializedName: \"command\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sourceType: OperationQueryParameter = {\n parameterPath: \"sourceType\",\n mapper: {\n serializedName: \"sourceType\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const sourceLocation: OperationQueryParameter = {\n parameterPath: \"sourceLocation\",\n mapper: {\n serializedName: \"sourceLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const destinationIP: OperationQueryParameter = {\n parameterPath: \"destinationIP\",\n mapper: {\n serializedName: \"destinationIP\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peerAsnName: OperationURLParameter = {\n parameterPath: \"peerAsnName\",\n mapper: {\n serializedName: \"peerAsnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peerAsn: OperationParameter = {\n parameterPath: \"peerAsn\",\n mapper: PeerAsnMapper\n};\n\nexport const kind1: OperationQueryParameter = {\n parameterPath: \"kind\",\n mapper: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const directPeeringType: OperationQueryParameter = {\n parameterPath: [\"options\", \"directPeeringType\"],\n mapper: {\n serializedName: \"directPeeringType\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const resourceGroupName: OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n serializedName: \"resourceGroupName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringName: OperationURLParameter = {\n parameterPath: \"peeringName\",\n mapper: {\n serializedName: \"peeringName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredAsnName: OperationURLParameter = {\n parameterPath: \"registeredAsnName\",\n mapper: {\n serializedName: \"registeredAsnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredAsn: OperationParameter = {\n parameterPath: \"registeredAsn\",\n mapper: PeeringRegisteredAsnMapper\n};\n\nexport const registeredPrefixName: OperationURLParameter = {\n parameterPath: \"registeredPrefixName\",\n mapper: {\n serializedName: \"registeredPrefixName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const registeredPrefix: OperationParameter = {\n parameterPath: \"registeredPrefix\",\n mapper: PeeringRegisteredPrefixMapper\n};\n\nexport const peering: OperationParameter = {\n parameterPath: \"peering\",\n mapper: PeeringMapper\n};\n\nexport const tags: OperationParameter = {\n parameterPath: \"tags\",\n mapper: ResourceTagsMapper\n};\n\nexport const prefix: OperationQueryParameter = {\n parameterPath: [\"options\", \"prefix\"],\n mapper: {\n serializedName: \"prefix\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const asPath: OperationQueryParameter = {\n parameterPath: [\"options\", \"asPath\"],\n mapper: {\n serializedName: \"asPath\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const originAsValidationState: OperationQueryParameter = {\n parameterPath: [\"options\", \"originAsValidationState\"],\n mapper: {\n serializedName: \"originAsValidationState\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const rpkiValidationState: OperationQueryParameter = {\n parameterPath: [\"options\", \"rpkiValidationState\"],\n mapper: {\n serializedName: \"rpkiValidationState\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const skipToken: OperationQueryParameter = {\n parameterPath: [\"options\", \"skipToken\"],\n mapper: {\n serializedName: \"$skipToken\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringServiceName: OperationURLParameter = {\n parameterPath: \"peeringServiceName\",\n mapper: {\n serializedName: \"peeringServiceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const connectionMonitorTestName: OperationURLParameter = {\n parameterPath: \"connectionMonitorTestName\",\n mapper: {\n serializedName: \"connectionMonitorTestName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const connectionMonitorTest: OperationParameter = {\n parameterPath: \"connectionMonitorTest\",\n mapper: ConnectionMonitorTestMapper\n};\n\nexport const country: OperationQueryParameter = {\n parameterPath: [\"options\", \"country\"],\n mapper: {\n serializedName: \"country\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const prefixName: OperationURLParameter = {\n parameterPath: \"prefixName\",\n mapper: {\n serializedName: \"prefixName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const expand: OperationQueryParameter = {\n parameterPath: [\"options\", \"expand\"],\n mapper: {\n serializedName: \"$expand\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const peeringServicePrefix: OperationParameter = {\n parameterPath: \"peeringServicePrefix\",\n mapper: PeeringServicePrefixMapper\n};\n\nexport const peeringService: OperationParameter = {\n parameterPath: \"peeringService\",\n mapper: PeeringServiceMapper\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 { CdnPeeringPrefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n CdnPeeringPrefix,\n CdnPeeringPrefixesListNextOptionalParams,\n CdnPeeringPrefixesListOptionalParams,\n CdnPeeringPrefixesListResponse,\n CdnPeeringPrefixesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing CdnPeeringPrefixes operations. */\nexport class CdnPeeringPrefixesImpl implements CdnPeeringPrefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class CdnPeeringPrefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the advertised prefixes for the specified peering location\n * @param peeringLocation The peering location.\n * @param options The options parameters.\n */\n public list(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): PagedAsyncIterableIterator<CdnPeeringPrefix> {\n const iter = this.listPagingAll(peeringLocation, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(peeringLocation, options);\n }\n };\n }\n\n private async *listPagingPage(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): AsyncIterableIterator<CdnPeeringPrefix[]> {\n let result = await this._list(peeringLocation, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n peeringLocation,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): AsyncIterableIterator<CdnPeeringPrefix> {\n for await (const page of this.listPagingPage(peeringLocation, options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the advertised prefixes for the specified peering location\n * @param peeringLocation The peering location.\n * @param options The options parameters.\n */\n private _list(\n peeringLocation: string,\n options?: CdnPeeringPrefixesListOptionalParams\n ): Promise<CdnPeeringPrefixesListResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param peeringLocation The peering location.\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 peeringLocation: string,\n nextLink: string,\n options?: CdnPeeringPrefixesListNextOptionalParams\n ): Promise<CdnPeeringPrefixesListNextResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/cdnPeeringPrefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CdnPeeringPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.peeringLocation, Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CdnPeeringPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.peeringLocation, Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { LegacyPeerings } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Peering,\n LegacyPeeringsKind,\n LegacyPeeringsListNextOptionalParams,\n LegacyPeeringsListOptionalParams,\n LegacyPeeringsListResponse,\n LegacyPeeringsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing LegacyPeerings operations. */\nexport class LegacyPeeringsImpl implements LegacyPeerings {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class LegacyPeerings class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the legacy peerings under the given subscription matching the specified kind and\n * location.\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n public list(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\n const iter = this.listPagingAll(peeringLocation, kind, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(peeringLocation, kind, options);\n }\n };\n }\n\n private async *listPagingPage(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): AsyncIterableIterator<Peering[]> {\n let result = await this._list(peeringLocation, kind, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(\n peeringLocation,\n kind,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listPagingPage(\n peeringLocation,\n kind,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the legacy peerings under the given subscription matching the specified kind and\n * location.\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n private _list(\n peeringLocation: string,\n kind: LegacyPeeringsKind,\n options?: LegacyPeeringsListOptionalParams\n ): Promise<LegacyPeeringsListResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, kind, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param peeringLocation The location of the peering.\n * @param kind The kind of the peering.\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 peeringLocation: string,\n kind: LegacyPeeringsKind,\n nextLink: string,\n options?: LegacyPeeringsListNextOptionalParams\n ): Promise<LegacyPeeringsListNextResponse> {\n return this.client.sendOperationRequest(\n { peeringLocation, kind, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.peeringLocation,\n Parameters.apiVersion,\n Parameters.kind,\n Parameters.asn\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.peeringLocation,\n Parameters.apiVersion,\n Parameters.kind,\n Parameters.asn\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { LookingGlass } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n LookingGlassCommand,\n LookingGlassSourceType,\n LookingGlassInvokeOptionalParams,\n LookingGlassInvokeResponse\n} from \"../models\";\n\n/** Class containing LookingGlass operations. */\nexport class LookingGlassImpl implements LookingGlass {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class LookingGlass class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Run looking glass functionality\n * @param command The command to be executed: ping, traceroute, bgpRoute.\n * @param sourceType The type of the source: Edge site or Azure Region.\n * @param sourceLocation The location of the source.\n * @param destinationIP The IP address of the destination.\n * @param options The options parameters.\n */\n invoke(\n command: LookingGlassCommand,\n sourceType: LookingGlassSourceType,\n sourceLocation: string,\n destinationIP: string,\n options?: LookingGlassInvokeOptionalParams\n ): Promise<LookingGlassInvokeResponse> {\n return this.client.sendOperationRequest(\n { command, sourceType, sourceLocation, destinationIP, options },\n invokeOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst invokeOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/lookingGlass\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.LookingGlassOutput\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.command,\n Parameters.sourceType,\n Parameters.sourceLocation,\n Parameters.destinationIP\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\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 { Operations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Operation,\n OperationsListNextOptionalParams,\n OperationsListOptionalParams,\n OperationsListResponse,\n OperationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Operations operations. */\nexport class OperationsImpl implements Operations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Operations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available API operations for peering resources.\n * @param options The options parameters.\n */\n public list(\n options?: OperationsListOptionalParams\n ): PagedAsyncIterableIterator<Operation> {\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?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation[]> {\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?: OperationsListOptionalParams\n ): AsyncIterableIterator<Operation> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available API operations for peering resources.\n * @param options The options parameters.\n */\n private _list(\n options?: OperationsListOptionalParams\n ): Promise<OperationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: OperationsListNextOptionalParams\n ): Promise<OperationsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Peering/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.nextLink],\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 { PeerAsns } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeerAsn,\n PeerAsnsListBySubscriptionNextOptionalParams,\n PeerAsnsListBySubscriptionOptionalParams,\n PeerAsnsGetOptionalParams,\n PeerAsnsGetResponse,\n PeerAsnsCreateOrUpdateOptionalParams,\n PeerAsnsCreateOrUpdateResponse,\n PeerAsnsDeleteOptionalParams,\n PeerAsnsListBySubscriptionResponse,\n PeerAsnsListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeerAsns operations. */\nexport class PeerAsnsImpl implements PeerAsns {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeerAsns class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peer ASNs under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<PeerAsn> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeerAsn[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeerAsn> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the peer ASN with the specified name under the given subscription.\n * @param peerAsnName The peer ASN name.\n * @param options The options parameters.\n */\n get(\n peerAsnName: string,\n options?: PeerAsnsGetOptionalParams\n ): Promise<PeerAsnsGetResponse> {\n return this.client.sendOperationRequest(\n { peerAsnName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peer ASN or updates an existing peer ASN with the specified name under the given\n * subscription.\n * @param peerAsnName The peer ASN name.\n * @param peerAsn The peer ASN.\n * @param options The options parameters.\n */\n createOrUpdate(\n peerAsnName: string,\n peerAsn: PeerAsn,\n options?: PeerAsnsCreateOrUpdateOptionalParams\n ): Promise<PeerAsnsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { peerAsnName, peerAsn, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peer ASN with the specified name under the given subscription.\n * @param peerAsnName The peer ASN name.\n * @param options The options parameters.\n */\n delete(\n peerAsnName: string,\n options?: PeerAsnsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { peerAsnName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all of the peer ASNs under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeerAsnsListBySubscriptionOptionalParams\n ): Promise<PeerAsnsListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeerAsnsListBySubscriptionNextOptionalParams\n ): Promise<PeerAsnsListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsn\n },\n 201: {\n bodyMapper: Mappers.PeerAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peerAsn,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.peerAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringLocations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringLocation,\n PeeringLocationsKind,\n PeeringLocationsListNextOptionalParams,\n PeeringLocationsListOptionalParams,\n PeeringLocationsListResponse,\n PeeringLocationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringLocations operations. */\nexport class PeeringLocationsImpl implements PeeringLocations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringLocations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available peering locations for the specified kind of peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n public list(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): PagedAsyncIterableIterator<PeeringLocation> {\n const iter = this.listPagingAll(kind, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(kind, options);\n }\n };\n }\n\n private async *listPagingPage(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringLocation[]> {\n let result = await this._list(kind, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(kind, continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringLocation> {\n for await (const page of this.listPagingPage(kind, options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available peering locations for the specified kind of peering.\n * @param kind The kind of the peering.\n * @param options The options parameters.\n */\n private _list(\n kind: PeeringLocationsKind,\n options?: PeeringLocationsListOptionalParams\n ): Promise<PeeringLocationsListResponse> {\n return this.client.sendOperationRequest(\n { kind, options },\n listOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param kind The kind of the peering.\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 kind: PeeringLocationsKind,\n nextLink: string,\n options?: PeeringLocationsListNextOptionalParams\n ): Promise<PeeringLocationsListNextResponse> {\n return this.client.sendOperationRequest(\n { kind, nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.kind1,\n Parameters.directPeeringType\n ],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.kind1,\n Parameters.directPeeringType\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { RegisteredAsns } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringRegisteredAsn,\n RegisteredAsnsListByPeeringNextOptionalParams,\n RegisteredAsnsListByPeeringOptionalParams,\n RegisteredAsnsGetOptionalParams,\n RegisteredAsnsGetResponse,\n RegisteredAsnsCreateOrUpdateOptionalParams,\n RegisteredAsnsCreateOrUpdateResponse,\n RegisteredAsnsDeleteOptionalParams,\n RegisteredAsnsListByPeeringResponse,\n RegisteredAsnsListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing RegisteredAsns operations. */\nexport class RegisteredAsnsImpl implements RegisteredAsns {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class RegisteredAsns class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all registered ASNs under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringRegisteredAsn> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredAsn[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredAsn> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing registered ASN with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the registered ASN.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n options?: RegisteredAsnsGetOptionalParams\n ): Promise<RegisteredAsnsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredAsnName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new registered ASN with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the ASN.\n * @param registeredAsn The properties needed to create a registered ASN.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n registeredAsn: PeeringRegisteredAsn,\n options?: RegisteredAsnsCreateOrUpdateOptionalParams\n ): Promise<RegisteredAsnsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringName,\n registeredAsnName,\n registeredAsn,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing registered ASN with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredAsnName The name of the registered ASN.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n registeredAsnName: string,\n options?: RegisteredAsnsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredAsnName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all registered ASNs under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredAsnsListByPeeringOptionalParams\n ): Promise<RegisteredAsnsListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: RegisteredAsnsListByPeeringNextOptionalParams\n ): Promise<RegisteredAsnsListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n 201: {\n bodyMapper: Mappers.PeeringRegisteredAsn\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.registeredAsn,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredAsnName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredAsnListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { RegisteredPrefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringRegisteredPrefix,\n RegisteredPrefixesListByPeeringNextOptionalParams,\n RegisteredPrefixesListByPeeringOptionalParams,\n RegisteredPrefixesGetOptionalParams,\n RegisteredPrefixesGetResponse,\n RegisteredPrefixesCreateOrUpdateOptionalParams,\n RegisteredPrefixesCreateOrUpdateResponse,\n RegisteredPrefixesDeleteOptionalParams,\n RegisteredPrefixesListByPeeringResponse,\n RegisteredPrefixesListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing RegisteredPrefixes operations. */\nexport class RegisteredPrefixesImpl implements RegisteredPrefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class RegisteredPrefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all registered prefixes under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringRegisteredPrefix> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredPrefix[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringRegisteredPrefix> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing registered prefix with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n options?: RegisteredPrefixesGetOptionalParams\n ): Promise<RegisteredPrefixesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredPrefixName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new registered prefix with the specified name under the given subscription, resource group\n * and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param registeredPrefix The properties needed to create a registered prefix.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n registeredPrefix: PeeringRegisteredPrefix,\n options?: RegisteredPrefixesCreateOrUpdateOptionalParams\n ): Promise<RegisteredPrefixesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringName,\n registeredPrefixName,\n registeredPrefix,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing registered prefix with the specified name under the given subscription, resource\n * group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param registeredPrefixName The name of the registered prefix.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n registeredPrefixName: string,\n options?: RegisteredPrefixesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, registeredPrefixName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all registered prefixes under the given subscription, resource group and peering.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: RegisteredPrefixesListByPeeringOptionalParams\n ): Promise<RegisteredPrefixesListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: RegisteredPrefixesListByPeeringNextOptionalParams\n ): Promise<RegisteredPrefixesListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n 201: {\n bodyMapper: Mappers.PeeringRegisteredPrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.registeredPrefix,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName,\n Parameters.registeredPrefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringRegisteredPrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { Peerings } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n Peering,\n PeeringsListByResourceGroupNextOptionalParams,\n PeeringsListByResourceGroupOptionalParams,\n PeeringsListBySubscriptionNextOptionalParams,\n PeeringsListBySubscriptionOptionalParams,\n PeeringsGetOptionalParams,\n PeeringsGetResponse,\n PeeringsCreateOrUpdateOptionalParams,\n PeeringsCreateOrUpdateResponse,\n PeeringsDeleteOptionalParams,\n ResourceTags,\n PeeringsUpdateOptionalParams,\n PeeringsUpdateResponse,\n PeeringsListByResourceGroupResponse,\n PeeringsListBySubscriptionResponse,\n PeeringsListByResourceGroupNextResponse,\n PeeringsListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Peerings operations. */\nexport class PeeringsImpl implements Peerings {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Peerings class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peerings under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringsListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\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?: PeeringsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<Peering[]> {\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?: PeeringsListByResourceGroupOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeeringsListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<Peering> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeeringsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<Peering[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeeringsListBySubscriptionOptionalParams\n ): AsyncIterableIterator<Peering> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringName: string,\n options?: PeeringsGetOptionalParams\n ): Promise<PeeringsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peering or updates an existing peering with the specified name under the given\n * subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param peering The properties needed to create or update a peering.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringName: string,\n peering: Peering,\n options?: PeeringsCreateOrUpdateOptionalParams\n ): Promise<PeeringsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, peering, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringName: string,\n options?: PeeringsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates tags for a peering with the specified name under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param tags The resource tags.\n * @param options The options parameters.\n */\n update(\n resourceGroupName: string,\n peeringName: string,\n tags: ResourceTags,\n options?: PeeringsUpdateOptionalParams\n ): Promise<PeeringsUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, tags, options },\n updateOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringsListByResourceGroupOptionalParams\n ): Promise<PeeringsListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeeringsListBySubscriptionOptionalParams\n ): Promise<PeeringsListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group.\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?: PeeringsListByResourceGroupNextOptionalParams\n ): Promise<PeeringsListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeeringsListBySubscriptionNextOptionalParams\n ): Promise<PeeringsListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n 201: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peering,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.Peering\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.tags,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { ReceivedRoutes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringReceivedRoute,\n ReceivedRoutesListByPeeringNextOptionalParams,\n ReceivedRoutesListByPeeringOptionalParams,\n ReceivedRoutesListByPeeringResponse,\n ReceivedRoutesListByPeeringNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ReceivedRoutes operations. */\nexport class ReceivedRoutesImpl implements ReceivedRoutes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class ReceivedRoutes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists the prefixes received over the specified peering under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n public listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): PagedAsyncIterableIterator<PeeringReceivedRoute> {\n const iter = this.listByPeeringPagingAll(\n resourceGroupName,\n peeringName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringPagingPage(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringReceivedRoute[]> {\n let result = await this._listByPeering(\n resourceGroupName,\n peeringName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringNext(\n resourceGroupName,\n peeringName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringPagingAll(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): AsyncIterableIterator<PeeringReceivedRoute> {\n for await (const page of this.listByPeeringPagingPage(\n resourceGroupName,\n peeringName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists the prefixes received over the specified peering under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param options The options parameters.\n */\n private _listByPeering(\n resourceGroupName: string,\n peeringName: string,\n options?: ReceivedRoutesListByPeeringOptionalParams\n ): Promise<ReceivedRoutesListByPeeringResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, options },\n listByPeeringOperationSpec\n );\n }\n\n /**\n * ListByPeeringNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringName The name of the peering.\n * @param nextLink The nextLink from the previous successful call to the ListByPeering method.\n * @param options The options parameters.\n */\n private _listByPeeringNext(\n resourceGroupName: string,\n peeringName: string,\n nextLink: string,\n options?: ReceivedRoutesListByPeeringNextOptionalParams\n ): Promise<ReceivedRoutesListByPeeringNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringName, nextLink, options },\n listByPeeringNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByPeeringOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringReceivedRouteListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.prefix,\n Parameters.asPath,\n Parameters.originAsValidationState,\n Parameters.rpkiValidationState,\n Parameters.skipToken\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringReceivedRouteListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.prefix,\n Parameters.asPath,\n Parameters.originAsValidationState,\n Parameters.rpkiValidationState,\n Parameters.skipToken\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringName\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 { ConnectionMonitorTests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n ConnectionMonitorTest,\n ConnectionMonitorTestsListByPeeringServiceNextOptionalParams,\n ConnectionMonitorTestsListByPeeringServiceOptionalParams,\n ConnectionMonitorTestsGetOptionalParams,\n ConnectionMonitorTestsGetResponse,\n ConnectionMonitorTestsCreateOrUpdateOptionalParams,\n ConnectionMonitorTestsCreateOrUpdateResponse,\n ConnectionMonitorTestsDeleteOptionalParams,\n ConnectionMonitorTestsListByPeeringServiceResponse,\n ConnectionMonitorTestsListByPeeringServiceNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ConnectionMonitorTests operations. */\nexport class ConnectionMonitorTestsImpl implements ConnectionMonitorTests {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class ConnectionMonitorTests class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all connection monitor tests under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n public listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): PagedAsyncIterableIterator<ConnectionMonitorTest> {\n const iter = this.listByPeeringServicePagingAll(\n resourceGroupName,\n peeringServiceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringServicePagingPage(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<ConnectionMonitorTest[]> {\n let result = await this._listByPeeringService(\n resourceGroupName,\n peeringServiceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringServiceNext(\n resourceGroupName,\n peeringServiceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringServicePagingAll(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<ConnectionMonitorTest> {\n for await (const page of this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n options?: ConnectionMonitorTestsGetOptionalParams\n ): Promise<ConnectionMonitorTestsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n options\n },\n getOperationSpec\n );\n }\n\n /**\n * Creates or updates a connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param connectionMonitorTest The properties needed to create a connection monitor test\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n connectionMonitorTest: ConnectionMonitorTest,\n options?: ConnectionMonitorTestsCreateOrUpdateOptionalParams\n ): Promise<ConnectionMonitorTestsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n connectionMonitorTest,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing connection monitor test with the specified name under the given subscription,\n * resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param connectionMonitorTestName The name of the connection monitor test\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n connectionMonitorTestName: string,\n options?: ConnectionMonitorTestsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n connectionMonitorTestName,\n options\n },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all connection monitor tests under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n private _listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: ConnectionMonitorTestsListByPeeringServiceOptionalParams\n ): Promise<ConnectionMonitorTestsListByPeeringServiceResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n listByPeeringServiceOperationSpec\n );\n }\n\n /**\n * ListByPeeringServiceNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param nextLink The nextLink from the previous successful call to the ListByPeeringService method.\n * @param options The options parameters.\n */\n private _listByPeeringServiceNext(\n resourceGroupName: string,\n peeringServiceName: string,\n nextLink: string,\n options?: ConnectionMonitorTestsListByPeeringServiceNextOptionalParams\n ): Promise<ConnectionMonitorTestsListByPeeringServiceNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, nextLink, options },\n listByPeeringServiceNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n 201: {\n bodyMapper: Mappers.ConnectionMonitorTest\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.connectionMonitorTest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.connectionMonitorTestName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTestListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ConnectionMonitorTestListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\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 { PeeringServiceCountries } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceCountry,\n PeeringServiceCountriesListNextOptionalParams,\n PeeringServiceCountriesListOptionalParams,\n PeeringServiceCountriesListResponse,\n PeeringServiceCountriesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceCountries operations. */\nexport class PeeringServiceCountriesImpl implements PeeringServiceCountries {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceCountries class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available countries for peering service.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceCountriesListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceCountry> {\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?: PeeringServiceCountriesListOptionalParams\n ): AsyncIterableIterator<PeeringServiceCountry[]> {\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?: PeeringServiceCountriesListOptionalParams\n ): AsyncIterableIterator<PeeringServiceCountry> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available countries for peering service.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceCountriesListOptionalParams\n ): Promise<PeeringServiceCountriesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceCountriesListNextOptionalParams\n ): Promise<PeeringServiceCountriesListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceCountryListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceCountryListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringServiceLocations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceLocation,\n PeeringServiceLocationsListNextOptionalParams,\n PeeringServiceLocationsListOptionalParams,\n PeeringServiceLocationsListResponse,\n PeeringServiceLocationsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceLocations operations. */\nexport class PeeringServiceLocationsImpl implements PeeringServiceLocations {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceLocations class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available locations for peering service.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceLocationsListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceLocation> {\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?: PeeringServiceLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringServiceLocation[]> {\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?: PeeringServiceLocationsListOptionalParams\n ): AsyncIterableIterator<PeeringServiceLocation> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available locations for peering service.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceLocationsListOptionalParams\n ): Promise<PeeringServiceLocationsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceLocationsListNextOptionalParams\n ): Promise<PeeringServiceLocationsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.country],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceLocationListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.country],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { Prefixes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServicePrefix,\n PrefixesListByPeeringServiceNextOptionalParams,\n PrefixesListByPeeringServiceOptionalParams,\n PrefixesGetOptionalParams,\n PrefixesGetResponse,\n PrefixesCreateOrUpdateOptionalParams,\n PrefixesCreateOrUpdateResponse,\n PrefixesDeleteOptionalParams,\n PrefixesListByPeeringServiceResponse,\n PrefixesListByPeeringServiceNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Prefixes operations. */\nexport class PrefixesImpl implements Prefixes {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class Prefixes class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all prefixes under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n public listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): PagedAsyncIterableIterator<PeeringServicePrefix> {\n const iter = this.listByPeeringServicePagingAll(\n resourceGroupName,\n peeringServiceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n );\n }\n };\n }\n\n private async *listByPeeringServicePagingPage(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<PeeringServicePrefix[]> {\n let result = await this._listByPeeringService(\n resourceGroupName,\n peeringServiceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByPeeringServiceNext(\n resourceGroupName,\n peeringServiceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByPeeringServicePagingAll(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): AsyncIterableIterator<PeeringServicePrefix> {\n for await (const page of this.listByPeeringServicePagingPage(\n resourceGroupName,\n peeringServiceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n options?: PrefixesGetOptionalParams\n ): Promise<PrefixesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, prefixName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param peeringServicePrefix The properties needed to create a prefix.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n peeringServicePrefix: PeeringServicePrefix,\n options?: PrefixesCreateOrUpdateOptionalParams\n ): Promise<PrefixesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n peeringServiceName,\n prefixName,\n peeringServicePrefix,\n options\n },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing prefix with the specified name under the given subscription, resource group and\n * peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param prefixName The name of the prefix.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n prefixName: string,\n options?: PrefixesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, prefixName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Lists all prefixes under the given subscription, resource group and peering service.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n private _listByPeeringService(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PrefixesListByPeeringServiceOptionalParams\n ): Promise<PrefixesListByPeeringServiceResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n listByPeeringServiceOperationSpec\n );\n }\n\n /**\n * ListByPeeringServiceNext\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param nextLink The nextLink from the previous successful call to the ListByPeeringService method.\n * @param options The options parameters.\n */\n private _listByPeeringServiceNext(\n resourceGroupName: string,\n peeringServiceName: string,\n nextLink: string,\n options?: PrefixesListByPeeringServiceNextOptionalParams\n ): Promise<PrefixesListByPeeringServiceNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, nextLink, options },\n listByPeeringServiceNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n 201: {\n bodyMapper: Mappers.PeeringServicePrefix\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peeringServicePrefix,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName,\n Parameters.prefixName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByPeeringServiceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServicePrefixListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.expand],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\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 { PeeringServiceProviders } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringServiceProvider,\n PeeringServiceProvidersListNextOptionalParams,\n PeeringServiceProvidersListOptionalParams,\n PeeringServiceProvidersListResponse,\n PeeringServiceProvidersListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServiceProviders operations. */\nexport class PeeringServiceProvidersImpl implements PeeringServiceProviders {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServiceProviders class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the available peering service locations for the specified kind of peering.\n * @param options The options parameters.\n */\n public list(\n options?: PeeringServiceProvidersListOptionalParams\n ): PagedAsyncIterableIterator<PeeringServiceProvider> {\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?: PeeringServiceProvidersListOptionalParams\n ): AsyncIterableIterator<PeeringServiceProvider[]> {\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?: PeeringServiceProvidersListOptionalParams\n ): AsyncIterableIterator<PeeringServiceProvider> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the available peering service locations for the specified kind of peering.\n * @param options The options parameters.\n */\n private _list(\n options?: PeeringServiceProvidersListOptionalParams\n ): Promise<PeeringServiceProvidersListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\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?: PeeringServiceProvidersListNextOptionalParams\n ): Promise<PeeringServiceProvidersListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceProviderListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceProviderListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 { PeeringServices } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PeeringManagementClient } from \"../peeringManagementClient\";\nimport {\n PeeringService,\n PeeringServicesListByResourceGroupNextOptionalParams,\n PeeringServicesListByResourceGroupOptionalParams,\n PeeringServicesListBySubscriptionNextOptionalParams,\n PeeringServicesListBySubscriptionOptionalParams,\n PeeringServicesGetOptionalParams,\n PeeringServicesGetResponse,\n PeeringServicesCreateOrUpdateOptionalParams,\n PeeringServicesCreateOrUpdateResponse,\n PeeringServicesDeleteOptionalParams,\n ResourceTags,\n PeeringServicesUpdateOptionalParams,\n PeeringServicesUpdateResponse,\n PeeringServicesListByResourceGroupResponse,\n PeeringServicesListBySubscriptionResponse,\n PeeringServicesInitializeConnectionMonitorOptionalParams,\n PeeringServicesListByResourceGroupNextResponse,\n PeeringServicesListBySubscriptionNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PeeringServices operations. */\nexport class PeeringServicesImpl implements PeeringServices {\n private readonly client: PeeringManagementClient;\n\n /**\n * Initialize a new instance of the class PeeringServices class.\n * @param client Reference to the service client\n */\n constructor(client: PeeringManagementClient) {\n this.client = client;\n }\n\n /**\n * Lists all of the peering services under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n public listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringServicesListByResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PeeringService> {\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?: PeeringServicesListByResourceGroupOptionalParams\n ): AsyncIterableIterator<PeeringService[]> {\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?: PeeringServicesListByResourceGroupOptionalParams\n ): AsyncIterableIterator<PeeringService> {\n for await (const page of this.listByResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n public listBySubscription(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): PagedAsyncIterableIterator<PeeringService> {\n const iter = this.listBySubscriptionPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBySubscriptionPagingPage(options);\n }\n };\n }\n\n private async *listBySubscriptionPagingPage(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeeringService[]> {\n let result = await this._listBySubscription(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBySubscriptionNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBySubscriptionPagingAll(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): AsyncIterableIterator<PeeringService> {\n for await (const page of this.listBySubscriptionPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Gets an existing peering service with the specified name under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PeeringServicesGetOptionalParams\n ): Promise<PeeringServicesGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n getOperationSpec\n );\n }\n\n /**\n * Creates a new peering service or updates an existing peering with the specified name under the given\n * subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param peeringService The properties needed to create or update a peering service.\n * @param options The options parameters.\n */\n createOrUpdate(\n resourceGroupName: string,\n peeringServiceName: string,\n peeringService: PeeringService,\n options?: PeeringServicesCreateOrUpdateOptionalParams\n ): Promise<PeeringServicesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, peeringService, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an existing peering service with the specified name under the given subscription and\n * resource group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param options The options parameters.\n */\n delete(\n resourceGroupName: string,\n peeringServiceName: string,\n options?: PeeringServicesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates tags for a peering service with the specified name under the given subscription and resource\n * group.\n * @param resourceGroupName The name of the resource group.\n * @param peeringServiceName The name of the peering service.\n * @param tags The resource tags.\n * @param options The options parameters.\n */\n update(\n resourceGroupName: string,\n peeringServiceName: string,\n tags: ResourceTags,\n options?: PeeringServicesUpdateOptionalParams\n ): Promise<PeeringServicesUpdateResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, peeringServiceName, tags, options },\n updateOperationSpec\n );\n }\n\n /**\n * Lists all of the peering services under the given subscription and resource group.\n * @param resourceGroupName The name of the resource group.\n * @param options The options parameters.\n */\n private _listByResourceGroup(\n resourceGroupName: string,\n options?: PeeringServicesListByResourceGroupOptionalParams\n ): Promise<PeeringServicesListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listByResourceGroupOperationSpec\n );\n }\n\n /**\n * Lists all of the peerings under the given subscription.\n * @param options The options parameters.\n */\n private _listBySubscription(\n options?: PeeringServicesListBySubscriptionOptionalParams\n ): Promise<PeeringServicesListBySubscriptionResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBySubscriptionOperationSpec\n );\n }\n\n /**\n * Initialize Peering Service for Connection Monitor functionality\n * @param options The options parameters.\n */\n initializeConnectionMonitor(\n options?: PeeringServicesInitializeConnectionMonitorOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { options },\n initializeConnectionMonitorOperationSpec\n );\n }\n\n /**\n * ListByResourceGroupNext\n * @param resourceGroupName The name of the resource group.\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?: PeeringServicesListByResourceGroupNextOptionalParams\n ): Promise<PeeringServicesListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listByResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListBySubscriptionNext\n * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.\n * @param options The options parameters.\n */\n private _listBySubscriptionNext(\n nextLink: string,\n options?: PeeringServicesListBySubscriptionNextOptionalParams\n ): Promise<PeeringServicesListBySubscriptionNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBySubscriptionNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n 201: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.peeringService,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringService\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.tags,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.peeringServiceName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listByResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst initializeConnectionMonitorOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/initializeConnectionMonitor\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceGroupName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeeringServiceListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\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 * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n CdnPeeringPrefixesImpl,\n LegacyPeeringsImpl,\n LookingGlassImpl,\n OperationsImpl,\n PeerAsnsImpl,\n PeeringLocationsImpl,\n RegisteredAsnsImpl,\n RegisteredPrefixesImpl,\n PeeringsImpl,\n ReceivedRoutesImpl,\n ConnectionMonitorTestsImpl,\n PeeringServiceCountriesImpl,\n PeeringServiceLocationsImpl,\n PrefixesImpl,\n PeeringServiceProvidersImpl,\n PeeringServicesImpl\n} from \"./operations\";\nimport {\n CdnPeeringPrefixes,\n LegacyPeerings,\n LookingGlass,\n Operations,\n PeerAsns,\n PeeringLocations,\n RegisteredAsns,\n RegisteredPrefixes,\n Peerings,\n ReceivedRoutes,\n ConnectionMonitorTests,\n PeeringServiceCountries,\n PeeringServiceLocations,\n Prefixes,\n PeeringServiceProviders,\n PeeringServices\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n PeeringManagementClientOptionalParams,\n CheckServiceProviderAvailabilityInput,\n CheckServiceProviderAvailabilityOptionalParams,\n CheckServiceProviderAvailabilityResponse\n} from \"./models\";\n\nexport class PeeringManagementClient extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the PeeringManagementClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The Azure subscription ID.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: PeeringManagementClientOptionalParams\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: PeeringManagementClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-peering/2.0.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:\n options.endpoint ?? options.baseUri ?? \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n\n if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {\n const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();\n const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(\n (pipelinePolicy) =>\n pipelinePolicy.name ===\n coreRestPipeline.bearerTokenAuthenticationPolicyName\n );\n if (!bearerTokenAuthenticationPolicyFound) {\n this.pipeline.removePolicy({\n name: coreRestPipeline.bearerTokenAuthenticationPolicyName\n });\n this.pipeline.addPolicy(\n coreRestPipeline.bearerTokenAuthenticationPolicy({\n scopes: `${optionsWithDefaults.baseUri}/.default`,\n challengeCallbacks: {\n authorizeRequestOnChallenge:\n coreClient.authorizeRequestOnClaimChallenge\n }\n })\n );\n }\n }\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 || \"2021-06-01\";\n this.cdnPeeringPrefixes = new CdnPeeringPrefixesImpl(this);\n this.legacyPeerings = new LegacyPeeringsImpl(this);\n this.lookingGlass = new LookingGlassImpl(this);\n this.operations = new OperationsImpl(this);\n this.peerAsns = new PeerAsnsImpl(this);\n this.peeringLocations = new PeeringLocationsImpl(this);\n this.registeredAsns = new RegisteredAsnsImpl(this);\n this.registeredPrefixes = new RegisteredPrefixesImpl(this);\n this.peerings = new PeeringsImpl(this);\n this.receivedRoutes = new ReceivedRoutesImpl(this);\n this.connectionMonitorTests = new ConnectionMonitorTestsImpl(this);\n this.peeringServiceCountries = new PeeringServiceCountriesImpl(this);\n this.peeringServiceLocations = new PeeringServiceLocationsImpl(this);\n this.prefixes = new PrefixesImpl(this);\n this.peeringServiceProviders = new PeeringServiceProvidersImpl(this);\n this.peeringServices = new PeeringServicesImpl(this);\n }\n\n /**\n * Checks if the peering service provider is present within 1000 miles of customer's location\n * @param checkServiceProviderAvailabilityInput The CheckServiceProviderAvailabilityInput indicating\n * customer location and service provider.\n * @param options The options parameters.\n */\n checkServiceProviderAvailability(\n checkServiceProviderAvailabilityInput: CheckServiceProviderAvailabilityInput,\n options?: CheckServiceProviderAvailabilityOptionalParams\n ): Promise<CheckServiceProviderAvailabilityResponse> {\n return this.sendOperationRequest(\n { checkServiceProviderAvailabilityInput, options },\n checkServiceProviderAvailabilityOperationSpec\n );\n }\n\n cdnPeeringPrefixes: CdnPeeringPrefixes;\n legacyPeerings: LegacyPeerings;\n lookingGlass: LookingGlass;\n operations: Operations;\n peerAsns: PeerAsns;\n peeringLocations: PeeringLocations;\n registeredAsns: RegisteredAsns;\n registeredPrefixes: RegisteredPrefixes;\n peerings: Peerings;\n receivedRoutes: ReceivedRoutes;\n connectionMonitorTests: ConnectionMonitorTests;\n peeringServiceCountries: PeeringServiceCountries;\n peeringServiceLocations: PeeringServiceLocations;\n prefixes: Prefixes;\n peeringServiceProviders: PeeringServiceProviders;\n peeringServices: PeeringServices;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst checkServiceProviderAvailabilityOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Peering/checkServiceProviderAvailability\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"String\" } }\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.checkServiceProviderAvailabilityInput,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n"],"names":["KnownEnum0","KnownLegacyPeeringsKind","KnownTier","KnownFamily","KnownSize","KnownKind","KnownSessionAddressProvider","KnownConnectionState","KnownSessionStateV4","KnownSessionStateV6","KnownDirectPeeringType","KnownProvisioningState","KnownLookingGlassCommand","KnownLookingGlassSourceType","KnownCommand","KnownRole","KnownValidationState","KnownPeeringLocationsKind","KnownPeeringLocationsDirectPeeringType","KnownPrefixValidationState","KnownLearnedType","CheckServiceProviderAvailabilityInputMapper","PeerAsnMapper","PeeringRegisteredAsnMapper","PeeringRegisteredPrefixMapper","PeeringMapper","ResourceTagsMapper","ConnectionMonitorTestMapper","PeeringServicePrefixMapper","PeeringServiceMapper","__await","__asyncValues","__asyncDelegator","listOperationSpec","listNextOperationSpec","serializer","coreClient","Mappers.CdnPeeringPrefixListResult","Mappers.ErrorResponse","Parameters.peeringLocation","Parameters.apiVersion","Parameters.$host","Parameters.subscriptionId","Parameters.accept","Parameters.nextLink","Mappers.PeeringListResult","Parameters.kind","Parameters.asn","Mappers.LookingGlassOutput","Parameters.command","Parameters.sourceType","Parameters.sourceLocation","Parameters.destinationIP","Mappers.OperationListResult","getOperationSpec","createOrUpdateOperationSpec","deleteOperationSpec","listBySubscriptionOperationSpec","listBySubscriptionNextOperationSpec","Mappers.PeerAsn","Parameters.peerAsnName","Parameters.peerAsn","Parameters.contentType","Mappers.PeerAsnListResult","Mappers.PeeringLocationListResult","Parameters.kind1","Parameters.directPeeringType","listByPeeringOperationSpec","listByPeeringNextOperationSpec","Mappers.PeeringRegisteredAsn","Parameters.resourceGroupName","Parameters.peeringName","Parameters.registeredAsnName","Parameters.registeredAsn","Mappers.PeeringRegisteredAsnListResult","Mappers.PeeringRegisteredPrefix","Parameters.registeredPrefixName","Parameters.registeredPrefix","Mappers.PeeringRegisteredPrefixListResult","updateOperationSpec","listByResourceGroupOperationSpec","listByResourceGroupNextOperationSpec","Mappers.Peering","Parameters.peering","Parameters.tags","Mappers.PeeringReceivedRouteListResult","Parameters.prefix","Parameters.asPath","Parameters.originAsValidationState","Parameters.rpkiValidationState","Parameters.skipToken","listByPeeringServiceOperationSpec","listByPeeringServiceNextOperationSpec","Mappers.ConnectionMonitorTest","Parameters.peeringServiceName","Parameters.connectionMonitorTestName","Parameters.connectionMonitorTest","Mappers.ConnectionMonitorTestListResult","Mappers.PeeringServiceCountryListResult","Mappers.PeeringServiceLocationListResult","Parameters.country","Mappers.PeeringServicePrefix","Parameters.expand","Parameters.prefixName","Parameters.peeringServicePrefix","Mappers.PeeringServicePrefixListResult","Mappers.PeeringServiceProviderListResult","Mappers.PeeringService","Parameters.peeringService","Mappers.PeeringServiceListResult","coreRestPipeline","Parameters.checkServiceProviderAvailabilityInput"],"mappings":"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"}