diff --git a/src/Peering/.gitattributes b/src/Peering/.gitattributes new file mode 100644 index 000000000000..2125666142eb --- /dev/null +++ b/src/Peering/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/src/Peering/.gitignore b/src/Peering/.gitignore new file mode 100644 index 000000000000..3c3d57339c8b --- /dev/null +++ b/src/Peering/.gitignore @@ -0,0 +1,16 @@ +bin +obj +.vs +generated +internal +exports +tools +custom/*.psm1 +custom/autogen-model-cmdlets +test/*-TestResults.xml +/*.ps1 +/*.ps1xml +/*.psm1 +/*.snk +/*.csproj +/*.nuspec \ No newline at end of file diff --git a/src/Peering/Az.Peering.psd1 b/src/Peering/Az.Peering.psd1 new file mode 100644 index 000000000000..ea34b6cd7b91 --- /dev/null +++ b/src/Peering/Az.Peering.psd1 @@ -0,0 +1,24 @@ +@{ + GUID = '78c6a853-5ea3-4374-9c5f-5b532d62c892' + RootModule = './Az.Peering.psm1' + ModuleVersion = '0.1.0' + CompatiblePSEditions = 'Core', 'Desktop' + Author = 'Microsoft Corporation' + CompanyName = 'Microsoft Corporation' + Copyright = 'Microsoft Corporation. All rights reserved.' + Description = 'Microsoft Azure PowerShell: Peering cmdlets' + PowerShellVersion = '5.1' + DotNetFrameworkVersion = '4.7.2' + RequiredAssemblies = './bin/Az.Peering.private.dll' + FormatsToProcess = './Az.Peering.format.ps1xml' + FunctionsToExport = 'Get-AzPeering', 'Get-AzPeeringAsn', 'Get-AzPeeringCdnPrefix', 'Get-AzPeeringConnectionMonitorTest', 'Get-AzPeeringLegacy', 'Get-AzPeeringLocation', 'Get-AzPeeringReceivedRoute', 'Get-AzPeeringRegisteredAsn', 'Get-AzPeeringRegisteredPrefix', 'Get-AzPeeringRpUnbilledPrefix', 'Get-AzPeeringService', 'Get-AzPeeringServiceCountry', 'Get-AzPeeringServiceLocation', 'Get-AzPeeringServicePrefix', 'Get-AzPeeringServiceProvider', 'Initialize-AzPeeringServiceConnectionMonitor', 'New-AzPeering', 'New-AzPeeringAsn', 'New-AzPeeringCheckServiceProviderAvailabilityInputObject', 'New-AzPeeringConnectionMonitorTest', 'New-AzPeeringContactDetailObject', 'New-AzPeeringDirectConnectionObject', 'New-AzPeeringExchangeConnectionObject', 'New-AzPeeringRegisteredAsn', 'New-AzPeeringRegisteredPrefix', 'New-AzPeeringService', 'New-AzPeeringServicePrefix', 'Remove-AzPeering', 'Remove-AzPeeringAsn', 'Remove-AzPeeringConnectionMonitorTest', 'Remove-AzPeeringRegisteredAsn', 'Remove-AzPeeringRegisteredPrefix', 'Remove-AzPeeringService', 'Remove-AzPeeringServicePrefix', 'Start-AzPeeringInvokeLookingGlass', 'Test-AzPeeringRegisteredPrefix', 'Test-AzPeeringServiceProviderAvailability', 'Update-AzPeering', 'Update-AzPeeringService', '*' + AliasesToExport = '*' + PrivateData = @{ + PSData = @{ + Tags = 'Azure', 'ResourceManager', 'ARM', 'PSModule', 'Peering' + LicenseUri = 'https://aka.ms/azps-license' + ProjectUri = 'https://github.com/Azure/azure-powershell' + ReleaseNotes = '' + } + } +} diff --git a/src/Peering/README.md b/src/Peering/README.md new file mode 100644 index 000000000000..5164e13b7ccd --- /dev/null +++ b/src/Peering/README.md @@ -0,0 +1,239 @@ + +# Az.Peering +This directory contains the PowerShell module for the Peering service. + +--- +## Status +[![Az.Peering](https://img.shields.io/powershellgallery/v/Az.Peering.svg?style=flat-square&label=Az.Peering "Az.Peering")](https://www.powershellgallery.com/packages/Az.Peering/) + +## Info +- Modifiable: yes +- Generated: all +- Committed: yes +- Packaged: yes + +--- +## Detail +This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. + +## Module Requirements +- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater + +## Authentication +AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent. + +## Development +For information on how to develop for `Az.Peering`, see [how-to.md](how-to.md). + + +### AutoRest Configuration +> see https://aka.ms/autorest + +``` yaml +# Please specify the commit id that includes your features to make sure generated codes stable. +branch: 5fc05d0f0b15cbf16de942cadce464b495c66a58 +require: +# readme.azure.noprofile.md is the common configuration file + - $(this-folder)/../readme.azure.noprofile.md +input-file: +# You need to specify your swagger files here. + - $(repo)/specification/peering/resource-manager/Microsoft.Peering/stable/2022-10-01/peering.json +# If the swagger has not been put in the repo, you may uncomment the following line and refer to it locally +# - (this-folder)/relative-path-to-your-swagger + +# For new RP, the version is 0.1.0 +module-version: 0.1.0 +# Normally, title is the service name +title: Peering +subject-prefix: $(service-name) + +# If there are post APIs for some kinds of actions in the RP, you may need to +# uncomment following line to support viaIdentity for these post APIs +resourcegroup-append: true +identity-correction-for-post: true +nested-object-to-string: true + +directive: + # Following is two common directive which are normally required in all the RPs + # 1. Remove the unexpanded parameter set + # 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well + - where: + variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$|^Update$|^UpdateViaIdentity$ + remove: true + + # Remove the set-* cmdlet + - where: + verb: Set + remove: true + # Change cmdlet verb: Invoke-AzPeeringInvokeLookingGlass -> Start-AzPeeringInvokeLookingGlass + - where: + verb: Invoke + subject: ^InvokeLookingGlass$ + set: + verb: Start + # Change cmdlet subject: *-AzPeeringPeerAsn -> *-AzPeeringAsn + - where: + subject-prefix: Peering + subject: PeerAsn + set: + subject: Asn + # Change cmdlet: *-AzPeeringLegacyPeering -> *-AzPeeringLegacy + - where: + subject-prefix: Peering + subject: LegacyPeering + set: + subject: Legacy + # Change cmdlet: *-AzPeeringCdnPeeringPrefix -> *-AzPeeringCdnPrefix + - where: + subject-prefix: Peering + subject: CdnPeeringPrefix + set: + subject: CdnPrefix + # Change cmdlet: *-AzPeeringPrefix -> *-AzPeeringServicePrefix + - where: + subject-prefix: Peering + subject: Prefix + set: + subject: ServicePrefix + + # Some parameter is Array, so we need to change it and custom it + # ExchangeConnection: New-AzPeeringExchangeConnectionObject + # DirectConnection: New-AzPeeringDirectConnectionObject + # ContactDetail: New-AzPeeringContactDetailObject + # CheckServiceProviderAvailabilityInput: New-AzPeeringCheckServiceProviderAvailabilityInputObject + # eg: + # New-AzPeering [-DirectConnection ] + # $directConnection = New-AzPeeringDirectConnectionObject ...... + # New-AzPeering -DirectConnection $directConnection ...... + - model-cmdlet: + - ExchangeConnection + - DirectConnection + - ContactDetail + - CheckServiceProviderAvailabilityInput + + # Change all parameters named SkuName(SkuName -> Sku) and add the alias SkuName to Sku + - where: + parameter-name: SkuName + set: + parameter-name: Sku + alias: SkuName + + # Parameter information to be displayed after the command is returned + # module-name source: .\azure-powershell\src\Peering\exports\Get-AzPeerAsn.ps1 Line 51 [IPeerAsn] + - where: + model-name: PeerAsn + set: + format-table: + properties: + - Name + - PeerName + - PropertiesPeerAsn + - ValidationState + - PeerContactDetail + resource: + - Id + - where: + model-name: CdnPeeringPrefix + set: + format-table: + properties: + - Prefix + - AzureRegion + - AzureService + - IsPrimaryRegion + - BgpCommunity + - where: + model-name: Peering + set: + format-table: + properties: + - Name + - SkuName + - Kind + - PeeringLocation + - ProvisioningState + - Location + - where: + model-name: PeeringLocation + set: + format-table: + properties: + - Name + - Country + - AzureRegion + - Kind + - where: + model-name: PeeringRegisteredAsn + set: + format-table: + properties: + - Name + - Asn + - PeeringServicePrefixKey + - ProvisioningState + - where: + model-name: PeeringRegisteredPrefix + set: + format-table: + properties: + - Name + - Prefix + - PeeringServicePrefixKey + - PrefixValidationState + - ProvisioningState + - where: + model-name: PeeringService + set: + format-table: + properties: + - Name + - ResourceGroupName + - PeeringServiceLocation + - Provider + - ProvisioningState + - Location + - where: + model-name: PeeringServiceLocation + set: + format-table: + properties: + - Name + - State + - Country + - AzureRegion + - where: + model-name: PeeringServicePrefix + set: + format-table: + properties: + - Name + - Prefix + - Key + - PrefixValidationState + - LearnedType + - ProvisioningState + - where: + model-name: PeeringServiceProvider + set: + format-table: + properties: + - Name + - PeeringLocation + - ServiceProviderName + - where: + model-name: PeeringExchangeConnectionObject + set: + format-table: + properties: + - Name + - PeeringLocation + - ServiceProviderName + - where: + model-name: RpUnbilledPrefix + set: + format-table: + properties: + - Prefix + - AzureRegion + - PeerAsn +``` diff --git a/src/Peering/custom/README.md b/src/Peering/custom/README.md new file mode 100644 index 000000000000..ec560a23208e --- /dev/null +++ b/src/Peering/custom/README.md @@ -0,0 +1,41 @@ +# Custom +This directory contains custom implementation for non-generated cmdlets for the `Az.Peering` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.Peering.custom.psm1`. This file should not be modified. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: yes + +## Details +For `Az.Peering` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*. + +For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.Peering.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder. + +For script cmdlets, these are loaded via the `Az.Peering.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build. + +## Purpose +This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder. + +## Usage +The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters: +- Break +- DefaultProfile +- HttpPipelineAppend +- HttpPipelinePrepend +- Proxy +- ProxyCredential +- ProxyUseDefaultCredentials + +These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.Peering`. For C#, follow the usage seen in the `ProcessRecordAsync` method. + +### Attributes +For processing the cmdlets, we've created some additional attributes: +- `Microsoft.Azure.PowerShell.Cmdlets.Peering.DescriptionAttribute` + - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts. +- `Microsoft.Azure.PowerShell.Cmdlets.Peering.DoNotExportAttribute` + - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.Peering`. +- `Microsoft.Azure.PowerShell.Cmdlets.Peering.InternalExportAttribute` + - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.Peering`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder. +- `Microsoft.Azure.PowerShell.Cmdlets.Peering.ProfileAttribute` + - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules. \ No newline at end of file diff --git a/src/Peering/docs/Az.Peering.md b/src/Peering/docs/Az.Peering.md new file mode 100644 index 000000000000..ff5ed07c7b42 --- /dev/null +++ b/src/Peering/docs/Az.Peering.md @@ -0,0 +1,130 @@ +--- +Module Name: Az.Peering +Module Guid: 78c6a853-5ea3-4374-9c5f-5b532d62c892 +Download Help Link: https://learn.microsoft.com/powershell/module/az.peering +Help Version: 1.0.0.0 +Locale: en-US +--- + +# Az.Peering Module +## Description +Microsoft Azure PowerShell: Peering cmdlets + +## Az.Peering Cmdlets +### [Get-AzPeering](Get-AzPeering.md) +Gets an existing peering with the specified name under the given subscription and resource group. + +### [Get-AzPeeringAsn](Get-AzPeeringAsn.md) +Gets the peer ASN with the specified name under the given subscription. + +### [Get-AzPeeringCdnPrefix](Get-AzPeeringCdnPrefix.md) +Lists all of the advertised prefixes for the specified peering location + +### [Get-AzPeeringConnectionMonitorTest](Get-AzPeeringConnectionMonitorTest.md) +Gets an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +### [Get-AzPeeringLegacy](Get-AzPeeringLegacy.md) +Lists all of the legacy peerings under the given subscription matching the specified kind and location. + +### [Get-AzPeeringLocation](Get-AzPeeringLocation.md) +Lists all of the available peering locations for the specified kind of peering. + +### [Get-AzPeeringReceivedRoute](Get-AzPeeringReceivedRoute.md) +Lists the prefixes received over the specified peering under the given subscription and resource group. + +### [Get-AzPeeringRegisteredAsn](Get-AzPeeringRegisteredAsn.md) +Gets an existing registered ASN with the specified name under the given subscription, resource group and peering. + +### [Get-AzPeeringRegisteredPrefix](Get-AzPeeringRegisteredPrefix.md) +Gets an existing registered prefix with the specified name under the given subscription, resource group and peering. + +### [Get-AzPeeringRpUnbilledPrefix](Get-AzPeeringRpUnbilledPrefix.md) +Lists all of the RP unbilled prefixes for the specified peering + +### [Get-AzPeeringService](Get-AzPeeringService.md) +Gets an existing peering service with the specified name under the given subscription and resource group. + +### [Get-AzPeeringServiceCountry](Get-AzPeeringServiceCountry.md) +Lists all of the available countries for peering service. + +### [Get-AzPeeringServiceLocation](Get-AzPeeringServiceLocation.md) +Lists all of the available locations for peering service. + +### [Get-AzPeeringServicePrefix](Get-AzPeeringServicePrefix.md) +Gets an existing prefix with the specified name under the given subscription, resource group and peering service. + +### [Get-AzPeeringServiceProvider](Get-AzPeeringServiceProvider.md) +Lists all of the available peering service locations for the specified kind of peering. + +### [Initialize-AzPeeringServiceConnectionMonitor](Initialize-AzPeeringServiceConnectionMonitor.md) +Initialize Peering Service for Connection Monitor functionality + +### [New-AzPeering](New-AzPeering.md) +Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group. + +### [New-AzPeeringAsn](New-AzPeeringAsn.md) +Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription. + +### [New-AzPeeringCheckServiceProviderAvailabilityInputObject](New-AzPeeringCheckServiceProviderAvailabilityInputObject.md) +Create an in-memory object for CheckServiceProviderAvailabilityInput. + +### [New-AzPeeringConnectionMonitorTest](New-AzPeeringConnectionMonitorTest.md) +Creates or updates a connection monitor test with the specified name under the given subscription, resource group and peering service. + +### [New-AzPeeringContactDetailObject](New-AzPeeringContactDetailObject.md) +Create an in-memory object for ContactDetail. + +### [New-AzPeeringDirectConnectionObject](New-AzPeeringDirectConnectionObject.md) +Create an in-memory object for DirectConnection. + +### [New-AzPeeringExchangeConnectionObject](New-AzPeeringExchangeConnectionObject.md) +Create an in-memory object for ExchangeConnection. + +### [New-AzPeeringRegisteredAsn](New-AzPeeringRegisteredAsn.md) +Creates a new registered ASN with the specified name under the given subscription, resource group and peering. + +### [New-AzPeeringRegisteredPrefix](New-AzPeeringRegisteredPrefix.md) +Creates a new registered prefix with the specified name under the given subscription, resource group and peering. + +### [New-AzPeeringService](New-AzPeeringService.md) +Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group. + +### [New-AzPeeringServicePrefix](New-AzPeeringServicePrefix.md) +Creates a new prefix with the specified name under the given subscription, resource group and peering service. + +### [Remove-AzPeering](Remove-AzPeering.md) +Deletes an existing peering with the specified name under the given subscription and resource group. + +### [Remove-AzPeeringAsn](Remove-AzPeeringAsn.md) +Deletes an existing peer ASN with the specified name under the given subscription. + +### [Remove-AzPeeringConnectionMonitorTest](Remove-AzPeeringConnectionMonitorTest.md) +Deletes an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +### [Remove-AzPeeringRegisteredAsn](Remove-AzPeeringRegisteredAsn.md) +Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering. + +### [Remove-AzPeeringRegisteredPrefix](Remove-AzPeeringRegisteredPrefix.md) +Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering. + +### [Remove-AzPeeringService](Remove-AzPeeringService.md) +Deletes an existing peering service with the specified name under the given subscription and resource group. + +### [Remove-AzPeeringServicePrefix](Remove-AzPeeringServicePrefix.md) +Deletes an existing prefix with the specified name under the given subscription, resource group and peering service. + +### [Start-AzPeeringInvokeLookingGlass](Start-AzPeeringInvokeLookingGlass.md) +Run looking glass functionality + +### [Test-AzPeeringRegisteredPrefix](Test-AzPeeringRegisteredPrefix.md) +Validates an existing registered prefix with the specified name under the given subscription, resource group and peering. + +### [Test-AzPeeringServiceProviderAvailability](Test-AzPeeringServiceProviderAvailability.md) +Checks if the peering service provider is present within 1000 miles of customer's location + +### [Update-AzPeering](Update-AzPeering.md) +Updates tags for a peering with the specified name under the given subscription and resource group. + +### [Update-AzPeeringService](Update-AzPeeringService.md) +Updates tags for a peering service with the specified name under the given subscription and resource group. + diff --git a/src/Peering/docs/Get-AzPeering.md b/src/Peering/docs/Get-AzPeering.md new file mode 100644 index 000000000000..028446efe75e --- /dev/null +++ b/src/Peering/docs/Get-AzPeering.md @@ -0,0 +1,186 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeering +schema: 2.0.0 +--- + +# Get-AzPeering + +## SYNOPSIS +Gets an existing peering with the specified name under the given subscription and resource group. + +## SYNTAX + +### List1 (Default) +``` +Get-AzPeering [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeering -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeering -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzPeering -ResourceGroupName [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an existing peering with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: List all peerings +```powershell + Get-AzPeering +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoComp1 Premium_Direct_Free Direct Dallas Succeeded South Central US +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +TestEdgeZone Premium_Direct_Free Direct Atlanta Succeeded East US 2 +MapsIxRs Premium_Direct_Free Direct Ashburn Succeeded East US +DemoMapsConfig Premium_Direct_Free Direct Seattle Succeeded West US 2 +testexchange Basic_Exchange_Free Exchange Amsterdam Succeeded West Europe +TestPeer1 Basic_Direct_Free Direct Amsterdam Succeeded West Europe +test1 Basic_Direct_Free Direct Athens Succeeded France Central +``` + +List all peerings in subscription + +### Example 2: Get specific peering by name and resource group +```powershell +Get-AzPeering -Name DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +``` + +Get a specific peering by resource group and name + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: PeeringName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List, List1 +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeering + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringAsn.md b/src/Peering/docs/Get-AzPeeringAsn.md new file mode 100644 index 000000000000..de1708b544cd --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringAsn.md @@ -0,0 +1,158 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringasn +schema: 2.0.0 +--- + +# Get-AzPeeringAsn + +## SYNOPSIS +Gets the peer ASN with the specified name under the given subscription. + +## SYNTAX + +### List (Default) +``` +Get-AzPeeringAsn [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringAsn -Name [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringAsn -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the peer ASN with the specified name under the given subscription. + +## EXAMPLES + +### Example 1: List PeerAsns +```powershell +Get-AzPeeringAsn +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +ContosoEdgeTest Contoso 65000 Approved {{…}} + +``` + +List all the peer asns under subscription + +### Example 2: Get Specific PeerAsn +```powershell +Get-AzPeeringAsn -Name ContosoEdgeTest +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +ContosoEdgeTest Contoso 65000 Approved {{…}} +``` + +Get peer asn by name + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The peer ASN name. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: PeerAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeerAsn + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringCdnPrefix.md b/src/Peering/docs/Get-AzPeeringCdnPrefix.md new file mode 100644 index 000000000000..bfebe15358cd --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringCdnPrefix.md @@ -0,0 +1,106 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringcdnprefix +schema: 2.0.0 +--- + +# Get-AzPeeringCdnPrefix + +## SYNOPSIS +Lists all of the advertised prefixes for the specified peering location + +## SYNTAX + +``` +Get-AzPeeringCdnPrefix -PeeringLocation [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Lists all of the advertised prefixes for the specified peering location + +## EXAMPLES + +### Example 1: Get Cdn prefixes +```powershell +Get-AzPeeringCdnPrefix -PeeringLocation Seattle +``` + +```output +Prefix AzureRegion AzureService IsPrimaryRegion BgpCommunity +------ ----------- ------------ --------------- ------------ +20.157.110.0/24 West US 2 AzureCompute True 8069:51026 +20.157.118.0/24 West US 2 AzureCompute True 8069:51026 +20.157.125.0/24 West US 2 AzureCompute True 8069:51026 +20.157.180.0/24 West US 2 AzureStorage True 8069:52026 +20.157.25.0/24 West US 2 AzureCompute True 8069:51026 +20.157.50.0/23 West US 2 AzureStorage True 8069:52026 +20.47.120.0/23 West US 2 AzureCompute True 8069:51026 +20.47.62.0/23 West US 2 AzureStorage True 8069:52026 +``` + +Get all cdn prefixes for subscription + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringLocation +The peering location. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ICdnPeeringPrefix + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringConnectionMonitorTest.md b/src/Peering/docs/Get-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..3860af70cc4c --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,191 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringconnectionmonitortest +schema: 2.0.0 +--- + +# Get-AzPeeringConnectionMonitorTest + +## SYNOPSIS +Gets an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +### List (Default) +``` +Get-AzPeeringConnectionMonitorTest -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringConnectionMonitorTest -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringConnectionMonitorTest -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: Lists all connection monitor tests +```powershell + Get-AzPeeringConnectionMonitorTest -ResourceGroupName DemoRG -PeeringServiceName DRTest +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +Agent 2 8.8.8.8 80 30 True Succeeded +``` + +Lists all connection monitor test objects + +### Example 2: Get single connection monitor test +```powershell + Get-AzPeeringConnectionMonitorTest -ResourceGroupName DemoRG -PeeringServiceName DRTest -Name TestName +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +``` + +Gets a single connection monitor test + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the connection monitor test + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: ConnectionMonitorTestName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IConnectionMonitorTest + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringLegacy.md b/src/Peering/docs/Get-AzPeeringLegacy.md new file mode 100644 index 000000000000..d7b05c2a838e --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringLegacy.md @@ -0,0 +1,146 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringlegacy +schema: 2.0.0 +--- + +# Get-AzPeeringLegacy + +## SYNOPSIS +Lists all of the legacy peerings under the given subscription matching the specified kind and location. + +## SYNTAX + +``` +Get-AzPeeringLegacy -Kind -PeeringLocation [-SubscriptionId ] + [-Asn ] [-DirectPeeringType ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists all of the legacy peerings under the given subscription matching the specified kind and location. + +## EXAMPLES + +### Example 1: Gets legacy peering object +```powershell +Get-AzPeeringLegacy -Kind Direct -PeeringLocation Seattle +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoComp1 Premium_Direct_Free Direct Dallas Succeeded South Central US +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +TestEdgeZone Premium_Direct_Free Direct Atlanta Succeeded East US 2 +``` + +Gets legacy peering object + +## PARAMETERS + +### -Asn +The ASN number associated with a legacy peering. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DirectPeeringType +The direct peering type. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.DirectPeeringType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Kind +The kind of the peering. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.LegacyPeeringsKind +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringLocation +The location of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeering + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringLocation.md b/src/Peering/docs/Get-AzPeeringLocation.md new file mode 100644 index 000000000000..e175dbb9d999 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringLocation.md @@ -0,0 +1,123 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringlocation +schema: 2.0.0 +--- + +# Get-AzPeeringLocation + +## SYNOPSIS +Lists all of the available peering locations for the specified kind of peering. + +## SYNTAX + +``` +Get-AzPeeringLocation -Kind [-SubscriptionId ] + [-DirectPeeringType ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists all of the available peering locations for the specified kind of peering. + +## EXAMPLES + +### Example 1: Get all direct peering locations +```powershell +Get-AzPeeringLocation -Kind Direct +``` + +```output +Get-AzPeeringLocation -Kind Direct + +Name Country AzureRegion Kind +---- ------- ----------- ---- +Amsterdam NL West Europe Direct +Ashburn US East US Direct +Athens GR France Central Direct +Atlanta US East US 2 Direct +Auckland NZ Australia East Direct +Barcelona ES France Central Direct +Berlin DE West Europe Direct +... +``` + +Gets all peering locations for direct peers + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DirectPeeringType +The type of direct peering. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.PeeringLocationsDirectPeeringType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Kind +The kind of the peering. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.PeeringLocationsKind +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringLocation + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringReceivedRoute.md b/src/Peering/docs/Get-AzPeeringReceivedRoute.md new file mode 100644 index 000000000000..eb23351050fa --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringReceivedRoute.md @@ -0,0 +1,224 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringreceivedroute +schema: 2.0.0 +--- + +# Get-AzPeeringReceivedRoute + +## SYNOPSIS +Lists the prefixes received over the specified peering under the given subscription and resource group. + +## SYNTAX + +``` +Get-AzPeeringReceivedRoute -PeeringName -ResourceGroupName [-SubscriptionId ] + [-AsPath ] [-OriginAsValidationState ] [-Prefix ] [-RpkiValidationState ] + [-SkipToken ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists the prefixes received over the specified peering under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Get all received routes for a specific peering +```powershell +Get-AzPeeringReceivedRoute -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +AsPath NextHop OriginAsValidationState Prefix ReceivedTimestamp RpkiValidationState TrustAnchor +------ ------- ----------------------- ------ ----------------- ------------------- ----------- +7018 13335 12.90.152.69 Valid 1.0.0.0/24 2022-12-05T11:51:51.2062620Z Valid None +7018 13335 12.90.152.69 Valid 1.1.1.0/24 2022-12-05T11:51:51.2062620Z Valid None +7018 4837 4808 12.90.152.69 Valid 1.119.192.0/21 2021-12-07T05:21:11.7043790Z Unknown None +7018 4837 4808 12.90.152.69 Valid 1.119.200.0/22 2021-12-07T05:21:11.7043790Z Unknown None +7018 4837 4808 59034 12.90.152.69 Valid 1.119.204.0/24 2021-12-07T05:21:13.7045170Z Unknown None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/12 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.161.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.162.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.163.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 15169 396982 12.90.152.69 Unknown 1.179.112.0/20 2021-12-07T05:21:16.7056160Z Unknown None +7018 9680 9680 3462 12.90.152.69 Valid 1.164.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.165.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.166.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.167.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +... +``` + +Gets all the received routes for a specific peering + +### Example 2: Filter received routes based on optional parameters +```powershell +Get-AzPeeringReceivedRoute -PeeringName DemoPeering -ResourceGroupName DemoRG -AsPath "7018 9680 9680 3462" +``` + +```output +AsPath NextHop OriginAsValidationState Prefix ReceivedTimestamp RpkiValidationState TrustAnchor +------ ------- ----------------------- ------ ----------------- ------------------- ----------- +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/12 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.161.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.162.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.163.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.164.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +... +``` + +Gets all received routes of a peering with a specific AsPath + +## PARAMETERS + +### -AsPath +The optional AS path that can be used to filter the routes. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -OriginAsValidationState +The optional origin AS validation state that can be used to filter the routes. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Prefix +The optional prefix that can be used to filter the routes. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RpkiValidationState +The optional RPKI validation state that can be used to filter the routes. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SkipToken +The optional page continuation token that is used in the event of paginated result. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringReceivedRoute + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringRegisteredAsn.md b/src/Peering/docs/Get-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..ffdc07ccf8a5 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringRegisteredAsn.md @@ -0,0 +1,191 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringregisteredasn +schema: 2.0.0 +--- + +# Get-AzPeeringRegisteredAsn + +## SYNOPSIS +Gets an existing registered ASN with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +### List (Default) +``` +Get-AzPeeringRegisteredAsn -PeeringName -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringRegisteredAsn -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringRegisteredAsn -InputObject [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets an existing registered ASN with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: List all registered asns for peering +```powershell +Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +fgfg 6500 767c9f30-7388-49ef-ba8e-e2d16d1c08e4 Succeeded +homedepottest 65000 32259ee0-ea01-495e-8279-06c24ef7aae0 Succeeded +JonOrmondTest 62540 e3f552c5-909e-434b-8fab-93e524a1aeed Succeeded +``` + +Lists all registered asn's for a peering + +### Example 2: Get specific registered asn for peering +```powershell +Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Name fgfg +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +fgfg 6500 767c9f30-7388-49ef-ba8e-e2d16d1c08e4 Succeeded +``` + +Gets a specific registered asn for a peering by name + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the registered ASN. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: RegisteredAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringRegisteredAsn + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringRegisteredPrefix.md b/src/Peering/docs/Get-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..3a1561ef8ed6 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringRegisteredPrefix.md @@ -0,0 +1,194 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringregisteredprefix +schema: 2.0.0 +--- + +# Get-AzPeeringRegisteredPrefix + +## SYNOPSIS +Gets an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +### List (Default) +``` +Get-AzPeeringRegisteredPrefix -PeeringName -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringRegisteredPrefix -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringRegisteredPrefix -InputObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: List all registered prefixes for a peering +```powershell +Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting1 240.0.0.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Failed Succeeded +accessibilityTesting2 240.0.1.0/24 249aa0dd-6177-4105-94fe-dfefcbf5ab48 Failed Succeeded +accessibilityTesting3 240.0.2.0/24 4fb59e9e-d4eb-4847-b2ad-9939edda750b Failed Succeeded +accessibilityTesting4 240.0.4.0/24 b725f16c-759b-4144-93ed-ed4eb89cb8f7 Failed Succeeded +accessibilityTesting5 240.0.3.0/24 bb1262ca-0b31-45f3-a301-105b0615b21c Failed Succeeded +``` + +List all registered prefixes + +### Example 2: Get specific registered prefix for a peering +```powershell +Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG -Name accessibilityTesting1 +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting1 240.0.0.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Failed Succeeded +``` + +Get a specific registered prefix by name + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the registered prefix. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: RegisteredPrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringRegisteredPrefix + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringRpUnbilledPrefix.md b/src/Peering/docs/Get-AzPeeringRpUnbilledPrefix.md new file mode 100644 index 000000000000..c3891600b0c6 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringRpUnbilledPrefix.md @@ -0,0 +1,131 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringrpunbilledprefix +schema: 2.0.0 +--- + +# Get-AzPeeringRpUnbilledPrefix + +## SYNOPSIS +Lists all of the RP unbilled prefixes for the specified peering + +## SYNTAX + +``` +Get-AzPeeringRpUnbilledPrefix -PeeringName -ResourceGroupName [-SubscriptionId ] + [-Consolidate] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists all of the RP unbilled prefixes for the specified peering + +## EXAMPLES + +### Example 1: List all unbilled prefixes for a peering +```powershell +Get-AzPeeringRpUnbilledPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Prefix AzureRegion PeerASN +------ ----------- ------- +2.16.0.0/13 West US 2 65010 +23.0.0.0/12 West US 2 65010 +... +``` + +Lists all the unbilled prefixes for a peering + +## PARAMETERS + +### -Consolidate +Flag to enable consolidation prefixes + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The peering name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The Azure resource group name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IRpUnbilledPrefix + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringService.md b/src/Peering/docs/Get-AzPeeringService.md new file mode 100644 index 000000000000..7d5c7477f8dc --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringService.md @@ -0,0 +1,206 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringservice +schema: 2.0.0 +--- + +# Get-AzPeeringService + +## SYNOPSIS +Gets an existing peering service with the specified name under the given subscription and resource group. + +## SYNTAX + +### List1 (Default) +``` +Get-AzPeeringService [-SubscriptionId ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringService -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringService -InputObject [-DefaultProfile ] [] +``` + +### List +``` +Get-AzPeeringService -ResourceGroupName [-SubscriptionId ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an existing peering service with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: List all peering services under subscription +```powershell +Get-AzPeeringService +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPrefixForAtlanta DemoRG Georgia MicrosoftEdge Succeeded East US 2 +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +TestExtension2 DemoRG Virginia MicrosoftEdge Succeeded East US +DemoPeeringServiceInterCloudLondon DemoRG London InterCloud Succeeded UK South +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +Gaurav Thareja DemoRG Ile-de-France InterCloud Succeeded UK South +TestDRInterCloudZurich DemoRG Zurich InterCloud Succeeded France Central +DRTest DemoRG Ile-de-France InterCloud Succeeded France Central +``` + +Lists all peering services under default subscription + +### Example 2: List all peering services under a specific resource group +```powershell +Get-AzPeeringService -ResourceGroupName DemoRG +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPrefixForAtlanta DemoRG Georgia MicrosoftEdge Succeeded East US 2 +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +TestExtension2 DemoRG Virginia MicrosoftEdge Succeeded East US +DemoPeeringServiceInterCloudLondon DemoRG London InterCloud Succeeded UK South +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +Gaurav Thareja DemoRG Ile-de-France InterCloud Succeeded UK South +TestDRInterCloudZurich DemoRG Zurich InterCloud Succeeded France Central +DRTest DemoRG Ile-de-France InterCloud Succeeded France Central +``` + +Lists all the peering services under a resource group + +### Example 3: List all peering services under a specific resource group +```powershell +Get-AzPeeringService -ResourceGroupName DemoRG -Name TestExtension +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +``` + +Gets a peering service with matching name and resource group + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: PeeringServiceName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List, List1 +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringService + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringServiceCountry.md b/src/Peering/docs/Get-AzPeeringServiceCountry.md new file mode 100644 index 000000000000..c06b24dcf6c2 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringServiceCountry.md @@ -0,0 +1,98 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringservicecountry +schema: 2.0.0 +--- + +# Get-AzPeeringServiceCountry + +## SYNOPSIS +Lists all of the available countries for peering service. + +## SYNTAX + +``` +Get-AzPeeringServiceCountry [-SubscriptionId ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists all of the available countries for peering service. + +## EXAMPLES + +### Example 1: Lists all the peering service countries +```powershell +Get-AzPeeringServiceCountry +``` + +```output +Name +---- +Australia +Belgium +Brazil +Canada +Denmark +Finland +France +Germany +Hong Kong +Japan +Kenya +Korea, South +Malaysia +Netherlands +New Zealand +... +``` + +Lists the countries available for peering service. + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IResource + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringServiceLocation.md b/src/Peering/docs/Get-AzPeeringServiceLocation.md new file mode 100644 index 000000000000..07ea967cc15d --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringServiceLocation.md @@ -0,0 +1,145 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringservicelocation +schema: 2.0.0 +--- + +# Get-AzPeeringServiceLocation + +## SYNOPSIS +Lists all of the available locations for peering service. + +## SYNTAX + +``` +Get-AzPeeringServiceLocation [-SubscriptionId ] [-Country ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Lists all of the available locations for peering service. + +## EXAMPLES + +### Example 1: List all peering service locations +```powershell +Get-AzPeeringServiceLocation +``` + +```output +Name State Country AzureRegion +---- ----- ------- ----------- +Obwalden Obwalden Switzerland France Central +Sankt Gallen Sankt Gallen Switzerland France Central +Schaffhausen Schaffhausen Switzerland France Central +Schwyz Schwyz Switzerland France Central +Solothurn Solothurn Switzerland France Central +Thurgau Thurgau Switzerland France Central +Ticino Ticino Switzerland France Central +Uri Uri Switzerland France Central +Valais Valais Switzerland France Central +Vaud Vaud Switzerland France Central +Zug Zug Switzerland France Central +Zurich Zurich Switzerland France Central +Aberdeen City Aberdeen City United Kingdom UK West +Angus Angus United Kingdom UK West +Antrim and Newtownabbey Antrim and Newtownabbey United Kingdom North Europe +Ards and North Down Ards and North Down United Kingdom North Europe +Argyll and Bute Argyll and Bute United Kingdom North Europe +Armagh, Banbridge and Craigavon Armagh, Banbridge and Craigavon United Kingdom North Europe +Barking and Dagenham Barking and Dagenham United Kingdom UK South +... +``` + +Retrieves all peering service locations + +### Example 2: List all peering service +```powershell +Get-AzPeeringServiceLocation -Country Japan +``` + +```output +Name State Country AzureRegion +---- ----- ------- ----------- +Aichi Aichi Japan Japan West +Akita Akita Japan Japan East +Aomori Aomori Japan Japan East +Chiba Chiba Japan Japan East +Ehime Ehime Japan Japan West +Fukui Fukui Japan Japan West +Fukuoka Fukuoka Japan Japan West +Fukushima Fukushima Japan Japan East +Gifu Gifu Japan Japan West +Gunma Gunma Japan Japan East +Hiroshima Hiroshima Japan Japan West +Hyogo Hyogo Japan Japan West +Ibaraki Ibaraki Japan Japan East +Ishikawa Ishikawa Japan Japan West +... +``` + +Retrieves all peering service locations for a specific country + +## PARAMETERS + +### -Country +The country of interest, in which the locations are to be present. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringServiceLocation + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringServicePrefix.md b/src/Peering/docs/Get-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..71f7cd5b3594 --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringServicePrefix.md @@ -0,0 +1,206 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringserviceprefix +schema: 2.0.0 +--- + +# Get-AzPeeringServicePrefix + +## SYNOPSIS +Gets an existing prefix with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +### List (Default) +``` +Get-AzPeeringServicePrefix -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-Expand ] [-DefaultProfile ] [] +``` + +### Get +``` +Get-AzPeeringServicePrefix -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-Expand ] [-DefaultProfile ] [] +``` + +### GetViaIdentity +``` +Get-AzPeeringServicePrefix -InputObject [-Expand ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +Gets an existing prefix with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: List all peering service prefixes +```powershell +Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +TestPrefix2 240.0.0.0/24 Failed None Succeeded +``` + +Lists all peering service prefixes for the peering service + +### Example 2: Get specific peering service prefix +```powershell +Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG -Name TestPrefix +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +``` + +Gets a specific peering service prefix + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +The properties to be expanded. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: GetViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the prefix. + +```yaml +Type: System.String +Parameter Sets: Get +Aliases: PrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Get, List +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: Get, List +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringServicePrefix + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Get-AzPeeringServiceProvider.md b/src/Peering/docs/Get-AzPeeringServiceProvider.md new file mode 100644 index 000000000000..453a2a8002ff --- /dev/null +++ b/src/Peering/docs/Get-AzPeeringServiceProvider.md @@ -0,0 +1,98 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/get-azpeeringserviceprovider +schema: 2.0.0 +--- + +# Get-AzPeeringServiceProvider + +## SYNOPSIS +Lists all of the available peering service locations for the specified kind of peering. + +## SYNTAX + +``` +Get-AzPeeringServiceProvider [-SubscriptionId ] [-DefaultProfile ] [] +``` + +## DESCRIPTION +Lists all of the available peering service locations for the specified kind of peering. + +## EXAMPLES + +### Example 1: List all peering service providers +```powershell +Get-AzPeeringServiceProvider +``` + +```output +Name PeeringLocation ServiceProviderName +---- --------------- ------------------- +IIJ {Osaka, Tokyo} IIJ +NTTCom {Osaka, Tokyo} NTTCom +Kordia Limited {Auckland, Sydney} Kordia Limited +Liquid Telecommunications Ltd {Cape Town, Johannesburg, Nairobi} Liquid Telecommunications Ltd +InterCloud {london, Paris, Zurich, Geneva} InterCloud +Computer Concepts Limited {Auckland} Computer Concepts Limited +Singnet {singapore} Singnet +NTT Communications - Flexible InterConnect {Osaka, Tokyo} NTT Communications - Flexible InterConnect +NAPAfrica {Johannesburg, Cape Town} NAPAfrica +Vocusgroup NZ {Sydney, Auckland} Vocusgroup NZ +CMC NETWORKS {Johannesburg, Nairobi, cape Town} CMC NETWORKS +MainOne {Lisbon, Lagos} MainOne +Swisscom Switzerland Ltd {Geneva, Zurich} Swisscom Switzerland Ltd +DE-CIX {Frankfurt, Marseille, Newark, Madrid…} DE-CIX +Lumen Technologies {denver, los Angeles} Lumen Technologies +Colt Technology Services {Amsterdam, Barcelona, Berlin, Frankfurt…} Colt Technology Services +``` + +Lists all peering service providers + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringServiceProvider + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/Initialize-AzPeeringServiceConnectionMonitor.md b/src/Peering/docs/Initialize-AzPeeringServiceConnectionMonitor.md new file mode 100644 index 000000000000..83c75ca54147 --- /dev/null +++ b/src/Peering/docs/Initialize-AzPeeringServiceConnectionMonitor.md @@ -0,0 +1,166 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/initialize-azpeeringserviceconnectionmonitor +schema: 2.0.0 +--- + +# Initialize-AzPeeringServiceConnectionMonitor + +## SYNOPSIS +Initialize Peering Service for Connection Monitor functionality + +## SYNTAX + +### Initialize (Default) +``` +Initialize-AzPeeringServiceConnectionMonitor [-SubscriptionId ] [-DefaultProfile ] + [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### InitializeViaIdentity +``` +Initialize-AzPeeringServiceConnectionMonitor -InputObject [-DefaultProfile ] + [-PassThru] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Initialize Peering Service for Connection Monitor functionality + +## EXAMPLES + +### Example 1: Initialize connection monitor functionality +```powershell +Initialize-AzPeeringServiceConnectionMonitor +``` + +Initialize connection monitor functionality + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: InitializeViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Initialize +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeering.md b/src/Peering/docs/New-AzPeering.md new file mode 100644 index 000000000000..e4c9c03528b7 --- /dev/null +++ b/src/Peering/docs/New-AzPeering.md @@ -0,0 +1,337 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeering +schema: 2.0.0 +--- + +# New-AzPeering + +## SYNOPSIS +Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group. + +## SYNTAX + +``` +New-AzPeering -Name -ResourceGroupName -Kind -Location + [-SubscriptionId ] [-DirectConnection ] [-DirectPeerAsnId ] + [-DirectPeeringType ] [-ExchangeConnection ] + [-ExchangePeerAsnId ] [-PeeringLocation ] [-Sku ] [-Tag ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Create a new direct peering object +```powershell +$peerAsnId = "/subscriptions/{subId}/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest" +$directConnections = New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 + +New-AzPeering -Name TestPeeringPs -ResourceGroupName DemoRG -Kind Direct -Location "South Central US" -DirectConnection $directConnections -DirectPeeringType Cdn -DirectPeerAsnId $peerAsnId -PeeringLocation Dallas -Sku Premium_Direct_Unlimited +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +TestPeering Premium_Direct_Unlimited Direct Dallas Succeeded South Central US +``` + +Create a new direct peering object + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DirectConnection +The set of connections that constitute a direct peering. +To construct, see NOTES section for DIRECTCONNECTION properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IDirectConnection[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DirectPeerAsnId +The identifier of the referenced resource. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DirectPeeringType +The type of direct peering. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.DirectPeeringType +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ExchangeConnection +The set of connections that constitute an exchange peering. +To construct, see NOTES section for EXCHANGECONNECTION properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IExchangeConnection[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ExchangePeerAsnId +The identifier of the referenced resource. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Kind +The kind of the peering. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.Kind +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Location +The location of the resource. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: PeeringName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringLocation +The location of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Sku +The name of the peering SKU. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: SkuName + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +The resource tags. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeering + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`DIRECTCONNECTION `: The set of connections that constitute a direct peering. + - `[BandwidthInMbps ]`: The bandwidth of the connection. + - `[BgpSessionMaxPrefixesAdvertisedV4 ]`: The maximum number of prefixes advertised over the IPv4 session. + - `[BgpSessionMaxPrefixesAdvertisedV6 ]`: The maximum number of prefixes advertised over the IPv6 session. + - `[BgpSessionMd5AuthenticationKey ]`: The MD5 authentication key of the session. + - `[BgpSessionMicrosoftSessionIPv4Address ]`: The IPv4 session address on Microsoft's end. + - `[BgpSessionMicrosoftSessionIPv6Address ]`: The IPv6 session address on Microsoft's end. + - `[BgpSessionPeerSessionIPv4Address ]`: The IPv4 session address on peer's end. + - `[BgpSessionPeerSessionIPv6Address ]`: The IPv6 session address on peer's end. + - `[BgpSessionPrefixV4 ]`: The IPv4 prefix that contains both ends' IPv4 addresses. + - `[BgpSessionPrefixV6 ]`: The IPv6 prefix that contains both ends' IPv6 addresses. + - `[ConnectionIdentifier ]`: The unique identifier (GUID) for the connection. + - `[PeeringDbFacilityId ]`: The PeeringDB.com ID of the facility at which the connection has to be set up. + - `[SessionAddressProvider ]`: The field indicating if Microsoft provides session ip addresses. + - `[UseForPeeringService ]`: The flag that indicates whether or not the connection is used for peering service. + +`EXCHANGECONNECTION `: The set of connections that constitute an exchange peering. + - `[BgpSessionMaxPrefixesAdvertisedV4 ]`: The maximum number of prefixes advertised over the IPv4 session. + - `[BgpSessionMaxPrefixesAdvertisedV6 ]`: The maximum number of prefixes advertised over the IPv6 session. + - `[BgpSessionMd5AuthenticationKey ]`: The MD5 authentication key of the session. + - `[BgpSessionMicrosoftSessionIPv4Address ]`: The IPv4 session address on Microsoft's end. + - `[BgpSessionMicrosoftSessionIPv6Address ]`: The IPv6 session address on Microsoft's end. + - `[BgpSessionPeerSessionIPv4Address ]`: The IPv4 session address on peer's end. + - `[BgpSessionPeerSessionIPv6Address ]`: The IPv6 session address on peer's end. + - `[BgpSessionPrefixV4 ]`: The IPv4 prefix that contains both ends' IPv4 addresses. + - `[BgpSessionPrefixV6 ]`: The IPv6 prefix that contains both ends' IPv6 addresses. + - `[ConnectionIdentifier ]`: The unique identifier (GUID) for the connection. + - `[PeeringDbFacilityId ]`: The PeeringDB.com ID of the facility at which the connection has to be set up. + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringAsn.md b/src/Peering/docs/New-AzPeeringAsn.md new file mode 100644 index 000000000000..c4cb0eb714a0 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringAsn.md @@ -0,0 +1,189 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringasn +schema: 2.0.0 +--- + +# New-AzPeeringAsn + +## SYNOPSIS +Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription. + +## SYNTAX + +``` +New-AzPeeringAsn -Name [-SubscriptionId ] [-PeerAsn ] + [-PeerContactDetail ] [-PeerName ] [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription. + +## EXAMPLES + +### Example 1: Create a new peering asn +```powershell +$contactDetail = New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" +$PeerContactList = ,$contactDetail +New-AzPeeringAsn -Name PsTestAsn -PeerAsn 65001 -PeerContactDetail $PeerContactList -PeerName DemoPeering +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +PsTestAsn DemoPeering 65001 Pending {{… +``` + +Create a new peering asn with the specified properties + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The peer ASN name. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: PeerAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeerAsn +The Autonomous System Number (ASN) of the peer. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeerContactDetail +The contact details of the peer. +To construct, see NOTES section for PEERCONTACTDETAIL properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IContactDetail[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeerName +The name of the peer. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeerAsn + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`PEERCONTACTDETAIL `: The contact details of the peer. + - `[Email ]`: The e-mail address of the contact. + - `[Phone ]`: The phone number of the contact. + - `[Role ]`: The role of the contact. + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md b/src/Peering/docs/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md new file mode 100644 index 000000000000..6b9e79cd76c8 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md @@ -0,0 +1,84 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.Peering/new-AzPeeringCheckServiceProviderAvailabilityInputObject +schema: 2.0.0 +--- + +# New-AzPeeringCheckServiceProviderAvailabilityInputObject + +## SYNOPSIS +Create an in-memory object for CheckServiceProviderAvailabilityInput. + +## SYNTAX + +``` +New-AzPeeringCheckServiceProviderAvailabilityInputObject [-PeeringServiceLocation ] + [-PeeringServiceProvider ] [] +``` + +## DESCRIPTION +Create an in-memory object for CheckServiceProviderAvailabilityInput. + +## EXAMPLES + +### Example 1: Create a check service provider availability object +```powershell +New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ +``` + +```output +PeeringServiceLocation PeeringServiceProvider +---------------------- ---------------------- +Osaka IIJ +``` + +Creates a CheckServiceProviderAvailabilityInputObject with the specified location and provider and stores it in memory + +## PARAMETERS + +### -PeeringServiceLocation +Gets or sets the peering service location. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceProvider +Gets or sets the peering service provider. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.CheckServiceProviderAvailabilityInput + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringConnectionMonitorTest.md b/src/Peering/docs/New-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..bcd2152be0c0 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,221 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringconnectionmonitortest +schema: 2.0.0 +--- + +# New-AzPeeringConnectionMonitorTest + +## SYNOPSIS +Creates or updates a connection monitor test with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +``` +New-AzPeeringConnectionMonitorTest -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-Destination ] [-DestinationPort ] [-SourceAgent ] + [-TestFrequencyInSec ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Creates or updates a connection monitor test with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: Create a new connection monitor test +```powershell +New-AzPeeringConnectionMonitorTest -Name TestName -PeeringServiceName DRTest -ResourceGroupName DemoRG +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +``` + +Creates a connection monitor test for the peering service + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Destination +The Connection Monitor test destination + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationPort +The Connection Monitor test destination port + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the connection monitor test + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: ConnectionMonitorTestName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SourceAgent +The Connection Monitor test source agent + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -TestFrequencyInSec +The Connection Monitor test frequency in seconds + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IConnectionMonitorTest + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringContactDetailObject.md b/src/Peering/docs/New-AzPeeringContactDetailObject.md new file mode 100644 index 000000000000..019b97d53f2a --- /dev/null +++ b/src/Peering/docs/New-AzPeeringContactDetailObject.md @@ -0,0 +1,98 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.Peering/new-AzPeeringContactDetailObject +schema: 2.0.0 +--- + +# New-AzPeeringContactDetailObject + +## SYNOPSIS +Create an in-memory object for ContactDetail. + +## SYNTAX + +``` +New-AzPeeringContactDetailObject [-Email ] [-Phone ] [-Role ] [] +``` + +## DESCRIPTION +Create an in-memory object for ContactDetail. + +## EXAMPLES + +### Example 1: Create a Contact Detail object +```powershell +New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" +``` + +```output +Email Phone Role +----- ----- ---- +abc@xyz.com 1234567890 Noc +``` + +Creates a ContactDetail object with the specified email phone and role stores it in memory + +## PARAMETERS + +### -Email +The e-mail address of the contact. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Phone +The phone number of the contact. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Role +The role of the contact. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.Role +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ContactDetail + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringDirectConnectionObject.md b/src/Peering/docs/New-AzPeeringDirectConnectionObject.md new file mode 100644 index 000000000000..b8d7e03a4b45 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringDirectConnectionObject.md @@ -0,0 +1,272 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.Peering/new-AzPeeringDirectConnectionObject +schema: 2.0.0 +--- + +# New-AzPeeringDirectConnectionObject + +## SYNOPSIS +Create an in-memory object for DirectConnection. + +## SYNTAX + +``` +New-AzPeeringDirectConnectionObject [-BandwidthInMbps ] [-BgpSessionMaxPrefixesAdvertisedV4 ] + [-BgpSessionMaxPrefixesAdvertisedV6 ] [-BgpSessionMd5AuthenticationKey ] + [-BgpSessionMicrosoftSessionIPv4Address ] [-BgpSessionMicrosoftSessionIPv6Address ] + [-BgpSessionPeerSessionIPv4Address ] [-BgpSessionPeerSessionIPv6Address ] + [-BgpSessionPrefixV4 ] [-BgpSessionPrefixV6 ] [-ConnectionIdentifier ] + [-PeeringDbFacilityId ] [-SessionAddressProvider ] + [-UseForPeeringService ] [] +``` + +## DESCRIPTION +Create an in-memory object for DirectConnection. + +## EXAMPLES + +### Example 1: Create a direct connection object +```powershell +$md5Key = "******" + +New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 1.1.1.1 -BgpSessionPeerSessionIPv4Address 1.1.1.0 -BgpSessionPrefixV4 1.1.1.1/31 -PeeringDbFacilityId 82 -SessionAddressProvider Peer -ConnectionIdentifier c111111111111 +``` + +```output +BandwidthInMbps ConnectionIdentifier ConnectionState ErrorMessage MicrosoftTrackingId PeeringDbFacilityId ProvisionedBandwidthInMbps +--------------- -------------------- --------------- ------------ ------------------- ------------------- -------------------------- +10000 c111111111111 PendingApproval 82 + +``` + +Creates an in-memory direct connection object + +## PARAMETERS + +### -BandwidthInMbps +The bandwidth of the connection. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMaxPrefixesAdvertisedV4 +The maximum number of prefixes advertised over the IPv4 session. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMaxPrefixesAdvertisedV6 +The maximum number of prefixes advertised over the IPv6 session. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMd5AuthenticationKey +The MD5 authentication key of the session. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMicrosoftSessionIPv4Address +The IPv4 session address on Microsoft's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMicrosoftSessionIPv6Address +The IPv6 session address on Microsoft's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPeerSessionIPv4Address +The IPv4 session address on peer's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPeerSessionIPv6Address +The IPv6 session address on peer's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPrefixV4 +The IPv4 prefix that contains both ends' IPv4 addresses. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPrefixV6 +The IPv6 prefix that contains both ends' IPv6 addresses. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ConnectionIdentifier +The unique identifier (GUID) for the connection. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringDbFacilityId +The PeeringDB.com ID of the facility at which the connection has to be set up. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SessionAddressProvider +The field indicating if Microsoft provides session ip addresses. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.SessionAddressProvider +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -UseForPeeringService +The flag that indicates whether or not the connection is used for peering service. + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.DirectConnection + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringExchangeConnectionObject.md b/src/Peering/docs/New-AzPeeringExchangeConnectionObject.md new file mode 100644 index 000000000000..baa9b1b4d4b6 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringExchangeConnectionObject.md @@ -0,0 +1,225 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.Peering/new-AzPeeringExchangeConnectionObject +schema: 2.0.0 +--- + +# New-AzPeeringExchangeConnectionObject + +## SYNOPSIS +Create an in-memory object for ExchangeConnection. + +## SYNTAX + +``` +New-AzPeeringExchangeConnectionObject [-BgpSessionMaxPrefixesAdvertisedV4 ] + [-BgpSessionMaxPrefixesAdvertisedV6 ] [-BgpSessionMd5AuthenticationKey ] + [-BgpSessionMicrosoftSessionIPv4Address ] [-BgpSessionMicrosoftSessionIPv6Address ] + [-BgpSessionPeerSessionIPv4Address ] [-BgpSessionPeerSessionIPv6Address ] + [-BgpSessionPrefixV4 ] [-BgpSessionPrefixV6 ] [-ConnectionIdentifier ] + [-PeeringDbFacilityId ] [] +``` + +## DESCRIPTION +Create an in-memory object for ExchangeConnection. + +## EXAMPLES + +### Example 1: Create an exchange connection object +```powershell +$md5Key = "******" + +New-AzPeeringExchangeConnectionObject -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 1.1.1.1 -BgpSessionPeerSessionIPv4Address 1.1.1.0 -BgpSessionPrefixV4 1.1.1.1/31 -PeeringDbFacilityId 82 -ConnectionIdentifier c111111111111 +``` + +```output +ConnectionIdentifier ConnectionState ErrorMessage PeeringDbFacilityId +-------------------- --------------- ------------ ------------------- +c111111111111 82 +``` + +Create a exchange connection object in memory + +## PARAMETERS + +### -BgpSessionMaxPrefixesAdvertisedV4 +The maximum number of prefixes advertised over the IPv4 session. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMaxPrefixesAdvertisedV6 +The maximum number of prefixes advertised over the IPv6 session. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMd5AuthenticationKey +The MD5 authentication key of the session. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMicrosoftSessionIPv4Address +The IPv4 session address on Microsoft's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionMicrosoftSessionIPv6Address +The IPv6 session address on Microsoft's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPeerSessionIPv4Address +The IPv4 session address on peer's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPeerSessionIPv6Address +The IPv6 session address on peer's end. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPrefixV4 +The IPv4 prefix that contains both ends' IPv4 addresses. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -BgpSessionPrefixV6 +The IPv6 prefix that contains both ends' IPv6 addresses. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ConnectionIdentifier +The unique identifier (GUID) for the connection. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringDbFacilityId +The PeeringDB.com ID of the facility at which the connection has to be set up. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ExchangeConnection + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringRegisteredAsn.md b/src/Peering/docs/New-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..89da7b373066 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringRegisteredAsn.md @@ -0,0 +1,176 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringregisteredasn +schema: 2.0.0 +--- + +# New-AzPeeringRegisteredAsn + +## SYNOPSIS +Creates a new registered ASN with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +``` +New-AzPeeringRegisteredAsn -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-Asn ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Creates a new registered ASN with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: Create registered asn +```powershell +New-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Asn 65001 +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +TestAsn 65001 45a8db73-4b7c-4800-bb0f-d304a747d6f1 Succeeded +``` + +Create a new registered asn for a peering + +## PARAMETERS + +### -Asn +The customer's ASN from which traffic originates. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the ASN. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: RegisteredAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringRegisteredAsn + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringRegisteredPrefix.md b/src/Peering/docs/New-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..e1507f944ba8 --- /dev/null +++ b/src/Peering/docs/New-AzPeeringRegisteredPrefix.md @@ -0,0 +1,176 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringregisteredprefix +schema: 2.0.0 +--- + +# New-AzPeeringRegisteredPrefix + +## SYNOPSIS +Creates a new registered prefix with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +``` +New-AzPeeringRegisteredPrefix -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-Prefix ] [-DefaultProfile ] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Creates a new registered prefix with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: Create a new registered prefix +```powershell +New-AzPeeringRegisteredPrefix -Name accessibilityTesting6 -PeeringName DemoPeering -ResourceGroupName DemoRG -Prefix 240.0.5.0/24 +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting6 240.0.5.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Pending Updating +``` + +Create a new registered prefix object + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the registered prefix. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: RegisteredPrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Prefix +The customer's prefix from which traffic originates. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringRegisteredPrefix + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringService.md b/src/Peering/docs/New-AzPeeringService.md new file mode 100644 index 000000000000..28a73e531c9b --- /dev/null +++ b/src/Peering/docs/New-AzPeeringService.md @@ -0,0 +1,252 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringservice +schema: 2.0.0 +--- + +# New-AzPeeringService + +## SYNOPSIS +Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group. + +## SYNTAX + +``` +New-AzPeeringService -Name -ResourceGroupName -Location [-SubscriptionId ] + [-PeeringServiceLocation ] [-PeeringServiceProvider ] + [-ProviderBackupPeeringLocation ] [-ProviderPrimaryPeeringLocation ] [-Sku ] + [-Tag ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Create a new peering service +```powershell +New-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG -Location "East US 2" -PeeringServiceLocation Georgia -PeeringServiceProvider MicrosoftEdge -ProviderPrimaryPeeringLocation Atlanta +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPeeringService DemoRG Georgia MicrosoftEdge ProvisioningStarted East US 2 +``` + +Create a new peering service in the resource group + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Location +The location of the resource. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: PeeringServiceName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceLocation +The location (state/province) of the customer. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceProvider +The name of the service provider. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ProviderBackupPeeringLocation +The backup peering (Microsoft/service provider) location to be used for customer traffic. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ProviderPrimaryPeeringLocation +The primary peering (Microsoft/service provider) location to be used for customer traffic. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Sku +The name of the peering service SKU. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: SkuName + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +The resource tags. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringService + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/New-AzPeeringServicePrefix.md b/src/Peering/docs/New-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..b1f6d3a133dc --- /dev/null +++ b/src/Peering/docs/New-AzPeeringServicePrefix.md @@ -0,0 +1,191 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/new-azpeeringserviceprefix +schema: 2.0.0 +--- + +# New-AzPeeringServicePrefix + +## SYNOPSIS +Creates a new prefix with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +``` +New-AzPeeringServicePrefix -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-PeeringServicePrefixKey ] [-Prefix ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Creates a new prefix with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: Create Peering service prefix +```powershell +New-AzPeeringServicePrefix -Name TestPrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG -PeeringServicePrefixKey 6a7f0d42-e49c-4eea-a930-280610671c3f -Prefix 91.194.255.0/24 +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +``` + +Create a peering service prefix + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +The name of the prefix. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: PrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServicePrefixKey +The peering service prefix key + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Prefix +The prefix from which your traffic originates. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringServicePrefix + +## NOTES + +ALIASES + +## RELATED LINKS + diff --git a/src/Peering/docs/README.md b/src/Peering/docs/README.md new file mode 100644 index 000000000000..b033a1425592 --- /dev/null +++ b/src/Peering/docs/README.md @@ -0,0 +1,11 @@ +# Docs +This directory contains the documentation of the cmdlets for the `Az.Peering` module. To run documentation generation, use the `generate-help.ps1` script at the root module folder. Files in this folder will *always be overridden on regeneration*. To update documentation examples, please use the `..\examples` folder. + +## Info +- Modifiable: no +- Generated: all +- Committed: yes +- Packaged: yes + +## Details +The process of documentation generation loads `Az.Peering` and analyzes the exported cmdlets from the module. It recognizes the [help comments](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) that are generated into the scripts in the `..\exports` folder. Additionally, when writing custom cmdlets in the `..\custom` folder, you can use the help comments syntax, which decorate the exported scripts at build-time. The documentation examples are taken from the `..\examples` folder. \ No newline at end of file diff --git a/src/Peering/docs/Remove-AzPeering.md b/src/Peering/docs/Remove-AzPeering.md new file mode 100644 index 000000000000..3ff113521f86 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeering.md @@ -0,0 +1,196 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeering +schema: 2.0.0 +--- + +# Remove-AzPeering + +## SYNOPSIS +Deletes an existing peering with the specified name under the given subscription and resource group. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeering -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeering -InputObject [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] + [] +``` + +## DESCRIPTION +Deletes an existing peering with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Remove peering +```powershell +Remove-AzPeering -Name TestPeering -ResourceGroupName DemoRG +``` + +Remove a peering from the given resource group + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: PeeringName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringAsn.md b/src/Peering/docs/Remove-AzPeeringAsn.md new file mode 100644 index 000000000000..5434af369bf1 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringAsn.md @@ -0,0 +1,181 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringasn +schema: 2.0.0 +--- + +# Remove-AzPeeringAsn + +## SYNOPSIS +Deletes an existing peer ASN with the specified name under the given subscription. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringAsn -Name [-SubscriptionId ] [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringAsn -InputObject [-DefaultProfile ] [-PassThru] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing peer ASN with the specified name under the given subscription. + +## EXAMPLES + +### Example 1: Remove peer asn +```powershell +Remove-AzPeeringAsn -Name PsTestAsn +``` + +Removes peer asn with the name specified + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The peer ASN name. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: PeerAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringConnectionMonitorTest.md b/src/Peering/docs/Remove-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..e8189d8171fb --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,211 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringconnectionmonitortest +schema: 2.0.0 +--- + +# Remove-AzPeeringConnectionMonitorTest + +## SYNOPSIS +Deletes an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringConnectionMonitorTest -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringConnectionMonitorTest -InputObject [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing connection monitor test with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: Remove connection monitor test +```powershell +Remove-AzPeeringConnectionMonitorTest -Name TestName -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +Removes the given connection monitor test from the peering service + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the connection monitor test + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: ConnectionMonitorTestName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringRegisteredAsn.md b/src/Peering/docs/Remove-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..cb33c1840c57 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringRegisteredAsn.md @@ -0,0 +1,211 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringregisteredasn +schema: 2.0.0 +--- + +# Remove-AzPeeringRegisteredAsn + +## SYNOPSIS +Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringRegisteredAsn -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringRegisteredAsn -InputObject [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: Remove a registered asn from the peering +```powershell +Remove-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo +``` + +Remove a registered asn from the peering object + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the registered ASN. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: RegisteredAsnName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringRegisteredPrefix.md b/src/Peering/docs/Remove-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..2fa7e1464199 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringRegisteredPrefix.md @@ -0,0 +1,211 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringregisteredprefix +schema: 2.0.0 +--- + +# Remove-AzPeeringRegisteredPrefix + +## SYNOPSIS +Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringRegisteredPrefix -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringRegisteredPrefix -InputObject [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: Remove registered prefix +```powershell +Remove-AzPeeringRegisteredPrefix -Name accessibilityTesting6 -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +Removes the specified registered prefix from peering + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the registered prefix. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: RegisteredPrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringService.md b/src/Peering/docs/Remove-AzPeeringService.md new file mode 100644 index 000000000000..50081f201532 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringService.md @@ -0,0 +1,196 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringservice +schema: 2.0.0 +--- + +# Remove-AzPeeringService + +## SYNOPSIS +Deletes an existing peering service with the specified name under the given subscription and resource group. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringService -Name -ResourceGroupName [-SubscriptionId ] + [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringService -InputObject [-DefaultProfile ] [-PassThru] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing peering service with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Remove peering service +```powershell +Remove-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG +``` + +Removes a peering service from the given resource group + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: PeeringServiceName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Remove-AzPeeringServicePrefix.md b/src/Peering/docs/Remove-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..21541a9ff4f0 --- /dev/null +++ b/src/Peering/docs/Remove-AzPeeringServicePrefix.md @@ -0,0 +1,211 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/remove-azpeeringserviceprefix +schema: 2.0.0 +--- + +# Remove-AzPeeringServicePrefix + +## SYNOPSIS +Deletes an existing prefix with the specified name under the given subscription, resource group and peering service. + +## SYNTAX + +### Delete (Default) +``` +Remove-AzPeeringServicePrefix -Name -PeeringServiceName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-PassThru] [-Confirm] [-WhatIf] [] +``` + +### DeleteViaIdentity +``` +Remove-AzPeeringServicePrefix -InputObject [-DefaultProfile ] [-PassThru] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Deletes an existing prefix with the specified name under the given subscription, resource group and peering service. + +## EXAMPLES + +### Example 1: Remove peering service prefix +```powershell +Remove-AzPeeringServicePrefix -Name TestPrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +Removes peering service prefix from peering + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: DeleteViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the prefix. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: PrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PassThru +Returns true when the command succeeds + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceName +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Delete +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.Boolean + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Start-AzPeeringInvokeLookingGlass.md b/src/Peering/docs/Start-AzPeeringInvokeLookingGlass.md new file mode 100644 index 000000000000..c709a31eb2fa --- /dev/null +++ b/src/Peering/docs/Start-AzPeeringInvokeLookingGlass.md @@ -0,0 +1,219 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/start-azpeeringinvokelookingglass +schema: 2.0.0 +--- + +# Start-AzPeeringInvokeLookingGlass + +## SYNOPSIS +Run looking glass functionality + +## SYNTAX + +### Invoke (Default) +``` +Start-AzPeeringInvokeLookingGlass -Command -DestinationIP + -SourceLocation -SourceType [-SubscriptionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### InvokeViaIdentity +``` +Start-AzPeeringInvokeLookingGlass -InputObject -Command + -DestinationIP -SourceLocation -SourceType + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Run looking glass functionality + +## EXAMPLES + +### Example 1: Invoke looking glass command +```powershell +Start-AzPeeringInvokeLookingGlass -Command Ping -DestinationIp 1.1.1.1 -SourceLocation Seattle -SourceType EdgeSite +``` + +```output +Command Output +------- ------ +Ping PING 1.1.1.1 (1.1.1.1): 56 data bytes… +``` + +Invoke the given looking glass command + +## PARAMETERS + +### -Command +The command to be executed: ping, traceroute, bgpRoute. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.LookingGlassCommand +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationIP +The IP address of the destination. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: InvokeViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -SourceLocation +The location of the source. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SourceType +The type of the source: Edge site or Azure Region. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Support.LookingGlassSourceType +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Invoke +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ILookingGlassOutput + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Test-AzPeeringRegisteredPrefix.md b/src/Peering/docs/Test-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..05895145c885 --- /dev/null +++ b/src/Peering/docs/Test-AzPeeringRegisteredPrefix.md @@ -0,0 +1,202 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/test-azpeeringregisteredprefix +schema: 2.0.0 +--- + +# Test-AzPeeringRegisteredPrefix + +## SYNOPSIS +Validates an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## SYNTAX + +### Validate (Default) +``` +Test-AzPeeringRegisteredPrefix -Name -PeeringName -ResourceGroupName + [-SubscriptionId ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### ValidateViaIdentity +``` +Test-AzPeeringRegisteredPrefix -InputObject [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Validates an existing registered prefix with the specified name under the given subscription, resource group and peering. + +## EXAMPLES + +### Example 1: Test registered prefix +```powershell +Test-AzPeeringRegisteredPrefix -Name accessibilityTesting2 -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting2 240.0.1.0/24 249aa0dd-6177-4105-94fe-dfefcbf5ab48 Pending Succeeded +``` + +Tests the validity of the given registered prefix (shown in prefix validation state) + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: ValidateViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the registered prefix. + +```yaml +Type: System.String +Parameter Sets: Validate +Aliases: RegisteredPrefixName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringName +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: Validate +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: Validate +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Validate +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringRegisteredPrefix + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Test-AzPeeringServiceProviderAvailability.md b/src/Peering/docs/Test-AzPeeringServiceProviderAvailability.md new file mode 100644 index 000000000000..91fc7f840657 --- /dev/null +++ b/src/Peering/docs/Test-AzPeeringServiceProviderAvailability.md @@ -0,0 +1,222 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/test-azpeeringserviceprovideravailability +schema: 2.0.0 +--- + +# Test-AzPeeringServiceProviderAvailability + +## SYNOPSIS +Checks if the peering service provider is present within 1000 miles of customer's location + +## SYNTAX + +### CheckExpanded (Default) +``` +Test-AzPeeringServiceProviderAvailability [-SubscriptionId ] [-PeeringServiceLocation ] + [-PeeringServiceProvider ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### Check +``` +Test-AzPeeringServiceProviderAvailability + -CheckServiceProviderAvailabilityInput [-SubscriptionId ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### CheckViaIdentity +``` +Test-AzPeeringServiceProviderAvailability -InputObject + -CheckServiceProviderAvailabilityInput [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +### CheckViaIdentityExpanded +``` +Test-AzPeeringServiceProviderAvailability -InputObject [-PeeringServiceLocation ] + [-PeeringServiceProvider ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Checks if the peering service provider is present within 1000 miles of customer's location + +## EXAMPLES + +### Example 1: Check if provider is available at a location +```powershell +$providerAvailability = New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ +Test-AzPeeringServiceProviderAvailability -CheckServiceProviderAvailabilityInput $providerAvailability +``` + +```output +"Available" +``` + +Check whether the given provider is available at the given location + +## PARAMETERS + +### -CheckServiceProviderAvailabilityInput +Class for CheckServiceProviderAvailabilityInput +To construct, see NOTES section for CHECKSERVICEPROVIDERAVAILABILITYINPUT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ICheckServiceProviderAvailabilityInput +Parameter Sets: Check, CheckViaIdentity +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: CheckViaIdentity, CheckViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PeeringServiceLocation +Gets or sets the peering service location. + +```yaml +Type: System.String +Parameter Sets: CheckExpanded, CheckViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PeeringServiceProvider +Gets or sets the peering service provider. + +```yaml +Type: System.String +Parameter Sets: CheckExpanded, CheckViaIdentityExpanded +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: Check, CheckExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.ICheckServiceProviderAvailabilityInput + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### System.String + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`CHECKSERVICEPROVIDERAVAILABILITYINPUT `: Class for CheckServiceProviderAvailabilityInput + - `[PeeringServiceLocation ]`: Gets or sets the peering service location. + - `[PeeringServiceProvider ]`: Gets or sets the peering service provider. + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Update-AzPeering.md b/src/Peering/docs/Update-AzPeering.md new file mode 100644 index 000000000000..649031bde4aa --- /dev/null +++ b/src/Peering/docs/Update-AzPeering.md @@ -0,0 +1,203 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/update-azpeering +schema: 2.0.0 +--- + +# Update-AzPeering + +## SYNOPSIS +Updates tags for a peering with the specified name under the given subscription and resource group. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzPeering -Name -ResourceGroupName [-SubscriptionId ] [-Tag ] + [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzPeering -InputObject [-Tag ] [-DefaultProfile ] [-Confirm] + [-WhatIf] [] +``` + +## DESCRIPTION +Updates tags for a peering with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Update peering tags +```powershell +$tags=@{hello='world'} +Update-AzPeering -Name DemoPeering -ResourceGroupName DemoRG -Tag $tags +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +``` + +Updates the specified peering's tags + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: PeeringName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Gets or sets the tags, a dictionary of descriptors arm object + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeering + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/docs/Update-AzPeeringService.md b/src/Peering/docs/Update-AzPeeringService.md new file mode 100644 index 000000000000..c28802756970 --- /dev/null +++ b/src/Peering/docs/Update-AzPeeringService.md @@ -0,0 +1,203 @@ +--- +external help file: +Module Name: Az.Peering +online version: https://learn.microsoft.com/powershell/module/az.peering/update-azpeeringservice +schema: 2.0.0 +--- + +# Update-AzPeeringService + +## SYNOPSIS +Updates tags for a peering service with the specified name under the given subscription and resource group. + +## SYNTAX + +### UpdateExpanded (Default) +``` +Update-AzPeeringService -Name -ResourceGroupName [-SubscriptionId ] + [-Tag ] [-DefaultProfile ] [-Confirm] [-WhatIf] [] +``` + +### UpdateViaIdentityExpanded +``` +Update-AzPeeringService -InputObject [-Tag ] [-DefaultProfile ] + [-Confirm] [-WhatIf] [] +``` + +## DESCRIPTION +Updates tags for a peering service with the specified name under the given subscription and resource group. + +## EXAMPLES + +### Example 1: Update peering service tags +```powershell +$tags=@{hello='world'} +Update-AzPeeringService -Name DRTestInterCloud -ResourceGroupName DemoRG -Tag $tags +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +``` + +Updates the peering service tags + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Identity Parameter +To construct, see NOTES section for INPUTOBJECT properties and create a hash table. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity +Parameter Sets: UpdateViaIdentityExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +The name of the peering service. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: PeeringServiceName + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +The name of the resource group. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The Azure subscription ID. + +```yaml +Type: System.String +Parameter Sets: UpdateExpanded +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Tag +Gets or sets the tags, a dictionary of descriptors arm object + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.IPeeringIdentity + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.Peering.Models.Api20221001.IPeeringService + +## NOTES + +ALIASES + +COMPLEX PARAMETER PROPERTIES + +To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. + + +`INPUTOBJECT `: Identity Parameter + - `[ConnectionMonitorTestName ]`: The name of the connection monitor test + - `[Id ]`: Resource identity path + - `[PeerAsnName ]`: The peer ASN name. + - `[PeeringName ]`: The name of the peering. + - `[PeeringServiceName ]`: The name of the peering service. + - `[PrefixName ]`: The name of the prefix. + - `[RegisteredAsnName ]`: The name of the registered ASN. + - `[RegisteredPrefixName ]`: The name of the registered prefix. + - `[ResourceGroupName ]`: The name of the resource group. + - `[SubscriptionId ]`: The Azure subscription ID. + +## RELATED LINKS + diff --git a/src/Peering/examples/Get-AzPeering.md b/src/Peering/examples/Get-AzPeering.md new file mode 100644 index 000000000000..7605f1dade4d --- /dev/null +++ b/src/Peering/examples/Get-AzPeering.md @@ -0,0 +1,33 @@ +### Example 1: List all peerings +```powershell + Get-AzPeering +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoComp1 Premium_Direct_Free Direct Dallas Succeeded South Central US +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +TestEdgeZone Premium_Direct_Free Direct Atlanta Succeeded East US 2 +MapsIxRs Premium_Direct_Free Direct Ashburn Succeeded East US +DemoMapsConfig Premium_Direct_Free Direct Seattle Succeeded West US 2 +testexchange Basic_Exchange_Free Exchange Amsterdam Succeeded West Europe +TestPeer1 Basic_Direct_Free Direct Amsterdam Succeeded West Europe +test1 Basic_Direct_Free Direct Athens Succeeded France Central +``` + +List all peerings in subscription + +### Example 2: Get specific peering by name and resource group +```powershell +Get-AzPeering -Name DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +``` + +Get a specific peering by resource group and name + diff --git a/src/Peering/examples/Get-AzPeeringAsn.md b/src/Peering/examples/Get-AzPeeringAsn.md new file mode 100644 index 000000000000..67d0cc680504 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringAsn.md @@ -0,0 +1,26 @@ +### Example 1: List PeerAsns +```powershell +Get-AzPeeringAsn +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +ContosoEdgeTest Contoso 65000 Approved {{…}} + +``` + +List all the peer asns under subscription + +### Example 2: Get Specific PeerAsn +```powershell +Get-AzPeeringAsn -Name ContosoEdgeTest +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +ContosoEdgeTest Contoso 65000 Approved {{…}} +``` + +Get peer asn by name \ No newline at end of file diff --git a/src/Peering/examples/Get-AzPeeringCdnPrefix.md b/src/Peering/examples/Get-AzPeeringCdnPrefix.md new file mode 100644 index 000000000000..f3ed2b2e92a1 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringCdnPrefix.md @@ -0,0 +1,19 @@ +### Example 1: Get Cdn prefixes +```powershell +Get-AzPeeringCdnPrefix -PeeringLocation Seattle +``` + +```output +Prefix AzureRegion AzureService IsPrimaryRegion BgpCommunity +------ ----------- ------------ --------------- ------------ +20.157.110.0/24 West US 2 AzureCompute True 8069:51026 +20.157.118.0/24 West US 2 AzureCompute True 8069:51026 +20.157.125.0/24 West US 2 AzureCompute True 8069:51026 +20.157.180.0/24 West US 2 AzureStorage True 8069:52026 +20.157.25.0/24 West US 2 AzureCompute True 8069:51026 +20.157.50.0/23 West US 2 AzureStorage True 8069:52026 +20.47.120.0/23 West US 2 AzureCompute True 8069:51026 +20.47.62.0/23 West US 2 AzureStorage True 8069:52026 +``` + +Get all cdn prefixes for subscription diff --git a/src/Peering/examples/Get-AzPeeringConnectionMonitorTest.md b/src/Peering/examples/Get-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..56053654b293 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,27 @@ +### Example 1: Lists all connection monitor tests +```powershell + Get-AzPeeringConnectionMonitorTest -ResourceGroupName DemoRG -PeeringServiceName DRTest +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +Agent 2 8.8.8.8 80 30 True Succeeded +``` + +Lists all connection monitor test objects + +### Example 2: Get single connection monitor test +```powershell + Get-AzPeeringConnectionMonitorTest -ResourceGroupName DemoRG -PeeringServiceName DRTest -Name TestName +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +``` + +Gets a single connection monitor test + diff --git a/src/Peering/examples/Get-AzPeeringLegacy.md b/src/Peering/examples/Get-AzPeeringLegacy.md new file mode 100644 index 000000000000..542fe985425e --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringLegacy.md @@ -0,0 +1,15 @@ +### Example 1: Gets legacy peering object +```powershell +Get-AzPeeringLegacy -Kind Direct -PeeringLocation Seattle +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoComp1 Premium_Direct_Free Direct Dallas Succeeded South Central US +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +TestEdgeZone Premium_Direct_Free Direct Atlanta Succeeded East US 2 +``` + +Gets legacy peering object + diff --git a/src/Peering/examples/Get-AzPeeringLocation.md b/src/Peering/examples/Get-AzPeeringLocation.md new file mode 100644 index 000000000000..f0dbb3574d60 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringLocation.md @@ -0,0 +1,21 @@ +### Example 1: Get all direct peering locations +```powershell +Get-AzPeeringLocation -Kind Direct +``` + +```output +Get-AzPeeringLocation -Kind Direct + +Name Country AzureRegion Kind +---- ------- ----------- ---- +Amsterdam NL West Europe Direct +Ashburn US East US Direct +Athens GR France Central Direct +Atlanta US East US 2 Direct +Auckland NZ Australia East Direct +Barcelona ES France Central Direct +Berlin DE West Europe Direct +... +``` + +Gets all peering locations for direct peers \ No newline at end of file diff --git a/src/Peering/examples/Get-AzPeeringReceivedRoute.md b/src/Peering/examples/Get-AzPeeringReceivedRoute.md new file mode 100644 index 000000000000..361226fa518a --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringReceivedRoute.md @@ -0,0 +1,46 @@ +### Example 1: Get all received routes for a specific peering +```powershell +Get-AzPeeringReceivedRoute -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +AsPath NextHop OriginAsValidationState Prefix ReceivedTimestamp RpkiValidationState TrustAnchor +------ ------- ----------------------- ------ ----------------- ------------------- ----------- +7018 13335 12.90.152.69 Valid 1.0.0.0/24 2022-12-05T11:51:51.2062620Z Valid None +7018 13335 12.90.152.69 Valid 1.1.1.0/24 2022-12-05T11:51:51.2062620Z Valid None +7018 4837 4808 12.90.152.69 Valid 1.119.192.0/21 2021-12-07T05:21:11.7043790Z Unknown None +7018 4837 4808 12.90.152.69 Valid 1.119.200.0/22 2021-12-07T05:21:11.7043790Z Unknown None +7018 4837 4808 59034 12.90.152.69 Valid 1.119.204.0/24 2021-12-07T05:21:13.7045170Z Unknown None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/12 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.161.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.162.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.163.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 15169 396982 12.90.152.69 Unknown 1.179.112.0/20 2021-12-07T05:21:16.7056160Z Unknown None +7018 9680 9680 3462 12.90.152.69 Valid 1.164.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.165.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.166.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.167.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +... +``` + +Gets all the received routes for a specific peering + +### Example 2: Filter received routes based on optional parameters +```powershell +Get-AzPeeringReceivedRoute -PeeringName DemoPeering -ResourceGroupName DemoRG -AsPath "7018 9680 9680 3462" +``` + +```output +AsPath NextHop OriginAsValidationState Prefix ReceivedTimestamp RpkiValidationState TrustAnchor +------ ------- ----------------------- ------ ----------------- ------------------- ----------- +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/12 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.160.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.161.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.162.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.163.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +7018 9680 9680 3462 12.90.152.69 Valid 1.164.0.0/16 2022-11-29T07:46:45.2062680Z Valid None +... +``` + +Gets all received routes of a peering with a specific AsPath diff --git a/src/Peering/examples/Get-AzPeeringRegisteredAsn.md b/src/Peering/examples/Get-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..0304a5632e38 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringRegisteredAsn.md @@ -0,0 +1,28 @@ +### Example 1: List all registered asns for peering +```powershell +Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +fgfg 6500 767c9f30-7388-49ef-ba8e-e2d16d1c08e4 Succeeded +homedepottest 65000 32259ee0-ea01-495e-8279-06c24ef7aae0 Succeeded +JonOrmondTest 62540 e3f552c5-909e-434b-8fab-93e524a1aeed Succeeded +``` + +Lists all registered asn's for a peering + +### Example 2: Get specific registered asn for peering +```powershell +Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Name fgfg +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +fgfg 6500 767c9f30-7388-49ef-ba8e-e2d16d1c08e4 Succeeded +``` + +Gets a specific registered asn for a peering by name + diff --git a/src/Peering/examples/Get-AzPeeringRegisteredPrefix.md b/src/Peering/examples/Get-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..71206ce88957 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringRegisteredPrefix.md @@ -0,0 +1,30 @@ +### Example 1: List all registered prefixes for a peering +```powershell +Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting1 240.0.0.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Failed Succeeded +accessibilityTesting2 240.0.1.0/24 249aa0dd-6177-4105-94fe-dfefcbf5ab48 Failed Succeeded +accessibilityTesting3 240.0.2.0/24 4fb59e9e-d4eb-4847-b2ad-9939edda750b Failed Succeeded +accessibilityTesting4 240.0.4.0/24 b725f16c-759b-4144-93ed-ed4eb89cb8f7 Failed Succeeded +accessibilityTesting5 240.0.3.0/24 bb1262ca-0b31-45f3-a301-105b0615b21c Failed Succeeded +``` + +List all registered prefixes + +### Example 2: Get specific registered prefix for a peering +```powershell +Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG -Name accessibilityTesting1 +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting1 240.0.0.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Failed Succeeded +``` + +Get a specific registered prefix by name + diff --git a/src/Peering/examples/Get-AzPeeringRpUnbilledPrefix.md b/src/Peering/examples/Get-AzPeeringRpUnbilledPrefix.md new file mode 100644 index 000000000000..25a882591ae6 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringRpUnbilledPrefix.md @@ -0,0 +1,15 @@ +### Example 1: List all unbilled prefixes for a peering +```powershell +Get-AzPeeringRpUnbilledPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Prefix AzureRegion PeerASN +------ ----------- ------- +2.16.0.0/13 West US 2 65010 +23.0.0.0/12 West US 2 65010 +... +``` + +Lists all the unbilled prefixes for a peering + diff --git a/src/Peering/examples/Get-AzPeeringService.md b/src/Peering/examples/Get-AzPeeringService.md new file mode 100644 index 000000000000..76231167217b --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringService.md @@ -0,0 +1,53 @@ +### Example 1: List all peering services under subscription +```powershell +Get-AzPeeringService +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPrefixForAtlanta DemoRG Georgia MicrosoftEdge Succeeded East US 2 +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +TestExtension2 DemoRG Virginia MicrosoftEdge Succeeded East US +DemoPeeringServiceInterCloudLondon DemoRG London InterCloud Succeeded UK South +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +Gaurav Thareja DemoRG Ile-de-France InterCloud Succeeded UK South +TestDRInterCloudZurich DemoRG Zurich InterCloud Succeeded France Central +DRTest DemoRG Ile-de-France InterCloud Succeeded France Central +``` + +Lists all peering services under default subscription + +### Example 2: List all peering services under a specific resource group +```powershell +Get-AzPeeringService -ResourceGroupName DemoRG +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPrefixForAtlanta DemoRG Georgia MicrosoftEdge Succeeded East US 2 +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +TestExtension2 DemoRG Virginia MicrosoftEdge Succeeded East US +DemoPeeringServiceInterCloudLondon DemoRG London InterCloud Succeeded UK South +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +Gaurav Thareja DemoRG Ile-de-France InterCloud Succeeded UK South +TestDRInterCloudZurich DemoRG Zurich InterCloud Succeeded France Central +DRTest DemoRG Ile-de-France InterCloud Succeeded France Central +``` + +Lists all the peering services under a resource group + + +### Example 3: List all peering services under a specific resource group +```powershell +Get-AzPeeringService -ResourceGroupName DemoRG -Name TestExtension +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestExtension DemoRG Virginia MicrosoftEdge Succeeded East US +``` + +Gets a peering service with matching name and resource group \ No newline at end of file diff --git a/src/Peering/examples/Get-AzPeeringServiceCountry.md b/src/Peering/examples/Get-AzPeeringServiceCountry.md new file mode 100644 index 000000000000..68a570159682 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringServiceCountry.md @@ -0,0 +1,27 @@ +### Example 1: Lists all the peering service countries +```powershell +Get-AzPeeringServiceCountry +``` + +```output +Name +---- +Australia +Belgium +Brazil +Canada +Denmark +Finland +France +Germany +Hong Kong +Japan +Kenya +Korea, South +Malaysia +Netherlands +New Zealand +... +``` + +Lists the countries available for peering service. diff --git a/src/Peering/examples/Get-AzPeeringServiceLocation.md b/src/Peering/examples/Get-AzPeeringServiceLocation.md new file mode 100644 index 000000000000..b20d9f58120b --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringServiceLocation.md @@ -0,0 +1,59 @@ +### Example 1: List all peering service locations +```powershell +Get-AzPeeringServiceLocation +``` + +```output +Name State Country AzureRegion +---- ----- ------- ----------- +Obwalden Obwalden Switzerland France Central +Sankt Gallen Sankt Gallen Switzerland France Central +Schaffhausen Schaffhausen Switzerland France Central +Schwyz Schwyz Switzerland France Central +Solothurn Solothurn Switzerland France Central +Thurgau Thurgau Switzerland France Central +Ticino Ticino Switzerland France Central +Uri Uri Switzerland France Central +Valais Valais Switzerland France Central +Vaud Vaud Switzerland France Central +Zug Zug Switzerland France Central +Zurich Zurich Switzerland France Central +Aberdeen City Aberdeen City United Kingdom UK West +Angus Angus United Kingdom UK West +Antrim and Newtownabbey Antrim and Newtownabbey United Kingdom North Europe +Ards and North Down Ards and North Down United Kingdom North Europe +Argyll and Bute Argyll and Bute United Kingdom North Europe +Armagh, Banbridge and Craigavon Armagh, Banbridge and Craigavon United Kingdom North Europe +Barking and Dagenham Barking and Dagenham United Kingdom UK South +... +``` + +Retrieves all peering service locations + +### Example 2: List all peering service +```powershell +Get-AzPeeringServiceLocation -Country Japan +``` + +```output +Name State Country AzureRegion +---- ----- ------- ----------- +Aichi Aichi Japan Japan West +Akita Akita Japan Japan East +Aomori Aomori Japan Japan East +Chiba Chiba Japan Japan East +Ehime Ehime Japan Japan West +Fukui Fukui Japan Japan West +Fukuoka Fukuoka Japan Japan West +Fukushima Fukushima Japan Japan East +Gifu Gifu Japan Japan West +Gunma Gunma Japan Japan East +Hiroshima Hiroshima Japan Japan West +Hyogo Hyogo Japan Japan West +Ibaraki Ibaraki Japan Japan East +Ishikawa Ishikawa Japan Japan West +... +``` + +Retrieves all peering service locations for a specific country + diff --git a/src/Peering/examples/Get-AzPeeringServicePrefix.md b/src/Peering/examples/Get-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..fb1839f724ff --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringServicePrefix.md @@ -0,0 +1,27 @@ +### Example 1: List all peering service prefixes +```powershell +Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +TestPrefix2 240.0.0.0/24 Failed None Succeeded +``` + +Lists all peering service prefixes for the peering service + +### Example 2: Get specific peering service prefix +```powershell +Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG -Name TestPrefix +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +``` + +Gets a specific peering service prefix + diff --git a/src/Peering/examples/Get-AzPeeringServiceProvider.md b/src/Peering/examples/Get-AzPeeringServiceProvider.md new file mode 100644 index 000000000000..c538bad79634 --- /dev/null +++ b/src/Peering/examples/Get-AzPeeringServiceProvider.md @@ -0,0 +1,27 @@ +### Example 1: List all peering service providers +```powershell +Get-AzPeeringServiceProvider +``` + +```output +Name PeeringLocation ServiceProviderName +---- --------------- ------------------- +IIJ {Osaka, Tokyo} IIJ +NTTCom {Osaka, Tokyo} NTTCom +Kordia Limited {Auckland, Sydney} Kordia Limited +Liquid Telecommunications Ltd {Cape Town, Johannesburg, Nairobi} Liquid Telecommunications Ltd +InterCloud {london, Paris, Zurich, Geneva} InterCloud +Computer Concepts Limited {Auckland} Computer Concepts Limited +Singnet {singapore} Singnet +NTT Communications - Flexible InterConnect {Osaka, Tokyo} NTT Communications - Flexible InterConnect +NAPAfrica {Johannesburg, Cape Town} NAPAfrica +Vocusgroup NZ {Sydney, Auckland} Vocusgroup NZ +CMC NETWORKS {Johannesburg, Nairobi, cape Town} CMC NETWORKS +MainOne {Lisbon, Lagos} MainOne +Swisscom Switzerland Ltd {Geneva, Zurich} Swisscom Switzerland Ltd +DE-CIX {Frankfurt, Marseille, Newark, Madrid…} DE-CIX +Lumen Technologies {denver, los Angeles} Lumen Technologies +Colt Technology Services {Amsterdam, Barcelona, Berlin, Frankfurt…} Colt Technology Services +``` + +Lists all peering service providers diff --git a/src/Peering/examples/Initialize-AzPeeringServiceConnectionMonitor.md b/src/Peering/examples/Initialize-AzPeeringServiceConnectionMonitor.md new file mode 100644 index 000000000000..83cffda30bfb --- /dev/null +++ b/src/Peering/examples/Initialize-AzPeeringServiceConnectionMonitor.md @@ -0,0 +1,7 @@ +### Example 1: Initialize connection monitor functionality +```powershell +Initialize-AzPeeringServiceConnectionMonitor +``` + +Initialize connection monitor functionality + diff --git a/src/Peering/examples/New-AzPeering.md b/src/Peering/examples/New-AzPeering.md new file mode 100644 index 000000000000..9e93f5a6bbd6 --- /dev/null +++ b/src/Peering/examples/New-AzPeering.md @@ -0,0 +1,16 @@ +### Example 1: Create a new direct peering object +```powershell +$peerAsnId = "/subscriptions/{subId}/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest" +$directConnections = New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 + +New-AzPeering -Name TestPeeringPs -ResourceGroupName DemoRG -Kind Direct -Location "South Central US" -DirectConnection $directConnections -DirectPeeringType Cdn -DirectPeerAsnId $peerAsnId -PeeringLocation Dallas -Sku Premium_Direct_Unlimited +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +TestPeering Premium_Direct_Unlimited Direct Dallas Succeeded South Central US +``` + +Create a new direct peering object + diff --git a/src/Peering/examples/New-AzPeeringAsn.md b/src/Peering/examples/New-AzPeeringAsn.md new file mode 100644 index 000000000000..ed0fc5314bf7 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringAsn.md @@ -0,0 +1,15 @@ +### Example 1: Create a new peering asn +```powershell +$contactDetail = New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" +$PeerContactList = ,$contactDetail +New-AzPeeringAsn -Name PsTestAsn -PeerAsn 65001 -PeerContactDetail $PeerContactList -PeerName DemoPeering +``` + +```output +Name PeerName PropertiesPeerAsn ValidationState PeerContactDetail +---- -------- ----------------- --------------- ----------------- +PsTestAsn DemoPeering 65001 Pending {{… +``` + +Create a new peering asn with the specified properties + diff --git a/src/Peering/examples/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md b/src/Peering/examples/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md new file mode 100644 index 000000000000..052651e8ff92 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringCheckServiceProviderAvailabilityInputObject.md @@ -0,0 +1,12 @@ +### Example 1: Create a check service provider availability object +```powershell +New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ +``` + +```output +PeeringServiceLocation PeeringServiceProvider +---------------------- ---------------------- +Osaka IIJ +``` + +Creates a CheckServiceProviderAvailabilityInputObject with the specified location and provider and stores it in memory diff --git a/src/Peering/examples/New-AzPeeringConnectionMonitorTest.md b/src/Peering/examples/New-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..1a5345898975 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,13 @@ +### Example 1: Create a new connection monitor test +```powershell +New-AzPeeringConnectionMonitorTest -Name TestName -PeeringServiceName DRTest -ResourceGroupName DemoRG +``` + +```output +SourceAgent Destination DestinationPort TestFrequency Sucessful ProvisioningState +----------- ----------- --------------- ------------- --------- ----------------- +Agent 1 1.1.1.1 80 30 True Succeeded +``` + +Creates a connection monitor test for the peering service + diff --git a/src/Peering/examples/New-AzPeeringContactDetailObject.md b/src/Peering/examples/New-AzPeeringContactDetailObject.md new file mode 100644 index 000000000000..f7de3ccfb7ce --- /dev/null +++ b/src/Peering/examples/New-AzPeeringContactDetailObject.md @@ -0,0 +1,13 @@ +### Example 1: Create a Contact Detail object +```powershell +New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" +``` + +```output +Email Phone Role +----- ----- ---- +abc@xyz.com 1234567890 Noc +``` + +Creates a ContactDetail object with the specified email phone and role stores it in memory + diff --git a/src/Peering/examples/New-AzPeeringDirectConnectionObject.md b/src/Peering/examples/New-AzPeeringDirectConnectionObject.md new file mode 100644 index 000000000000..9ebfbc511bb2 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringDirectConnectionObject.md @@ -0,0 +1,16 @@ +### Example 1: Create a direct connection object +```powershell +$md5Key = "******" + +New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 1.1.1.1 -BgpSessionPeerSessionIPv4Address 1.1.1.0 -BgpSessionPrefixV4 1.1.1.1/31 -PeeringDbFacilityId 82 -SessionAddressProvider Peer -ConnectionIdentifier c111111111111 +``` + +```output +BandwidthInMbps ConnectionIdentifier ConnectionState ErrorMessage MicrosoftTrackingId PeeringDbFacilityId ProvisionedBandwidthInMbps +--------------- -------------------- --------------- ------------ ------------------- ------------------- -------------------------- +10000 c111111111111 PendingApproval 82 + +``` + +Creates an in-memory direct connection object + diff --git a/src/Peering/examples/New-AzPeeringExchangeConnectionObject.md b/src/Peering/examples/New-AzPeeringExchangeConnectionObject.md new file mode 100644 index 000000000000..e1e540a3cd64 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringExchangeConnectionObject.md @@ -0,0 +1,15 @@ +### Example 1: Create an exchange connection object +```powershell +$md5Key = "******" + +New-AzPeeringExchangeConnectionObject -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 1.1.1.1 -BgpSessionPeerSessionIPv4Address 1.1.1.0 -BgpSessionPrefixV4 1.1.1.1/31 -PeeringDbFacilityId 82 -ConnectionIdentifier c111111111111 +``` + +```output +ConnectionIdentifier ConnectionState ErrorMessage PeeringDbFacilityId +-------------------- --------------- ------------ ------------------- +c111111111111 82 +``` + +Create a exchange connection object in memory + diff --git a/src/Peering/examples/New-AzPeeringRegisteredAsn.md b/src/Peering/examples/New-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..3423d0379082 --- /dev/null +++ b/src/Peering/examples/New-AzPeeringRegisteredAsn.md @@ -0,0 +1,12 @@ +### Example 1: Create registered asn +```powershell +New-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Asn 65001 +``` + +```output +Name Asn PeeringServicePrefixKey ProvisioningState +---- --- ----------------------- ----------------- +TestAsn 65001 45a8db73-4b7c-4800-bb0f-d304a747d6f1 Succeeded +``` + +Create a new registered asn for a peering diff --git a/src/Peering/examples/New-AzPeeringRegisteredPrefix.md b/src/Peering/examples/New-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..579a746d213c --- /dev/null +++ b/src/Peering/examples/New-AzPeeringRegisteredPrefix.md @@ -0,0 +1,13 @@ +### Example 1: Create a new registered prefix +```powershell +New-AzPeeringRegisteredPrefix -Name accessibilityTesting6 -PeeringName DemoPeering -ResourceGroupName DemoRG -Prefix 240.0.5.0/24 +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting6 240.0.5.0/24 f5947454-80e3-4ce5-bcb3-2501537b6952 Pending Updating +``` + +Create a new registered prefix object + diff --git a/src/Peering/examples/New-AzPeeringService.md b/src/Peering/examples/New-AzPeeringService.md new file mode 100644 index 000000000000..7271f100212a --- /dev/null +++ b/src/Peering/examples/New-AzPeeringService.md @@ -0,0 +1,12 @@ +### Example 1: Create a new peering service +```powershell +New-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG -Location "East US 2" -PeeringServiceLocation Georgia -PeeringServiceProvider MicrosoftEdge -ProviderPrimaryPeeringLocation Atlanta +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +TestPeeringService DemoRG Georgia MicrosoftEdge ProvisioningStarted East US 2 +``` + +Create a new peering service in the resource group \ No newline at end of file diff --git a/src/Peering/examples/New-AzPeeringServicePrefix.md b/src/Peering/examples/New-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..705666ec214f --- /dev/null +++ b/src/Peering/examples/New-AzPeeringServicePrefix.md @@ -0,0 +1,13 @@ +### Example 1: Create Peering service prefix +```powershell +New-AzPeeringServicePrefix -Name TestPrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG -PeeringServicePrefixKey 6a7f0d42-e49c-4eea-a930-280610671c3f -Prefix 91.194.255.0/24 +``` + +```output +Name Prefix Key PrefixValidationState LearnedType ProvisioningState +---- ------ --- --------------------- ----------- ----------------- +TestPrefix 91.194.255.0/24 6a7f0d42-e49c-4eea-a930-280610671c3f Failed None Succeeded +``` + +Create a peering service prefix + diff --git a/src/Peering/examples/Remove-AzPeering.md b/src/Peering/examples/Remove-AzPeering.md new file mode 100644 index 000000000000..69b391d69500 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeering.md @@ -0,0 +1,7 @@ +### Example 1: Remove peering +```powershell +Remove-AzPeering -Name TestPeering -ResourceGroupName DemoRG +``` + +Remove a peering from the given resource group + diff --git a/src/Peering/examples/Remove-AzPeeringAsn.md b/src/Peering/examples/Remove-AzPeeringAsn.md new file mode 100644 index 000000000000..a4bbb4752c51 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringAsn.md @@ -0,0 +1,7 @@ +### Example 1: Remove peer asn +```powershell +Remove-AzPeeringAsn -Name PsTestAsn +``` + +Removes peer asn with the name specified + diff --git a/src/Peering/examples/Remove-AzPeeringConnectionMonitorTest.md b/src/Peering/examples/Remove-AzPeeringConnectionMonitorTest.md new file mode 100644 index 000000000000..68da517e77c5 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringConnectionMonitorTest.md @@ -0,0 +1,7 @@ +### Example 1: Remove connection monitor test +```powershell +Remove-AzPeeringConnectionMonitorTest -Name TestName -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +Removes the given connection monitor test from the peering service + diff --git a/src/Peering/examples/Remove-AzPeeringRegisteredAsn.md b/src/Peering/examples/Remove-AzPeeringRegisteredAsn.md new file mode 100644 index 000000000000..7ade89312b31 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringRegisteredAsn.md @@ -0,0 +1,6 @@ +### Example 1: Remove a registered asn from the peering +```powershell +Remove-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo +``` + +Remove a registered asn from the peering object diff --git a/src/Peering/examples/Remove-AzPeeringRegisteredPrefix.md b/src/Peering/examples/Remove-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..1bab58bdb993 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringRegisteredPrefix.md @@ -0,0 +1,6 @@ +### Example 1: Remove registered prefix +```powershell +Remove-AzPeeringRegisteredPrefix -Name accessibilityTesting6 -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +Removes the specified registered prefix from peering diff --git a/src/Peering/examples/Remove-AzPeeringService.md b/src/Peering/examples/Remove-AzPeeringService.md new file mode 100644 index 000000000000..a252469c7ba5 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringService.md @@ -0,0 +1,7 @@ +### Example 1: Remove peering service +```powershell +Remove-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG +``` + +Removes a peering service from the given resource group + diff --git a/src/Peering/examples/Remove-AzPeeringServicePrefix.md b/src/Peering/examples/Remove-AzPeeringServicePrefix.md new file mode 100644 index 000000000000..20648b9d4a65 --- /dev/null +++ b/src/Peering/examples/Remove-AzPeeringServicePrefix.md @@ -0,0 +1,7 @@ +### Example 1: Remove peering service prefix +```powershell +Remove-AzPeeringServicePrefix -Name TestPrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG +``` + +Removes peering service prefix from peering + diff --git a/src/Peering/examples/Start-AzPeeringInvokeLookingGlass.md b/src/Peering/examples/Start-AzPeeringInvokeLookingGlass.md new file mode 100644 index 000000000000..99c6f8129959 --- /dev/null +++ b/src/Peering/examples/Start-AzPeeringInvokeLookingGlass.md @@ -0,0 +1,13 @@ +### Example 1: Invoke looking glass command +```powershell +Start-AzPeeringInvokeLookingGlass -Command Ping -DestinationIp 1.1.1.1 -SourceLocation Seattle -SourceType EdgeSite +``` + +```output +Command Output +------- ------ +Ping PING 1.1.1.1 (1.1.1.1): 56 data bytes… +``` + +Invoke the given looking glass command + diff --git a/src/Peering/examples/Test-AzPeeringRegisteredPrefix.md b/src/Peering/examples/Test-AzPeeringRegisteredPrefix.md new file mode 100644 index 000000000000..989796889dbd --- /dev/null +++ b/src/Peering/examples/Test-AzPeeringRegisteredPrefix.md @@ -0,0 +1,13 @@ +### Example 1: Test registered prefix +```powershell +Test-AzPeeringRegisteredPrefix -Name accessibilityTesting2 -PeeringName DemoPeering -ResourceGroupName DemoRG +``` + +```output +Name Prefix PeeringServicePrefixKey PrefixValidationState ProvisioningState +---- ------ ----------------------- --------------------- ----------------- +accessibilityTesting2 240.0.1.0/24 249aa0dd-6177-4105-94fe-dfefcbf5ab48 Pending Succeeded +``` + +Tests the validity of the given registered prefix (shown in prefix validation state) + diff --git a/src/Peering/examples/Test-AzPeeringServiceProviderAvailability.md b/src/Peering/examples/Test-AzPeeringServiceProviderAvailability.md new file mode 100644 index 000000000000..6048b2f5140e --- /dev/null +++ b/src/Peering/examples/Test-AzPeeringServiceProviderAvailability.md @@ -0,0 +1,11 @@ +### Example 1: Check if provider is available at a location +```powershell +$providerAvailability = New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ +Test-AzPeeringServiceProviderAvailability -CheckServiceProviderAvailabilityInput $providerAvailability +``` + +```output +"Available" +``` + +Check whether the given provider is available at the given location diff --git a/src/Peering/examples/Update-AzPeering.md b/src/Peering/examples/Update-AzPeering.md new file mode 100644 index 000000000000..3b6e429a0cf8 --- /dev/null +++ b/src/Peering/examples/Update-AzPeering.md @@ -0,0 +1,14 @@ +### Example 1: Update peering tags +```powershell +$tags=@{hello='world'} +Update-AzPeering -Name DemoPeering -ResourceGroupName DemoRG -Tag $tags +``` + +```output +Name SkuName Kind PeeringLocation ProvisioningState Location +---- ------- ---- --------------- ----------------- -------- +DemoPeering Premium_Direct_Free Direct Dallas Succeeded South Central US +``` + +Updates the specified peering's tags + diff --git a/src/Peering/examples/Update-AzPeeringService.md b/src/Peering/examples/Update-AzPeeringService.md new file mode 100644 index 000000000000..5ca9ffb8e113 --- /dev/null +++ b/src/Peering/examples/Update-AzPeeringService.md @@ -0,0 +1,13 @@ +### Example 1: Update peering service tags +```powershell +$tags=@{hello='world'} +Update-AzPeeringService -Name DRTestInterCloud -ResourceGroupName DemoRG -Tag $tags +``` + +```output +Name ResourceGroupName PeeringServiceLocation Provider ProvisioningState Location +---- ----------------- ---------------------- -------- ----------------- -------- +DRTestInterCloud DemoRG Ile-de-France InterCloud Succeeded UK South +``` + +Updates the peering service tags \ No newline at end of file diff --git a/src/Peering/how-to.md b/src/Peering/how-to.md new file mode 100644 index 000000000000..deb294266da8 --- /dev/null +++ b/src/Peering/how-to.md @@ -0,0 +1,58 @@ +# How-To +This document describes how to develop for `Az.Peering`. + +## Building `Az.Peering` +To build, run the `build-module.ps1` at the root of the module directory. This will generate the proxy script cmdlets that are the cmdlets being exported by this module. After the build completes, the proxy script cmdlets will be output to the `exports` folder. To read more about the proxy script cmdlets, look at the [README.md](exports/README.md) in the `exports` folder. + +## Creating custom cmdlets +To add cmdlets that were not generated by the REST specification, use the `custom` folder. This folder allows you to add handwritten `.ps1` and `.cs` files. Currently, we support using `.ps1` scripts as new cmdlets or as additional low-level variants (via `ParameterSet`), and `.cs` files as low-level (variants) cmdlets that the exported script cmdlets call. We do not support exporting any `.cs` (dll) cmdlets directly. To read more about custom cmdlets, look at the [README.md](custom/README.md) in the `custom` folder. + +## Generating documentation +To generate documentation, the process is now integrated into the `build-module.ps1` script. If you don't want to run this process as part of `build-module.ps1`, you can provide the `-NoDocs` switch. If you want to run documentation generation after the build process, you may still run the `generate-help.ps1` script. Overall, the process will look at the documentation comments in the generated and custom cmdlets and types, and create `.md` files into the `docs` folder. Additionally, this pulls in any examples from the `examples` folder and adds them to the generated help markdown documents. To read more about examples, look at the [README.md](examples/README.md) in the `examples` folder. To read more about documentation, look at the [README.md](docs/README.md) in the `docs` folder. + +## Testing `Az.Peering` +To test the cmdlets, we use [Pester](https://github.com/pester/Pester). Tests scripts (`.ps1`) should be added to the `test` folder. To execute the Pester tests, run the `test-module.ps1` script. This will run all tests in `playback` mode within the `test` folder. To read more about testing cmdlets, look at the [README.md](examples/README.md) in the `examples` folder. + +## Packing `Az.Peering` +To pack `Az.Peering` for distribution, run the `pack-module.ps1` script. This will take the contents of multiple directories and certain root-folder files to create a `.nupkg`. The structure of the `.nupkg` is created so it can be loaded part of a [PSRepository](https://docs.microsoft.com/powershell/module/powershellget/register-psrepository). Additionally, this package is in a format for distribution to the [PSGallery](https://www.powershellgallery.com/). For signing an Azure module, please contact the [Azure PowerShell](https://github.com/Azure/azure-powershell) team. + +## Module Script Details +There are multiple scripts created for performing different actions for developing `Az.Peering`. +- `build-module.ps1` + - Builds the module DLL (`./bin/Az.Peering.private.dll`), creates the exported cmdlets and documentation, generates custom cmdlet test stubs and exported cmdlet example stubs, and updates `./Az.Peering.psd1` with Azure profile information. + - **Parameters**: [`Switch` parameters] + - `-Run`: After building, creates an isolated PowerShell session and loads `Az.Peering`. + - `-Test`: After building, runs the `Pester` tests defined in the `test` folder. + - `-Docs`: After building, generates the Markdown documents for the modules into the `docs` folder. + - `-Pack`: After building, packages the module into a `.nupkg`. + - `-Code`: After building, opens a VSCode window with the module's directory and runs (see `-Run`) the module. + - `-Release`: Builds the module in `Release` configuration (as opposed to `Debug` configuration). + - `-NoDocs`: Supresses writing the documentation markdown files as part of the cmdlet exporting process. + - `-Debugger`: Used when attaching the debugger in Visual Studio to the PowerShell session, and running the build process without recompiling the DLL. This suppresses running the script as an isolated process. +- `run-module.ps1` + - Creates an isolated PowerShell session and loads `Az.Peering` into the session. + - Same as `-Run` in `build-module.ps1`. + - **Parameters**: [`Switch` parameters] + - `-Code`: Opens a VSCode window with the module's directory. + - Same as `-Code` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. +- `test-module.ps1` + - Runs the `Pester` tests defined in the `test` folder. + - Same as `-Test` in `build-module.ps1`. +- `pack-module.ps1` + - Packages the module into a `.nupkg` for distribution. + - Same as `-Pack` in `build-module.ps1`. +- `generate-help.ps1` + - Generates the Markdown documents for the modules into the `docs` folder. + - Same as `-Docs` in `build-module.ps1`. + - This process is now integrated into `build-module.ps1` automatically. To disable, use `-NoDocs` when running `build-module.ps1`. +- `export-surface.ps1` + - Generates Markdown documents for both the cmdlet surface and the model (class) surface of the module. + - These files are placed into the `resources` folder. + - Used for investigating the surface of your module. These are *not* documentation for distribution. +- `check-dependencies.ps1` + - Used in `run-module.ps1` and `test-module.ps1` to verify dependent modules are available to run those tasks. + - It will download local (within the module's directory structure) versions of those modules as needed. + - This script *does not* need to be ran by-hand. \ No newline at end of file diff --git a/src/Peering/license.txt b/src/Peering/license.txt new file mode 100644 index 000000000000..b9f3180fb9af --- /dev/null +++ b/src/Peering/license.txt @@ -0,0 +1,227 @@ +MICROSOFT SOFTWARE LICENSE TERMS + +MICROSOFT AZURE POWERSHELL + +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. + +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. + + +-----------------START OF LICENSE-------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +-------------------END OF LICENSE------------------------------------------ + + +----------------START OF THIRD PARTY NOTICE-------------------------------- + + +The software includes the AutoMapper library ("AutoMapper"). The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Provided for Informational Purposes Only + +AutoMapper + +The MIT License (MIT) +Copyright (c) 2010 Jimmy Bogard + + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + + + + +*************** + +The software includes Newtonsoft.Json. The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software. + +Newtonsoft.Json + +The MIT License (MIT) +Copyright (c) 2007 James Newton-King +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------END OF THIRD PARTY NOTICE---------------------------------------- + diff --git a/src/Peering/resources/README.md b/src/Peering/resources/README.md new file mode 100644 index 000000000000..937f07f8fec2 --- /dev/null +++ b/src/Peering/resources/README.md @@ -0,0 +1,11 @@ +# Resources +This directory can contain any additional resources for module that are not required at runtime. This directory **does not** get packaged with the module. If you have assets for custom implementation, place them into the `..\custom` folder. + +## Info +- Modifiable: yes +- Generated: no +- Committed: yes +- Packaged: no + +## Purpose +Use this folder to put anything you want to keep around as part of the repository for the module, but is not something that is required for the module. For example, development files, packaged builds, or additional information. This is only intended to be used in repositories where the module's output directory is cleaned, but tangential resources for the module want to remain intact. \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeering.Recording.json b/src/Peering/test/Get-AzPeering.Recording.json new file mode 100644 index 000000000000..eed183527125 --- /dev/null +++ b/src/Peering/test/Get-AzPeering.Recording.json @@ -0,0 +1,124 @@ +{ + "Get-AzPeering+[NoContext]+List1+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerings?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerings?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "0bcfff77-6b6b-4e51-b939-ab76aec1416a" ], + "CommandName": [ "Get-AzPeering" ], + "FullCommandName": [ "Get-AzPeering_List1" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-original-request-ids": [ "93ba0a69-df5a-4f5c-812e-5d19ddca47a7", "23bda89c-c67d-4289-998a-dbd860746e1c", "9e743b87-e4e8-4d66-9818-2aa874f85468", "7920d641-c223-44fa-a070-90d75db48bd5" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-request-id": [ "af958be4-78a1-41b8-91c9-92b58d667f81" ], + "x-ms-correlation-request-id": [ "af958be4-78a1-41b8-91c9-92b58d667f81" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012513Z:af958be4-78a1-41b8-91c9-92b58d667f81" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:12 GMT" ] + }, + "ContentHeaders": { + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ], + "Content-Length": [ "8059" ] + }, + "Content": "{\"value\":[{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":10000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"362f1f7a-ff7a-4dc3-84da-0e20846e5f99\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Dallas\",\"provisioningState\":\"Succeeded\"},\"location\":\"South Central US\",\"tags\":{},\"name\":\"DemoComp1\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoComp1\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":200000,\"provisionedBandwidthInMbps\":200000,\"sessionAddressProvider\":\"Peer\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"Active\",\"bgpSession\":{\"sessionPrefixV4\":\"12.90.152.68/30\",\"sessionPrefixV6\":\"\",\"microsoftSessionIPv4Address\":\"12.90.152.70\",\"peerSessionIPv4Address\":\"12.90.152.69\",\"sessionStateV4\":\"Established\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":200000,\"maxPrefixesAdvertisedV6\":0},\"connectionIdentifier\":\"815870d0-938d-4355-b6b9-dd007999b8f5\"},{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":200000,\"provisionedBandwidthInMbps\":200000,\"sessionAddressProvider\":\"Peer\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"Active\",\"bgpSession\":{\"sessionPrefixV4\":\"12.125.145.32/30\",\"sessionPrefixV6\":\"\",\"microsoftSessionIPv4Address\":\"12.125.145.34\",\"peerSessionIPv4Address\":\"12.125.145.33\",\"sessionStateV4\":\"Established\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":200000,\"maxPrefixesAdvertisedV6\":0},\"connectionIdentifier\":\"0720b596-dca1-4d58-8628-58191be00cc3\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/AS7018\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Dallas\",\"provisioningState\":\"Succeeded\"},\"location\":\"South Central US\",\"tags\":{\"hello\":\"world\"},\"name\":\"DemoPeering\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":100000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":11,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"1b14538c-04ea-4cee-a094-54823e556806\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"EdgeZoneForOperators\"},\"peeringLocation\":\"Atlanta\",\"provisioningState\":\"Succeeded\"},\"location\":\"East US 2\",\"tags\":{},\"name\":\"TestEdgeZone\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestEdgeZone\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":100000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Peer\",\"useForPeeringService\":true,\"peeringDBFacilityId\":1,\"connectionState\":\"PendingApproval\",\"bgpSession\":{\"sessionPrefixV4\":\"43.243.21.20/30\",\"sessionPrefixV6\":\"\",\"microsoftSessionIPv4Address\":\"43.243.21.22\",\"microsoftSessionIPv6Address\":\"\",\"peerSessionIPv4Address\":\"43.243.21.21\",\"peerSessionIPv6Address\":\"\",\"sessionStateV4\":\"None\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":20000,\"maxPrefixesAdvertisedV6\":0,\"md5AuthenticationKey\":\"\"},\"connectionIdentifier\":\"2ce397a2-4888-4a89-aa68-34810d8a1919\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"IxRs\"},\"peeringLocation\":\"Ashburn\",\"provisioningState\":\"Succeeded\"},\"location\":\"East US\",\"tags\":{},\"name\":\"MapsIxRs\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":10000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":71,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"a4d998de-7fff-4ee7-be72-13e8004f2d4f\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Seattle\",\"provisioningState\":\"Succeeded\"},\"location\":\"West US 2\",\"tags\":{},\"name\":\"DemoMapsConfig\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoMapsConfig\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Basic_Exchange_Free\",\"tier\":\"Basic\",\"family\":\"Exchange\",\"size\":\"Free\"},\"kind\":\"Exchange\",\"properties\":{\"exchange\":{\"connections\":[{\"peeringDBFacilityId\":64,\"connectionState\":\"ProvisioningFailed\",\"bgpSession\":{\"sessionPrefixV4\":\"193.239.116.0/22\",\"microsoftSessionIPv4Address\":\"193.239.118.173\",\"peerSessionIPv4Address\":\"193.239.116.1\",\"peerSessionIPv6Address\":\"\",\"sessionStateV4\":\"None\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":20000,\"maxPrefixesAdvertisedV6\":0,\"md5AuthenticationKey\":\"\"},\"connectionIdentifier\":\"9e5e4dc9-979a-45ce-b251-f7ef7fd64caf\",\"errorMessage\":\"This request was not approved by the Microsoft\u0027s peering team.\"},{\"peeringDBFacilityId\":64,\"connectionState\":\"ProvisioningFailed\",\"bgpSession\":{\"sessionPrefixV6\":\"2001:7f8:13::/64\",\"microsoftSessionIPv6Address\":\"2001:7f8:13::a500:8075:5\",\"peerSessionIPv4Address\":\"\",\"peerSessionIPv6Address\":\"2001:7f8:13::a504:1480:1\",\"sessionStateV4\":\"None\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":0,\"maxPrefixesAdvertisedV6\":2000,\"md5AuthenticationKey\":\"\"},\"connectionIdentifier\":\"1a782c34-dc52-4f7d-97cd-a7ea7e3f87c1\",\"errorMessage\":\"This request was not approved by the Microsoft\u0027s peering team.\"}],\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"}},\"peeringLocation\":\"Amsterdam\",\"provisioningState\":\"Succeeded\"},\"location\":\"West Europe\",\"tags\":{},\"name\":\"testexchange\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/testexchange\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Basic_Direct_Free\",\"tier\":\"Basic\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":10000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":false,\"peeringDBFacilityId\":1949,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"3025377f-1886-4af5-88c7-4b4d74941d40\"}],\"useForPeeringService\":false,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/AS7018\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Athens\",\"provisioningState\":\"Succeeded\"},\"location\":\"France Central\",\"tags\":{},\"name\":\"test1\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/AnomalyDetection/providers/Microsoft.Peering/peerings/test1\",\"type\":\"Microsoft.Peering/peerings\"}]}", + "isContentBase64": false + } + }, + "Get-AzPeering+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "2" ], + "x-ms-client-request-id": [ "40945a58-570c-4d6f-af0c-5766fbd470b0" ], + "CommandName": [ "Get-AzPeering" ], + "FullCommandName": [ "Get-AzPeering_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "08e8a20e-6bcf-4bc7-b23f-d647e26ac1a3" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "598" ], + "x-ms-correlation-request-id": [ "f5a53061-7b3d-4e7a-b997-1454da8379e0" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012513Z:f5a53061-7b3d-4e7a-b997-1454da8379e0" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:13 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "2412" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"sku\": {\r\n \"name\": \"Premium_Direct_Free\",\r\n \"tier\": \"Premium\",\r\n \"family\": \"Direct\",\r\n \"size\": \"Free\"\r\n },\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"connections\": [\r\n {\r\n \"billableBandwidthInMbps\": 0,\r\n \"bandwidthInMbps\": 200000,\r\n \"provisionedBandwidthInMbps\": 200000,\r\n \"sessionAddressProvider\": \"Peer\",\r\n \"useForPeeringService\": true,\r\n \"peeringDBFacilityId\": 69,\r\n \"connectionState\": \"Active\",\r\n \"bgpSession\": {\r\n \"sessionPrefixV4\": \"12.90.152.68/30\",\r\n \"sessionPrefixV6\": \"\",\r\n \"microsoftSessionIPv4Address\": \"12.90.152.70\",\r\n \"peerSessionIPv4Address\": \"12.90.152.69\",\r\n \"sessionStateV4\": \"Established\",\r\n \"sessionStateV6\": \"None\",\r\n \"maxPrefixesAdvertisedV4\": 200000,\r\n \"maxPrefixesAdvertisedV6\": 0\r\n },\r\n \"connectionIdentifier\": \"815870d0-938d-4355-b6b9-dd007999b8f5\"\r\n },\r\n {\r\n \"billableBandwidthInMbps\": 0,\r\n \"bandwidthInMbps\": 200000,\r\n \"provisionedBandwidthInMbps\": 200000,\r\n \"sessionAddressProvider\": \"Peer\",\r\n \"useForPeeringService\": true,\r\n \"peeringDBFacilityId\": 69,\r\n \"connectionState\": \"Active\",\r\n \"bgpSession\": {\r\n \"sessionPrefixV4\": \"12.125.145.32/30\",\r\n \"sessionPrefixV6\": \"\",\r\n \"microsoftSessionIPv4Address\": \"12.125.145.34\",\r\n \"peerSessionIPv4Address\": \"12.125.145.33\",\r\n \"sessionStateV4\": \"Established\",\r\n \"sessionStateV6\": \"None\",\r\n \"maxPrefixesAdvertisedV4\": 200000,\r\n \"maxPrefixesAdvertisedV6\": 0\r\n },\r\n \"connectionIdentifier\": \"0720b596-dca1-4d58-8628-58191be00cc3\"\r\n }\r\n ],\r\n \"useForPeeringService\": true,\r\n \"peerAsn\": {\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/AS7018\"\r\n },\r\n \"directPeeringType\": \"Edge\"\r\n },\r\n \"peeringLocation\": \"Dallas\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"hello\": \"world\"\r\n },\r\n \"name\": \"DemoPeering\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering\",\r\n \"type\": \"Microsoft.Peering/peerings\"\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeering+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "3" ], + "x-ms-client-request-id": [ "7ae25d28-1fc0-49b6-af2f-77fbdf64a7cc" ], + "CommandName": [ "Get-AzPeering" ], + "FullCommandName": [ "Get-AzPeering_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-original-request-ids": [ "9cade4f2-8e45-48c5-a594-dfd9ecc84213", "096259cd-7650-4320-884e-39053ba8f2a5", "d1e3f9d8-4a4b-4ced-80a8-fd98cc4ffa11" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "597" ], + "x-ms-request-id": [ "e7a81052-00f7-459f-bab5-44007d4c6320" ], + "x-ms-correlation-request-id": [ "e7a81052-00f7-459f-bab5-44007d4c6320" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012514Z:e7a81052-00f7-459f-bab5-44007d4c6320" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:14 GMT" ] + }, + "ContentHeaders": { + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ], + "Content-Length": [ "5969" ] + }, + "Content": "{\"value\":[{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":10000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"362f1f7a-ff7a-4dc3-84da-0e20846e5f99\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Dallas\",\"provisioningState\":\"Succeeded\"},\"location\":\"South Central US\",\"tags\":{},\"name\":\"DemoComp1\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoComp1\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":200000,\"provisionedBandwidthInMbps\":200000,\"sessionAddressProvider\":\"Peer\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"Active\",\"bgpSession\":{\"sessionPrefixV4\":\"12.90.152.68/30\",\"sessionPrefixV6\":\"\",\"microsoftSessionIPv4Address\":\"12.90.152.70\",\"peerSessionIPv4Address\":\"12.90.152.69\",\"sessionStateV4\":\"Established\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":200000,\"maxPrefixesAdvertisedV6\":0},\"connectionIdentifier\":\"815870d0-938d-4355-b6b9-dd007999b8f5\"},{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":200000,\"provisionedBandwidthInMbps\":200000,\"sessionAddressProvider\":\"Peer\",\"useForPeeringService\":true,\"peeringDBFacilityId\":69,\"connectionState\":\"Active\",\"bgpSession\":{\"sessionPrefixV4\":\"12.125.145.32/30\",\"sessionPrefixV6\":\"\",\"microsoftSessionIPv4Address\":\"12.125.145.34\",\"peerSessionIPv4Address\":\"12.125.145.33\",\"sessionStateV4\":\"Established\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":200000,\"maxPrefixesAdvertisedV6\":0},\"connectionIdentifier\":\"0720b596-dca1-4d58-8628-58191be00cc3\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/AS7018\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Dallas\",\"provisioningState\":\"Succeeded\"},\"location\":\"South Central US\",\"tags\":{\"hello\":\"world\"},\"name\":\"DemoPeering\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":100000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":11,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"1b14538c-04ea-4cee-a094-54823e556806\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"EdgeZoneForOperators\"},\"peeringLocation\":\"Atlanta\",\"provisioningState\":\"Succeeded\"},\"location\":\"East US 2\",\"tags\":{},\"name\":\"TestEdgeZone\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestEdgeZone\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Premium_Direct_Free\",\"tier\":\"Premium\",\"family\":\"Direct\",\"size\":\"Free\"},\"kind\":\"Direct\",\"properties\":{\"direct\":{\"connections\":[{\"billableBandwidthInMbps\":0,\"bandwidthInMbps\":10000,\"provisionedBandwidthInMbps\":0,\"sessionAddressProvider\":\"Microsoft\",\"useForPeeringService\":true,\"peeringDBFacilityId\":71,\"connectionState\":\"PendingApproval\",\"connectionIdentifier\":\"a4d998de-7fff-4ee7-be72-13e8004f2d4f\"}],\"useForPeeringService\":true,\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"},\"directPeeringType\":\"Edge\"},\"peeringLocation\":\"Seattle\",\"provisioningState\":\"Succeeded\"},\"location\":\"West US 2\",\"tags\":{},\"name\":\"DemoMapsConfig\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoMapsConfig\",\"type\":\"Microsoft.Peering/peerings\"},{\"sku\":{\"name\":\"Basic_Exchange_Free\",\"tier\":\"Basic\",\"family\":\"Exchange\",\"size\":\"Free\"},\"kind\":\"Exchange\",\"properties\":{\"exchange\":{\"connections\":[{\"peeringDBFacilityId\":64,\"connectionState\":\"ProvisioningFailed\",\"bgpSession\":{\"sessionPrefixV4\":\"193.239.116.0/22\",\"microsoftSessionIPv4Address\":\"193.239.118.173\",\"peerSessionIPv4Address\":\"193.239.116.1\",\"peerSessionIPv6Address\":\"\",\"sessionStateV4\":\"None\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":20000,\"maxPrefixesAdvertisedV6\":0,\"md5AuthenticationKey\":\"\"},\"connectionIdentifier\":\"9e5e4dc9-979a-45ce-b251-f7ef7fd64caf\",\"errorMessage\":\"This request was not approved by the Microsoft\u0027s peering team.\"},{\"peeringDBFacilityId\":64,\"connectionState\":\"ProvisioningFailed\",\"bgpSession\":{\"sessionPrefixV6\":\"2001:7f8:13::/64\",\"microsoftSessionIPv6Address\":\"2001:7f8:13::a500:8075:5\",\"peerSessionIPv4Address\":\"\",\"peerSessionIPv6Address\":\"2001:7f8:13::a504:1480:1\",\"sessionStateV4\":\"None\",\"sessionStateV6\":\"None\",\"maxPrefixesAdvertisedV4\":0,\"maxPrefixesAdvertisedV6\":2000,\"md5AuthenticationKey\":\"\"},\"connectionIdentifier\":\"1a782c34-dc52-4f7d-97cd-a7ea7e3f87c1\",\"errorMessage\":\"This request was not approved by the Microsoft\u0027s peering team.\"}],\"peerAsn\":{\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"}},\"peeringLocation\":\"Amsterdam\",\"provisioningState\":\"Succeeded\"},\"location\":\"West Europe\",\"tags\":{},\"name\":\"testexchange\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/testexchange\",\"type\":\"Microsoft.Peering/peerings\"}]}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeering.Tests.ps1 b/src/Peering/test/Get-AzPeering.Tests.ps1 new file mode 100644 index 000000000000..f7f5e9ad8fe9 --- /dev/null +++ b/src/Peering/test/Get-AzPeering.Tests.ps1 @@ -0,0 +1,38 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeering')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeering.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeering' { + It 'List1' { + { + $allPeerings = Get-AzPeering + $allPeerings.Count| Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $peering = Get-AzPeering -Name DemoPeering -ResourceGroupName DemoRG + $peering.Name | Should -Be "DemoPeering" + } | Should -Not -Throw + } + + It 'List' { + { + $rgPeerings = Get-AzPeering -ResourceGroupName DemoRG + $rgPeerings.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringAsn.Recording.json b/src/Peering/test/Get-AzPeeringAsn.Recording.json new file mode 100644 index 000000000000..8513a3c5a303 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringAsn.Recording.json @@ -0,0 +1,162 @@ +{ + "Get-AzPeeringAsn+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "4" ], + "x-ms-client-request-id": [ "3f8dd36b-9a36-4475-8154-9d9fddc388b1" ], + "CommandName": [ "Get-AzPeeringAsn" ], + "FullCommandName": [ "Get-AzPeeringAsn_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "981f8bc5-3453-4076-b2c3-8985ce268cb7" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "8216bf35-5de8-490f-a4db-68eabce65ffd" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012515Z:8216bf35-5de8-490f-a4db-68eabce65ffd" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "546" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"peerAsn\": 65000,\r\n \"peerContactDetail\": [\r\n {\r\n \"role\": \"Noc\",\r\n \"email\": \"test@microsoft.com\",\r\n \"phone\": \"+12345678900\"\r\n }\r\n ],\r\n \"peerName\": \"Contoso\",\r\n \"validationState\": \"Approved\"\r\n },\r\n \"name\": \"ContosoEdgeTest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\",\r\n \"type\": \"Microsoft.Peering/peerAsns\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringAsn+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "5" ], + "x-ms-client-request-id": [ "131c133d-202f-404c-bde4-45f64e712552" ], + "CommandName": [ "Get-AzPeeringAsn" ], + "FullCommandName": [ "Get-AzPeeringAsn_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "fe128aa3-e7a4-45cb-aa8a-4cd871654942" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "598" ], + "x-ms-correlation-request-id": [ "9da12ea7-4728-4310-958d-3d71802f4d93" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012515Z:9da12ea7-4728-4310-958d-3d71802f4d93" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "453" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peerAsn\": 65000,\r\n \"peerContactDetail\": [\r\n {\r\n \"role\": \"Noc\",\r\n \"email\": \"test@microsoft.com\",\r\n \"phone\": \"+12345678900\"\r\n }\r\n ],\r\n \"peerName\": \"Contoso\",\r\n \"validationState\": \"Approved\"\r\n },\r\n \"name\": \"ContosoEdgeTest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\",\r\n \"type\": \"Microsoft.Peering/peerAsns\"\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringAsn+[NoContext]+GetViaIdentity+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "6" ], + "x-ms-client-request-id": [ "069bd14a-1bc3-4ee4-97b7-e9c60a5608f0" ], + "CommandName": [ "Get-AzPeeringAsn" ], + "FullCommandName": [ "Get-AzPeeringAsn_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "b72463c8-f5c8-4961-b222-876b2f1773d2" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "597" ], + "x-ms-correlation-request-id": [ "ed932401-8970-461b-8d27-99264ed547cf" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012515Z:ed932401-8970-461b-8d27-99264ed547cf" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "453" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peerAsn\": 65000,\r\n \"peerContactDetail\": [\r\n {\r\n \"role\": \"Noc\",\r\n \"email\": \"test@microsoft.com\",\r\n \"phone\": \"+12345678900\"\r\n }\r\n ],\r\n \"peerName\": \"Contoso\",\r\n \"validationState\": \"Approved\"\r\n },\r\n \"name\": \"ContosoEdgeTest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\",\r\n \"type\": \"Microsoft.Peering/peerAsns\"\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringAsn+[NoContext]+GetViaIdentity+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01+2": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "7" ], + "x-ms-client-request-id": [ "32f946b4-19f4-4ce0-afb2-d8b7e5a2f20c" ], + "CommandName": [ "Get-AzPeeringAsn" ], + "FullCommandName": [ "Get-AzPeeringAsn_GetViaIdentity" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "d46805bd-12ef-4089-a19c-2fd58a0aab90" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "596" ], + "x-ms-correlation-request-id": [ "a737b245-101d-4ce1-8327-5bc12c0c2d51" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012515Z:a737b245-101d-4ce1-8327-5bc12c0c2d51" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:14 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "453" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peerAsn\": 65000,\r\n \"peerContactDetail\": [\r\n {\r\n \"role\": \"Noc\",\r\n \"email\": \"test@microsoft.com\",\r\n \"phone\": \"+12345678900\"\r\n }\r\n ],\r\n \"peerName\": \"Contoso\",\r\n \"validationState\": \"Approved\"\r\n },\r\n \"name\": \"ContosoEdgeTest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\",\r\n \"type\": \"Microsoft.Peering/peerAsns\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringAsn.Tests.ps1 b/src/Peering/test/Get-AzPeeringAsn.Tests.ps1 new file mode 100644 index 000000000000..0a8f9c36c63d --- /dev/null +++ b/src/Peering/test/Get-AzPeeringAsn.Tests.ps1 @@ -0,0 +1,39 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringAsn' { + It 'List' { + { + $peeringAsns = Get-AzPeeringAsn + $peeringAsns.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $asn = Get-AzPeeringAsn -Name ContosoEdgeTest + $asn.Name | Should -Be "ContosoEdgeTest" + } | Should -Not -Throw + } + + It 'GetViaIdentity' { + { + $asn = Get-AzPeeringAsn -Name ContosoEdgeTest + $asnIdentity = Get-AzPeeringAsn -InputObject $asn + $asnIdentity.Name | Should -Be "ContosoEdgeTest" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringCdnPrefix.Recording.json b/src/Peering/test/Get-AzPeeringCdnPrefix.Recording.json new file mode 100644 index 000000000000..2e4367d160b9 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringCdnPrefix.Recording.json @@ -0,0 +1,42 @@ +{ + "Get-AzPeeringCdnPrefix+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes?peeringLocation=Seattle\u0026api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes?peeringLocation=Seattle\u0026api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "8" ], + "x-ms-client-request-id": [ "a9834d72-37c0-44b8-9e72-e9f21eb487cf" ], + "CommandName": [ "Get-AzPeeringCdnPrefix" ], + "FullCommandName": [ "Get-AzPeeringCdnPrefix_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "9662f7b8-ec2e-4761-99bb-34831bae7562" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "cd8bd89a-afce-4f31-922d-ed72dc662224" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012515Z:cd8bd89a-afce-4f31-922d-ed72dc662224" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:15 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "3807" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.110.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureCompute\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:51026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_110_0_24\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_110_0_24\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.118.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureCompute\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:51026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_118_0_24\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_118_0_24\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.125.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureCompute\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:51026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_125_0_24\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_125_0_24\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.180.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureStorage\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:52026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_180_0_24\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_180_0_24\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.25.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureCompute\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:51026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_25_0_24\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_25_0_24\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.157.50.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureStorage\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:52026\"\r\n },\r\n \"name\": \"CdnPrefix_20_157_50_0_23\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_157_50_0_23\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.47.120.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureCompute\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:51026\"\r\n },\r\n \"name\": \"CdnPrefix_20_47_120_0_23\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_47_120_0_23\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"20.47.62.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"azureService\": \"AzureStorage\",\r\n \"isPrimaryRegion\": true,\r\n \"bgpCommunity\": \"8069:52026\"\r\n },\r\n \"name\": \"CdnPrefix_20_47_62_0_23\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_20_47_62_0_23\",\r\n \"type\": \"Microsoft.Peering/cdnPeeringPrefixes\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringCdnPrefix.Tests.ps1 b/src/Peering/test/Get-AzPeeringCdnPrefix.Tests.ps1 new file mode 100644 index 000000000000..e08efb0201d3 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringCdnPrefix.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringCdnPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringCdnPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringCdnPrefix' { + It 'List' { + { + $cdnPrefixes = Get-AzPeeringCdnPrefix -PeeringLocation Seattle + $cdnPrefixes.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringConnectionMonitorTest.Tests.ps1 b/src/Peering/test/Get-AzPeeringConnectionMonitorTest.Tests.ps1 new file mode 100644 index 000000000000..58f288755e45 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringConnectionMonitorTest.Tests.ps1 @@ -0,0 +1,29 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringConnectionMonitorTest')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringConnectionMonitorTest.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringConnectionMonitorTest' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'Get' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'GetViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringLegacy.Tests.ps1 b/src/Peering/test/Get-AzPeeringLegacy.Tests.ps1 new file mode 100644 index 000000000000..15df1612ee6e --- /dev/null +++ b/src/Peering/test/Get-AzPeeringLegacy.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringLegacy')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringLegacy.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringLegacy' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringLocation.Recording.json b/src/Peering/test/Get-AzPeeringLocation.Recording.json new file mode 100644 index 000000000000..a7f035f36cb3 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringLocation.Recording.json @@ -0,0 +1,42 @@ +{ + "Get-AzPeeringLocation+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringLocations?kind=Direct\u0026api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringLocations?kind=Direct\u0026api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "9" ], + "x-ms-client-request-id": [ "82523222-8cf7-42cb-8a3c-c49c8c16010a" ], + "CommandName": [ "Get-AzPeeringLocation" ], + "FullCommandName": [ "Get-AzPeeringLocation_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "22fc2b5a-eb48-46d6-8ec0-4cd2a8e63190" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "603fb6de-089d-4658-a7ff-ef0949f5f8c1" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012516Z:603fb6de-089d-4658-a7ff-ef0949f5f8c1" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:15 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "96632" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Cessnalaan 1\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 64,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/64\"\r\n },\r\n {\r\n \"address\": \"Science Park 121\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 104,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/104\"\r\n },\r\n {\r\n \"address\": \"Schepenbergweg 42\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1236,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1236\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Amsterdam\",\r\n \"country\": \"NL\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Amsterdam\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"21715 Filigree Ct\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Ashburn\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Ashburn\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Ifestou 76\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1949,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1949\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Athens\",\r\n \"country\": \"GR\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Athens\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"56 Marietta St NW\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 11,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/11\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Atlanta\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Atlanta\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"7A Parkhead Place\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1353,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1353\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Auckland\",\r\n \"country\": \"NZ\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Auckland\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Carrer de l\u0027Acer 30-32\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 122,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/122\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Barcelona\",\r\n \"country\": \"ES\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Barcelona\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Nonnendammallee 15\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 478,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/478\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Berlin\",\r\n \"country\": \"DE\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Berlin\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Carrera 106 No. 15A-25\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1354,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1354\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Bogota\",\r\n \"country\": \"CO\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Bogota\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1 Summer Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 219,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/219\"\r\n },\r\n {\r\n \"address\": \"70 Innerbelt Rd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 584,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/584\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Boston\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Boston\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"20 Wharf Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1340,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1340\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Brisbane\",\r\n \"country\": \"AU\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Brisbane\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Wezenbeekstraat 2\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 68,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/68\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Brussels\",\r\n \"country\": \"BE\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Brussels\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"8, Dimitrie Pompeiu Blvd., 3rd fl.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 439,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/439\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Bucharest\",\r\n \"country\": \"RO\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bucharest\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Asztalos Sandor u. 13.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 301,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/301\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Budapest\",\r\n \"country\": \"HU\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Budapest\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Colectora Este 32375\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2114,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2114\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Buenos Aires\",\r\n \"country\": \"AR\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Buenos Aires\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Great Westerford Building, 240 Main Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1225,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1225\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Cape Town\",\r\n \"country\": \"ZA\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Cape Town\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"4th floor, 2nd block\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 552,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/552\"\r\n },\r\n {\r\n \"address\": \"Bharti Towers\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2006,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2006\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Chennai\",\r\n \"country\": \"IN\",\r\n \"azureRegion\": \"South India\"\r\n },\r\n \"name\": \"Chennai\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"350 E Cermak Rd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 7,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/7\"\r\n },\r\n {\r\n \"address\": \"427 S. LaSalle\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 440,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/440\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Chicago\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"North Central US\"\r\n },\r\n \"name\": \"Chicago\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Industriparken 20A\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 148,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/148\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Copenhagen\",\r\n \"country\": \"DK\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Copenhagen\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Lingkaran Teknokrat Timur\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5655,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5655\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Cyberjaya\",\r\n \"country\": \"\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Cyberjaya\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1950 N Stemmons Fwy\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 69,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/69\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Dallas\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Dallas\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"910 15th Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 389,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/389\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Denver\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"Denver\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"21005 Lahser Rd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1927,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1927\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Detroit\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Detroit\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"International Media Production Zone (IMPZ)\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1355,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1355\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Dubai\",\r\n \"country\": \"AE\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Dubai\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Unit 4027, Kingswood Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 164,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/164\"\r\n },\r\n {\r\n \"address\": \"Unit 2, North West Business Park\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1065,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1065\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Dublin\",\r\n \"country\": \"IE\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Dublin\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"In der Steele 29\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 106,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/106\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Dusseldorf\",\r\n \"country\": \"DE\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Dusseldorf\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Hanauer Landstrasse 298\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 58,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/58\"\r\n },\r\n {\r\n \"address\": \"Gutleutstrasse 310\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 74,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/74\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Frankfurt\",\r\n \"country\": \"DE\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Frankfurt\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Route du Bois-des-Fréres 46\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 826,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/826\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Geneva\",\r\n \"country\": \"CH\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Geneva\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Parrukatu 2\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1457,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1457\"\r\n },\r\n {\r\n \"address\": \"Sahamyllyntie 4\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1459,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1459\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Helsinki\",\r\n \"country\": \"FI\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Helsinki\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"H158/2A Hoang Hoa Tham\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 8755,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/8755\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Ho Chi Minh City\",\r\n \"country\": \"VN\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Ho Chi Minh City\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"17/F Global Gateway\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 170,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/170\"\r\n },\r\n {\r\n \"address\": \"399 Chai Wan Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 225,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/225\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Hong Kong\",\r\n \"country\": \"HK\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Hong Kong\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"3375 Koapaka St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2526,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2526\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Honolulu\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Honolulu\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"5150 \u0026 5170 Westway Park Blvd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1476,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1476\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Houston\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Houston\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"HUDA Techno Enclave, HITEC City\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5236,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5236\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Hyderabad\",\r\n \"country\": \"IN\",\r\n \"azureRegion\": \"South India\"\r\n },\r\n \"name\": \"Hyderabad\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Yukarı Dudullu Organize Sanayi Bölgesi\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 4148,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/4148\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Istanbul\",\r\n \"country\": \"TR\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Istanbul\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"6602 Executive Park Court N\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2076,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2076\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Jacksonville\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Jacksonville\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Cyber Building, 1st floor. Jl. Kuningan Barat no. 8\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2368,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2368\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Jakarta\",\r\n \"country\": \"ID\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Jakarta\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"5 Brewery Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 850,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/850\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Johannesburg\",\r\n \"country\": \"ZA\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Johannesburg\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Ground Floor, Menara AIMS\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 460,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/460\"\r\n },\r\n {\r\n \"address\": \"CSF Building, Computer Exchange\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1279,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1279\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Kuala Lumpur\",\r\n \"country\": \"MY\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Kuala Lumpur\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Oregun, Ikeja\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 4411,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/4411\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Lagos\",\r\n \"country\": \"NG\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Lagos\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"7135 S Decatur Boulevard\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 770,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/770\"\r\n },\r\n {\r\n \"address\": \"1541 Pama Ln\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1918,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1918\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Las Vegas\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Las Vegas\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Av. Severiano Falcao, 14\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 126,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/126\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Lisbon\",\r\n \"country\": \"PT\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Lisbon\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Sovereign House\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 40,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/40\"\r\n },\r\n {\r\n \"address\": \"8 Buckingham Avenue\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 832,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/832\"\r\n },\r\n {\r\n \"address\": \"14 Coriander Avenue\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 4360,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/4360\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"London\",\r\n \"country\": \"GB\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"London\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"600 W 7th St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 8,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/8\"\r\n },\r\n {\r\n \"address\": \"624 S. Grand Ave.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 19,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/19\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Los Angeles\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Los Angeles\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Avenida Pedro Castro Van Dúnem Loy\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1275,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1275\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Luanda\",\r\n \"country\": \"AO\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Luanda\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"C/ Albasanz 71\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 130,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/130\"\r\n },\r\n {\r\n \"address\": \"Calle Isabel Colbrand 6-8\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 179,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/179\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Madrid\",\r\n \"country\": \"ES\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Madrid\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Manchester Science Park\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 76,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/76\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Manchester\",\r\n \"country\": \"GB\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Manchester\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"3F PLDT Bldg. Danny Floro St. corner CP Garcia St.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 4810,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/4810\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Manila\",\r\n \"country\": \"PH\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Manila\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"40 avenue Roger Salengro\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 226,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/226\"\r\n },\r\n {\r\n \"address\": \"71 Avenue André Roussin\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1879,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1879\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Marseille\",\r\n \"country\": \"FR\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Marseille\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"820 Lorimer Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1339,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1339\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Melbourne\",\r\n \"country\": \"AU\",\r\n \"azureRegion\": \"Australia Southeast\"\r\n },\r\n \"name\": \"Melbourne\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"4005 S Mendenhall Rd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1930,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1930\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Memphis\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Memphis\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Privada de la Princesa 4\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1778,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1778\"\r\n },\r\n {\r\n \"address\": \"Epigmenio González 2, Industria del Hierro\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 11756,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/11756\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Mexico\",\r\n \"country\": \"MX\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Mexico\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"50 NE 9th St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 15,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/15\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Miami\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Miami\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Via Caldera, 21\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1974,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1974\"\r\n },\r\n {\r\n \"address\": \"Via Monzoro 105\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 3348,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/3348\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Milan\",\r\n \"country\": \"IT\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Milan\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"511 11th Ave S\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 803,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/803\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Minneapolis\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Minneapolis\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1250 Rene Levesque West\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1944,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1944\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Montreal\",\r\n \"country\": \"CA\",\r\n \"azureRegion\": \"Canada East\"\r\n },\r\n \"name\": \"Montreal\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Kashinath Dhuru Marg\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 554,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/554\"\r\n },\r\n {\r\n \"address\": \"Plot No, TPS-2, 14/3, 2nd floor\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2046,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2046\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Mumbai\",\r\n \"country\": \"IN\",\r\n \"azureRegion\": \"West India\"\r\n },\r\n \"name\": \"Mumbai\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Landsberger Str. 155\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 109,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/109\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Munich\",\r\n \"country\": \"DE\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Munich\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Sameer Business Park\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1964,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1964\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Nairobi\",\r\n \"country\": \"KE\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nairobi\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1841 Air Lane Dr\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1924,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1924\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Nashville\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Nashville\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"VSNL Colony\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1982,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1982\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"New Delhi\",\r\n \"country\": \"IN\",\r\n \"azureRegion\": \"West India\"\r\n },\r\n \"name\": \"New Delhi\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"111 8th Avenue\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 38,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/38\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"New York\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"New York\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"165 Halsey St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 350,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/350\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Newark\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Newark\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"NTT DATA Dojima Bldg\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1157,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1157\"\r\n },\r\n {\r\n \"address\": \"1-26-1 Shinmachi Nishi-ku\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1791,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1791\"\r\n },\r\n {\r\n \"address\": \"3-1-7 Dojima, Kita-ku, Osaka-shi\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2072,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2072\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Osaka\",\r\n \"country\": \"JP\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Osaka\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Ulvenveien 89b\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 345,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/345\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Oslo\",\r\n \"country\": \"NO\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Oslo\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"529 Bryant St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Palo Alto\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Palo Alto\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"137 Boulevard Voltaire\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 53,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/53\"\r\n },\r\n {\r\n \"address\": \"11-13 Avenue des Arts et Metiers\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 714,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/714\"\r\n },\r\n {\r\n \"address\": \"Boulevard General Leclerc, 160\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1244,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1244\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Paris\",\r\n \"country\": \"FR\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Paris\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"91 Moo12, Phahonyothin Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 6741,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/6741\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Pathum Thani\",\r\n \"country\": \"TH\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Pathum Thani\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1 William Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 568,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/568\"\r\n },\r\n {\r\n \"address\": \"4 Millrose Drive\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1940,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1940\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Perth\",\r\n \"country\": \"AU\",\r\n \"azureRegion\": \"Australia Central\"\r\n },\r\n \"name\": \"Perth\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"401 North Broad Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 146,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/146\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Philadelphia\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Philadelphia\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"2335 South Ellis Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1488,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1488\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Phoenix\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Phoenix\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"6327 NE Evergreen Parkway\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1922,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1922\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Portland\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Portland\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Nad Elektrarnou 1428/47\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 214,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/214\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Prague\",\r\n \"country\": \"CZ\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Prague\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"T-1, V S N L Old Colony, Dighi, Pimpri-Chinchwad\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 6777,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/6777\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Pune\",\r\n \"country\": \"IN\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Pune\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"2200 M St NE\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5545,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5545\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Quincy\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Quincy\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Hodneveien 240\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5343,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5343\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Rennesoy\",\r\n \"country\": \"NO\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Rennesoy\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"12100 Sunrise Valley Drive\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 668,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/668\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Reston\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Reston\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"329 - Sao Cristovao\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1374,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1374\"\r\n },\r\n {\r\n \"address\": \"Estrada Adhemar Bebiano, 1380\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1899,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1899\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Rio de Janeiro\",\r\n \"country\": \"BR\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Rio de Janeiro\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Via dei Tizi 6/b\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 555,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/555\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Rome\",\r\n \"country\": \"IT\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Rome\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"2302 Presidents Drive\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2077,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2077\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Salt Lake City\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"Salt Lake City\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"9999 Westover Hills Blvd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1484,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1484\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"San Antonio\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"San Antonio\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"5761 Copley Dr\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1928,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1928\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"San Diego\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"San Diego\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"11 Great Oaks Blvd\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 6,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/6\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"San Jose\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"San Jose\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"3020 Coronado Drive\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 3344,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/3344\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Santa Clara\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Santa Clara\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Santa Marta de Huechuraba 6951\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2093,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2093\"\r\n },\r\n {\r\n \"address\": \"Bodegas Megaflex\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 11784,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/11784\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Santiago\",\r\n \"country\": \"CL\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Santiago\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Ceci Avenue, 1900\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 165,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/165\"\r\n },\r\n {\r\n \"address\": \"Alameda Araguaia 3641\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1283,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1283\"\r\n },\r\n {\r\n \"address\": \"Rua Bento Branco de Andrade Filho, 621\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1325,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1325\"\r\n },\r\n {\r\n \"address\": \"Av Pierre Simon de Laplace n1211\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2812,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2812\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Sao Paulo\",\r\n \"country\": \"BR\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Sao Paulo\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"2001 Sixth Avenue\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 71,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/71\"\r\n },\r\n {\r\n \"address\": \"2001 Sixth Avenue\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 86,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/86\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Seattle\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Seattle\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"323 Mokdongdong-ro Yangcheon-gu\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2491,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2491\"\r\n },\r\n {\r\n \"address\": \"3F, 189, Gasan Digital 1-ro, Geumcheon-gu\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 7674,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/7674\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Seoul\",\r\n \"country\": \"KR\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Seoul\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"20 Ayer Rajah Crescent\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 282,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/282\"\r\n },\r\n {\r\n \"address\": \" 2 TAI SENG AVENUE\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 388,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/388\"\r\n },\r\n {\r\n \"address\": \"26A Ayer Rajah Crescent\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2260,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2260\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Singapore\",\r\n \"country\": \"SG\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Singapore\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"122 Ovcho Pole str.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 663,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/663\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Sofia\",\r\n \"country\": \"BG\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Sofia\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Mariehällsvägen 36\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 156,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/156\"\r\n },\r\n {\r\n \"address\": \"Esbogatan 11\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 208,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/208\"\r\n },\r\n {\r\n \"address\": \"Kvastvägen 25-29\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 684,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/684\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Stockholm\",\r\n \"country\": \"SE\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Stockholm\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Unit B 639 Gardeners Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 131,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/131\"\r\n },\r\n {\r\n \"address\": \"4 Eden Park Drive\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1660,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1660\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Sydney\",\r\n \"country\": \"AU\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Sydney\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"NO. 8, Guoqing Rd., Banqiao Dist.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2886,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2886\"\r\n },\r\n {\r\n \"address\": \"No. 37 Lane 188, Ruiguang Rd. Nei-hu Dist.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5678,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5678\"\r\n },\r\n {\r\n \"address\": \"No. 31, Aiguo E. Rd., Da’an Dist., Taipei City 106, Taiwan (R.O.C.)\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 5904,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/5904\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Taipei\",\r\n \"country\": \"TW\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Taipei\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"1531 Commonwealth Business Dr.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2074,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2074\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Tallahassee\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Tallahassee\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"6 Nevatim street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 8433,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/8433\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Tel Aviv\",\r\n \"country\": \"IL\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Tel Aviv\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"800 Secaucus Road\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 36,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/36\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Teterboro\",\r\n \"country\": \"US\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Teterboro\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Otemachi Building\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 142,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/142\"\r\n },\r\n {\r\n \"address\": \"ComSpace Bldg.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 599,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/599\"\r\n },\r\n {\r\n \"address\": \"Koto-ku\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 738,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/738\"\r\n },\r\n {\r\n \"address\": \"Otemachi Finance City\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1893,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1893\"\r\n },\r\n {\r\n \"address\": \"***, ***, Inzai-shi,Chiba, 270-****\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 9596,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/9596\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Tokyo\",\r\n \"country\": \"JP\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Tokyo\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"151 Front St W.\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 775,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/775\"\r\n },\r\n {\r\n \"address\": \"905 King Street West\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 7011,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/7011\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Toronto\",\r\n \"country\": \"CA\",\r\n \"azureRegion\": \"Canada Central\"\r\n },\r\n \"name\": \"Toronto\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"555 West Hastings St\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1330,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1330\"\r\n },\r\n {\r\n \"address\": \"1050 W Pender Street\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1881,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1881\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Vancouver\",\r\n \"country\": \"CA\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Vancouver\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Louis-Haefliger-Gasse 10\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 67,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/67\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Vienna\",\r\n \"country\": \"AT\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Vienna\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Al. Jerozolimskie 65/79\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 509,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/509\"\r\n },\r\n {\r\n \"address\": \"23 Poleczki\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 2908,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/2908\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Warsaw\",\r\n \"country\": \"PL\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Warsaw\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Selska cesta 93\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 1368,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/1368\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Zagreb\",\r\n \"country\": \"HR\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Zagreb\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n },\r\n {\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"peeringFacilities\": [\r\n {\r\n \"address\": \"Sagereistrasse 35\",\r\n \"directPeeringType\": \"Edge\",\r\n \"peeringDBFacilityId\": 81,\r\n \"peeringDBFacilityLink\": \"https://www.peeringdb.com/fac/81\"\r\n }\r\n ],\r\n \"bandwidthOffers\": [\r\n {\r\n \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\n },\r\n {\r\n \"offerName\": \"100Gbps\",\r\n \"valueInMbps\": 100000\r\n }\r\n ]\r\n },\r\n \"peeringLocation\": \"Zurich\",\r\n \"country\": \"CH\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Zurich\",\r\n \"type\": \"Microsoft.Peering/peeringLocations\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringLocation.Tests.ps1 b/src/Peering/test/Get-AzPeeringLocation.Tests.ps1 new file mode 100644 index 000000000000..7878002c5b82 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringLocation.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringLocation')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringLocation.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringLocation' { + It 'List' { + { + $locations = Get-AzPeeringLocation -Kind Direct + $locations.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringReceivedRoute.Recording.json b/src/Peering/test/Get-AzPeeringReceivedRoute.Recording.json new file mode 100644 index 000000000000..f56a742524d1 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringReceivedRoute.Recording.json @@ -0,0 +1,42 @@ +{ + "Get-AzPeeringReceivedRoute+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/receivedRoutes?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/receivedRoutes?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "10" ], + "x-ms-client-request-id": [ "8672df9e-cb95-46f6-808e-26e59784175d" ], + "CommandName": [ "Get-AzPeeringReceivedRoute" ], + "FullCommandName": [ "Get-AzPeeringReceivedRoute_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "dbb5863f-abff-4a54-9e75-4d6136934545" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11998" ], + "x-ms-correlation-request-id": [ "7afeeb26-845d-4d29-a0cf-4363c58bca30" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012517Z:7afeeb26-845d-4d29-a0cf-4363c58bca30" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:16 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "59373" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"prefix\": \"1.0.0.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 13335\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-12-05T11:51:51.2062620Z\"\r\n },\r\n {\r\n \"prefix\": \"1.1.1.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 13335\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-12-05T11:51:51.2062620Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.192.0/21\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:11.7043790Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.200.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:11.7043790Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.204.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 59034\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045170Z\"\r\n },\r\n {\r\n \"prefix\": \"1.160.0.0/12\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.160.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.161.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.162.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.163.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.164.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.165.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.166.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.167.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.168.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.169.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.170.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.171.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.172.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.173.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062640Z\"\r\n },\r\n {\r\n \"prefix\": \"1.174.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.175.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.179.112.0/20\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 15169 396982\",\r\n \"originAsValidationState\": \"Unknown\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:16.7056160Z\"\r\n },\r\n {\r\n \"prefix\": \"1.188.0.0/14\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:15.7051820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.2.4.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 24151\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:10.7044540Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.0.0/13\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:15.7051820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.192.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.196.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.216.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.236.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.32.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.36.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.80.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.81.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-05-01T01:53:19.5844330Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.84.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.88.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.92.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.93.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.94.0/24\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.0.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.128.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.132.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.24.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.28.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.32.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.4.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.40.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.44.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.92.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.12.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.140.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.148.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.156.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.16.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.168.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.176.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.20.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.224.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.24.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.96.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.100.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.164.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.180.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.184.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.40.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.44.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.48.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.92.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.96.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.31.192.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.31.36.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T05:21:13.7045630Z\"\r\n },\r\n {\r\n \"prefix\": \"1.34.0.0/15\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.34.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:16.2062640Z\"\r\n },\r\n {\r\n \"prefix\": \"1.35.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.0.0/16\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:06:43.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.0.0/17\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.100.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.104.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.108.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.112.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.116.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.120.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.124.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.128.0/17\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.128.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.132.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.136.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.140.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.144.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.148.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.152.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.156.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.16.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.160.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.164.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.168.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.172.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.176.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.180.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.184.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:15.2062680Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.188.0/22\",\r\n \"nextHop\": \"12.90.152.69\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:44.2062660Z\"\r\n },\r\n {\r\n \"prefix\": \"1.0.0.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 13335\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-12-05T11:51:51.7220900Z\"\r\n },\r\n {\r\n \"prefix\": \"1.1.1.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 13335\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-12-05T11:51:51.7220900Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.192.0/21\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:52.6816360Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.200.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:52.6816360Z\"\r\n },\r\n {\r\n \"prefix\": \"1.119.204.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 59034\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:44.6812560Z\"\r\n },\r\n {\r\n \"prefix\": \"1.160.0.0/12\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.160.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.161.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.162.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.163.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.164.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.165.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.166.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.167.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.168.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.169.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.170.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.171.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.172.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.173.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220860Z\"\r\n },\r\n {\r\n \"prefix\": \"1.174.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.175.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.179.112.0/20\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 15169 396982\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-12-24T09:07:58.7221460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.188.0.0/14\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:48.6815180Z\"\r\n },\r\n {\r\n \"prefix\": \"1.2.4.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 24151\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:43.6813030Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.0.0/13\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:48.6815180Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.192.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.196.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.216.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.236.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.32.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.36.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.80.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.81.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-05-01T01:53:18.8292190Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.84.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.88.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.92.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.93.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.24.94.0/24\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.0.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.128.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.132.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.24.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.28.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.32.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.4.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.40.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.44.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.25.92.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.12.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.140.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.148.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.156.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.16.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.168.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.176.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.20.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.224.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.24.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.28.96.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.100.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.164.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.180.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.184.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.40.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.44.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.48.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.92.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.30.96.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.31.192.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.31.36.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 139007\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2021-12-07T06:16:45.6811060Z\"\r\n },\r\n {\r\n \"prefix\": \"1.34.0.0/15\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.34.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:15.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.35.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 9680 9680 3462\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Valid\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-11-29T07:46:45.7220820Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.0.0/16\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:06:16.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.0.0/17\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.100.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.104.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256400Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.108.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256400Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.112.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.116.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.120.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.124.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.128.0/17\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.128.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.132.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.136.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.140.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256400Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.144.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.148.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.152.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.156.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.16.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.160.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.164.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.168.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.172.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.176.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.180.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.184.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:27:20.9256440Z\"\r\n },\r\n {\r\n \"prefix\": \"1.45.188.0/22\",\r\n \"nextHop\": \"12.125.145.33\",\r\n \"asPath\": \"7018 4837 4808 45083\",\r\n \"originAsValidationState\": \"Valid\",\r\n \"rpkiValidationState\": \"Unknown\",\r\n \"trustAnchor\": \"None\",\r\n \"receivedTimestamp\": \"2022-09-25T21:14:48.9256460Z\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringReceivedRoute.Tests.ps1 b/src/Peering/test/Get-AzPeeringReceivedRoute.Tests.ps1 new file mode 100644 index 000000000000..6a6034f6fc36 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringReceivedRoute.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringReceivedRoute')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringReceivedRoute.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringReceivedRoute' { + It 'List' { + { + $routes = Get-AzPeeringReceivedRoute -PeeringName DemoPeering -ResourceGroupName DemoRG + $routes.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringRegisteredAsn.Recording.json b/src/Peering/test/Get-AzPeeringRegisteredAsn.Recording.json new file mode 100644 index 000000000000..2190aebc9aff --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRegisteredAsn.Recording.json @@ -0,0 +1,82 @@ +{ + "Get-AzPeeringRegisteredAsn+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "11" ], + "x-ms-client-request-id": [ "7a45c7c5-95ca-4347-8739-981946896caf" ], + "CommandName": [ "Get-AzPeeringRegisteredAsn" ], + "FullCommandName": [ "Get-AzPeeringRegisteredAsn_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "1a449030-4a85-47be-a942-17ef2d85d806" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11997" ], + "x-ms-correlation-request-id": [ "928eb76f-45fa-4459-9123-bec563b2e05e" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012517Z:928eb76f-45fa-4459-9123-bec563b2e05e" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:16 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "897" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"asn\": 6500,\r\n \"peeringServicePrefixKey\": \"767c9f30-7388-49ef-ba8e-e2d16d1c08e4\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"fgfg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/fgfg\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredAsns\"\r\n },\r\n {\r\n \"properties\": {\r\n \"asn\": 65000,\r\n \"peeringServicePrefixKey\": \"32259ee0-ea01-495e-8279-06c24ef7aae0\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"homedepottest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/homedepottest\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredAsns\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringRegisteredAsn+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/fgfg?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/fgfg?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "12" ], + "x-ms-client-request-id": [ "5e5261da-668c-44b1-b692-4186aa9d9a64" ], + "CommandName": [ "Get-AzPeeringRegisteredAsn" ], + "FullCommandName": [ "Get-AzPeeringRegisteredAsn_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "daf75a4c-dd2a-441e-b53a-729f6201efe3" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11996" ], + "x-ms-correlation-request-id": [ "a13cf023-95e9-4a08-bcb1-8a43d4b55bd0" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012517Z:a13cf023-95e9-4a08-bcb1-8a43d4b55bd0" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:17 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "385" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"asn\": 6500,\r\n \"peeringServicePrefixKey\": \"767c9f30-7388-49ef-ba8e-e2d16d1c08e4\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"fgfg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/fgfg\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredAsns\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringRegisteredAsn.Tests.ps1 b/src/Peering/test/Get-AzPeeringRegisteredAsn.Tests.ps1 new file mode 100644 index 000000000000..d9a652388d3f --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRegisteredAsn.Tests.ps1 @@ -0,0 +1,31 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringRegisteredAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringRegisteredAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringRegisteredAsn' { + It 'List' { + { + $asns = Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo + $asns.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $fgfgAsn = Get-AzPeeringRegisteredAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Name fgfg + $fgfgAsn.Name | Should -Be "fgfg" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringRegisteredPrefix.Recording.json b/src/Peering/test/Get-AzPeeringRegisteredPrefix.Recording.json new file mode 100644 index 000000000000..8d563644388a --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRegisteredPrefix.Recording.json @@ -0,0 +1,82 @@ +{ + "Get-AzPeeringRegisteredPrefix+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "13" ], + "x-ms-client-request-id": [ "a8385ec0-d6f5-446e-84de-ddbaab4e82fd" ], + "CommandName": [ "Get-AzPeeringRegisteredPrefix" ], + "FullCommandName": [ "Get-AzPeeringRegisteredPrefix_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "4fbd3574-8139-4f3d-9cdc-8b823f935cf1" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11995" ], + "x-ms-correlation-request-id": [ "991efdb8-406e-474b-ba9c-1075206c5735" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012517Z:991efdb8-406e-474b-ba9c-1075206c5735" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:17 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "2912" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.0.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"f5947454-80e3-4ce5-bcb3-2501537b6952\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting1\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting1\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.1.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"249aa0dd-6177-4105-94fe-dfefcbf5ab48\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting2\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting2\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.2.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"4fb59e9e-d4eb-4847-b2ad-9939edda750b\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting3\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting3\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.4.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"b725f16c-759b-4144-93ed-ed4eb89cb8f7\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting4\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting4\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.3.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"bb1262ca-0b31-45f3-a301-105b0615b21c\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting5\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting5\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringRegisteredPrefix+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting1?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting1?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "14" ], + "x-ms-client-request-id": [ "a48975fb-20ed-4697-8212-6648c44c6537" ], + "CommandName": [ "Get-AzPeeringRegisteredPrefix" ], + "FullCommandName": [ "Get-AzPeeringRegisteredPrefix_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "de416494-6ac4-4ef8-9da3-90d973d5c711" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11994" ], + "x-ms-correlation-request-id": [ "da1a1615-73c8-45ec-be6e-c16430f3f7b2" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012518Z:da1a1615-73c8-45ec-be6e-c16430f3f7b2" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:17 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "527" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"prefix\": \"240.0.0.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"peeringServicePrefixKey\": \"f5947454-80e3-4ce5-bcb3-2501537b6952\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting1\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting1\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringRegisteredPrefix.Tests.ps1 b/src/Peering/test/Get-AzPeeringRegisteredPrefix.Tests.ps1 new file mode 100644 index 000000000000..1cb3c0ec6e87 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRegisteredPrefix.Tests.ps1 @@ -0,0 +1,32 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringRegisteredPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringRegisteredPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringRegisteredPrefix' { + It 'List' { + { + $prefixes = Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG + $prefixes.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $prefix = Get-AzPeeringRegisteredPrefix -PeeringName DemoPeering -ResourceGroupName DemoRG -Name accessibilityTesting1 + $prefix.Name | Should -Be "accessibilityTesting1" + } | Should -Not -Throw + } + +} diff --git a/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Recording.json b/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Recording.json new file mode 100644 index 000000000000..fe5d7bdb95f4 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Recording.json @@ -0,0 +1,44 @@ +{ + "Get-AzPeeringRpUnbilledPrefix+[NoContext]+List+$GET+https://management.azure.com/subscriptions/4445bf11-61c4-436f-a940-60194f8aca57/resourceGroups/Seattle/providers/Microsoft.Peering/peerings/CdnPeering/rpUnbilledPrefixes?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://api-dogfood.resources.windows-int.net/subscriptions/4445bf11-61c4-436f-a940-60194f8aca57/resourceGroups/Seattle/providers/Microsoft.Peering/peerings/CdnPeering/rpUnbilledPrefixes?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "6415df04-5976-45bb-8ef8-bb3ef250c090" ], + "CommandName": [ "Get-AzPeeringRpUnbilledPrefix" ], + "FullCommandName": [ "Get-AzPeeringRpUnbilledPrefix_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "82ff3c58-df01-4c4a-a70c-d5c636c12c44" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "14997" ], + "x-ms-correlation-request-id": [ "dcb47447-ae93-4b7c-a7b9-04b7d674bdd5" ], + "x-ms-routing-request-id": [ "CENTRALUS:20230113T191800Z:dcb47447-ae93-4b7c-a7b9-04b7d674bdd5" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "X-Cache": [ "CONFIG_NOCACHE" ], + "X-MSEdge-Ref": [ "Ref A: A900CBE4ACF748ABA133C37C7C276934 Ref B: PAOEDGE0621 Ref C: 2023-01-13T19:18:00Z" ], + "Date": [ "Fri, 13 Jan 2023 19:18:00 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "37973" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"prefix\": \"2.16.0.0/13\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.0.0.0/12\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.32.0.0/11\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.64.0.0/14\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.72.0.0/13\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.92.16.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.92.28.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.192.0.0/11\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.239.8.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"23.239.16.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"43.254.120.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.64.0/19\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.96.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.56.96.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.56.112.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.128.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.192.0/19\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.244.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.252.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.32.0/19\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"59.151.128.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"60.254.128.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.141.192.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.141.196.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.233.112.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.233.126.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.235.20.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.243.228.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.243.230.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"63.243.231.0/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"64.86.204.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"64.86.206.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"64.124.167.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"65.115.216.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"65.158.184.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.171.230.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.175.208.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.198.8.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.228.32.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.228.56.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.246.75.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.246.76.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"66.246.138.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"67.220.142.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.22.150.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.22.154.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.38.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.74.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.112.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.118.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.119.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.121.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.31.122.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.164.208.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.174.30.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"69.192.0.0/16\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"70.39.169.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"72.246.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"72.249.192.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"72.249.193.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"72.249.197.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"74.207.224.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"77.67.85.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"77.67.126.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"80.67.64.0/19\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"84.53.128.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"88.221.0.0/16\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"92.122.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"95.100.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"96.6.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"96.16.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"96.126.104.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"97.107.128.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"103.238.148.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"104.64.0.0/10\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"104.200.28.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"104.237.144.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"109.69.136.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"118.214.0.0/16\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"118.215.0.0/17\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"118.215.128.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"122.252.32.0/19\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"122.252.128.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"125.56.128.0/17\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"125.252.192.0/18\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"128.241.91.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"128.241.217.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"128.241.218.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"131.103.136.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"131.103.156.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.16.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.48.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.80.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.128.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.164.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.168.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.184.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.232.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.240.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.248.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.162.145.220/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.177.200.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"140.174.24.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"143.42.0.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"157.238.70.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"157.238.79.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"162.216.16.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.0.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.2.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.23.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.26.128/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.40.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.44.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.50.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.52.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.58.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.81.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.82.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.96.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.107.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.110.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.119.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.123.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.133.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.136.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.138.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.141.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.142.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.145.64/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.150.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.156.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.203.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.203.192/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.206.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.212.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.215.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.237.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.238.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.240.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.244.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.246.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.247.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"168.143.240.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"168.143.242.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.129.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.131.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.134.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.136.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.144.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.160.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.187.200.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.199.195.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"170.199.196.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.4.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.8.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.16.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.200.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.208.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.128.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.134.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.145.236/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.147.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.148.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.152.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.224.0.0/12\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.205.14.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.205.28.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.205.69.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.205.72.128/27\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.222.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.230.128.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.255.224.0/20\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"184.24.0.0/13\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"184.50.0.0/15\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"184.84.0.0/14\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.33.24.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.80.13.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.81.134.237/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.155.88.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.204.5.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.204.26.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"193.108.88.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"193.108.152.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"194.195.208.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"195.245.124.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.47.116.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.63.231.192/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.74.52.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.74.56.0/21\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.87.182.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.144.96.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.144.102.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"198.173.160.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"199.239.182.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"199.239.184.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.1.141.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.132.64/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.132.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.136.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.139.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.145.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.146.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.158.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.160.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.162.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.164.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.196.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.211.0/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.232.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.241.128/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.243.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.2.254.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.8.48.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.10.28.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.93.38.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.93.46.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.93.48.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.141.239.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.201.160.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.134.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.135.0/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.142.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.173.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.182.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.183.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.186.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.188.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.201.0/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.204.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.222.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.229.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.231.0/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.237.231.192/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.245.143.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"206.239.100.0/23\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"207.192.68.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"207.192.72.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"208.184.139.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"208.185.115.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"209.123.162.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"209.123.234.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"216.206.145.128/26\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.192.45/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.192.46/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.252.70/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.108.229/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"194.233.172.115/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.255.217.107/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"70.39.139.0/25\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"192.46.214.188/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.108.28/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.4/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.32/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.35/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.46/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.181.8/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.233/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.22/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.21/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.54/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.65/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.82/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.91/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.92/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.109/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.128/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.130/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.132/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.137/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.170/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.186/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.194/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.197/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.208/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.215/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.235/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.236/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.241/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.125/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.168/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.192/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.72/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"50.116.7.213/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.162.106.146/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.224.86/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.162.114.72/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.125.184/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"96.126.124.45/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"165.254.245.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.20/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.23/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.27/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.65/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.68/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.101/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.114/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.117/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.121/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.133/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.153/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.169/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.170/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.190/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.195/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.213/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.225/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.226/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.231/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.232/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.200.184/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.131/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.89/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.228/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.109.187/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.33.111.128/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.56.85.127/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.56.93.215/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.88.20/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"45.79.115.247/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.250/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.48/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.70/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"207.109.111.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.30/31\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.160/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.92.37/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.103.183/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.124.221/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.231.104/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.104.76/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.118.66/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"178.79.172.254/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.80.122/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"173.205.76.0/22\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.104.85/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.104.244/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.144.77.180/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.114.102/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"139.162.80.65/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.214.52/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.104.106.123/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.231.92/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"172.105.215.81/32\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n },\r\n {\r\n \"prefix\": \"204.156.7.0/24\",\r\n \"azureRegion\": \"West US 2\",\r\n \"peerAsn\": 65010\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Tests.ps1 b/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Tests.ps1 new file mode 100644 index 000000000000..c468f4262eab --- /dev/null +++ b/src/Peering/test/Get-AzPeeringRpUnbilledPrefix.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringRpUnbilledPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnvDogfood.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringRpUnbilledPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringRpUnbilledPrefix' { + It 'List' { + { + $prefixes = Get-AzPeeringRpUnbilledPrefix -PeeringName CdnPeering -ResourceGroupName Seattle + $prefixes.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringService.Recording.json b/src/Peering/test/Get-AzPeeringService.Recording.json new file mode 100644 index 000000000000..4b5a1e899a99 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringService.Recording.json @@ -0,0 +1,124 @@ +{ + "Get-AzPeeringService+[NoContext]+List1+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServices?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServices?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "15" ], + "x-ms-client-request-id": [ "67cdb48f-977a-47fd-b39a-9ae43e984328" ], + "CommandName": [ "Get-AzPeeringService" ], + "FullCommandName": [ "Get-AzPeeringService_List1" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-original-request-ids": [ "01f9f314-256a-4a65-9b14-ffe533bef4d3", "fb2199f3-49dc-4dcb-ab66-4ca9cdc33b82", "84de8adb-1ec4-4f92-920e-2ee153e5c173" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-request-id": [ "d11923e7-2cdd-41d9-8829-5b8dc7835758" ], + "x-ms-correlation-request-id": [ "d11923e7-2cdd-41d9-8829-5b8dc7835758" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012518Z:d11923e7-2cdd-41d9-8829-5b8dc7835758" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:18 GMT" ] + }, + "ContentHeaders": { + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ], + "Content-Length": [ "3332" ] + }, + "Content": "{\"value\":[{\"properties\":{\"peeringServiceLocation\":\"Georgia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Atlanta\"},\"location\":\"East US 2\",\"tags\":{},\"name\":\"TestPrefixForAtlanta\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPrefixForAtlanta\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Virginia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Dallas\"},\"location\":\"East US\",\"tags\":{},\"name\":\"TestExtension\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Virginia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Atlanta\",\"providerBackupPeeringLocation\":\"Dallas\"},\"location\":\"East US\",\"tags\":{},\"name\":\"TestExtension2\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension2\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"London\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"London\"},\"location\":\"UK South\",\"tags\":{},\"name\":\"DemoPeeringServiceInterCloudLondon\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DemoPeeringServiceInterCloudLondon\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\"},\"location\":\"UK South\",\"tags\":{\"hello\":\"world\"},\"name\":\"DRTestInterCloud\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTestInterCloud\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"London\"},\"location\":\"UK South\",\"tags\":{},\"name\":\"Gaurav Thareja\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/Gaurav Thareja\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Zurich\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Zurich\"},\"location\":\"France Central\",\"tags\":{},\"name\":\"TestDRInterCloudZurich\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Paris\"},\"location\":\"France Central\",\"name\":\"DRTest\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTest\",\"type\":\"Microsoft.Peering/peeringServices\"}]}", + "isContentBase64": false + } + }, + "Get-AzPeeringService+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "16" ], + "x-ms-client-request-id": [ "ed8bdf59-d287-4209-b48f-f585dfa4c746" ], + "CommandName": [ "Get-AzPeeringService" ], + "FullCommandName": [ "Get-AzPeeringService_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "d94a6bcf-a36f-4bd0-93bb-e016b8e1a32e" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "598" ], + "x-ms-correlation-request-id": [ "b4921d18-3d7f-4272-bc75-d171e2e69c98" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012518Z:b4921d18-3d7f-4272-bc75-d171e2e69c98" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:18 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "467" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peeringServiceLocation\": \"Virginia\",\r\n \"peeringServiceProvider\": \"MicrosoftEdge\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"providerPrimaryPeeringLocation\": \"Dallas\"\r\n },\r\n \"location\": \"East US\",\r\n \"tags\": {},\r\n \"name\": \"TestExtension\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension\",\r\n \"type\": \"Microsoft.Peering/peeringServices\"\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringService+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "17" ], + "x-ms-client-request-id": [ "b6e25a3d-2a15-4478-9608-a110937c65cf" ], + "CommandName": [ "Get-AzPeeringService" ], + "FullCommandName": [ "Get-AzPeeringService_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-original-request-ids": [ "cfa9f530-92bc-48ff-a848-6eed5a4f1808", "cb671b6c-3d1d-4167-bf35-5d8b786059af", "f7506798-318d-4a76-a36a-4fc134e77355" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "597" ], + "x-ms-request-id": [ "3798d4fb-1f42-417b-a6c5-f0a48325489f" ], + "x-ms-correlation-request-id": [ "3798d4fb-1f42-417b-a6c5-f0a48325489f" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012520Z:3798d4fb-1f42-417b-a6c5-f0a48325489f" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:19 GMT" ] + }, + "ContentHeaders": { + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ], + "Content-Length": [ "3332" ] + }, + "Content": "{\"value\":[{\"properties\":{\"peeringServiceLocation\":\"Georgia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Atlanta\"},\"location\":\"East US 2\",\"tags\":{},\"name\":\"TestPrefixForAtlanta\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPrefixForAtlanta\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Virginia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Dallas\"},\"location\":\"East US\",\"tags\":{},\"name\":\"TestExtension\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Virginia\",\"peeringServiceProvider\":\"MicrosoftEdge\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Atlanta\",\"providerBackupPeeringLocation\":\"Dallas\"},\"location\":\"East US\",\"tags\":{},\"name\":\"TestExtension2\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestExtension2\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"London\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"London\"},\"location\":\"UK South\",\"tags\":{},\"name\":\"DemoPeeringServiceInterCloudLondon\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DemoPeeringServiceInterCloudLondon\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\"},\"location\":\"UK South\",\"tags\":{\"hello\":\"world\"},\"name\":\"DRTestInterCloud\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTestInterCloud\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"London\"},\"location\":\"UK South\",\"tags\":{},\"name\":\"Gaurav Thareja\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/Gaurav Thareja\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Zurich\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Zurich\"},\"location\":\"France Central\",\"tags\":{},\"name\":\"TestDRInterCloudZurich\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich\",\"type\":\"Microsoft.Peering/peeringServices\"},{\"properties\":{\"peeringServiceLocation\":\"Ile-de-France\",\"peeringServiceProvider\":\"InterCloud\",\"provisioningState\":\"Succeeded\",\"providerPrimaryPeeringLocation\":\"Paris\"},\"location\":\"France Central\",\"name\":\"DRTest\",\"id\":\"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTest\",\"type\":\"Microsoft.Peering/peeringServices\"}]}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringService.Tests.ps1 b/src/Peering/test/Get-AzPeeringService.Tests.ps1 new file mode 100644 index 000000000000..c07edc12e4b9 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringService.Tests.ps1 @@ -0,0 +1,39 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringService')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringService.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringService' { + It 'List1' { + { + $allPeeringServices = Get-AzPeeringService + $allPeeringServices.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $peeringService = Get-AzPeeringService -ResourceGroupName DemoRG -Name TestExtension + $peeringService.Name | Should -Be "TestExtension" + } | Should -Not -Throw + } + + It 'List' { + { + $rgPeeringServices = Get-AzPeeringService -ResourceGroupName DemoRG + $rgPeeringServices.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + +} diff --git a/src/Peering/test/Get-AzPeeringServiceCountry.Recording.json b/src/Peering/test/Get-AzPeeringServiceCountry.Recording.json new file mode 100644 index 000000000000..c0a58380f7d3 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceCountry.Recording.json @@ -0,0 +1,42 @@ +{ + "Get-AzPeeringServiceCountry+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "18" ], + "x-ms-client-request-id": [ "a00f82dc-e20b-4322-a8c2-f741a820b3c2" ], + "CommandName": [ "Get-AzPeeringServiceCountry" ], + "FullCommandName": [ "Get-AzPeeringServiceCountry_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "3993c7c5-c229-4051-a1f4-d42cbcd9a54e" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "c2d503eb-1043-48d3-90bb-b8e30b59d657" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012520Z:c2d503eb-1043-48d3-90bb-b8e30b59d657" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:19 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "6012" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"name\": \"Australia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Australia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Belgium\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Belgium\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Brazil\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Brazil\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Canada\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Canada\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Denmark\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Denmark\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Finland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Finland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"France\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/France\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Germany\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Germany\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Hong Kong\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Hong Kong\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Japan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Japan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Kenya\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Kenya\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Korea, South\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Korea, South\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Malaysia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Malaysia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Netherlands\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Netherlands\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"New Zealand\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/New Zealand\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Nigeria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Nigeria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Norway\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Norway\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Poland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Poland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Portugal\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Portugal\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Singapore\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Singapore\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"South Africa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/South Africa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Spain\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Spain\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Sweden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Sweden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"Switzerland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/Switzerland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"United Kingdom\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/United Kingdom\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n },\r\n {\r\n \"name\": \"United States\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceCountries/United States\",\r\n \"type\": \"Microsoft.Peering/peeringServiceCountries\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringServiceCountry.Tests.ps1 b/src/Peering/test/Get-AzPeeringServiceCountry.Tests.ps1 new file mode 100644 index 000000000000..a41dab03ae01 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceCountry.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringServiceCountry')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringServiceCountry.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringServiceCountry' { + It 'List' { + { + $countries = Get-AzPeeringServiceCountry + $countries.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringServiceLocation.Recording.json b/src/Peering/test/Get-AzPeeringServiceLocation.Recording.json new file mode 100644 index 000000000000..b3794fe8ab04 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceLocation.Recording.json @@ -0,0 +1,82 @@ +{ + "Get-AzPeeringServiceLocation+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "19" ], + "x-ms-client-request-id": [ "b071c41f-e1c2-43b2-9fee-f5f47e50e5b8" ], + "CommandName": [ "Get-AzPeeringServiceLocation" ], + "FullCommandName": [ "Get-AzPeeringServiceLocation_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "b0fbd3d4-6087-4ce4-858a-1099475ea0c6" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "7fb6064a-0141-43b0-89b0-9a4e5288d7e9" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012520Z:7fb6064a-0141-43b0-89b0-9a4e5288d7e9" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:20 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "236407" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"Australian Capital Territory\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Australian Capital Territory\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Australian Capital Territory\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"New South Wales\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"New South Wales\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New South Wales\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"Queensland\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Queensland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Queensland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"South Australia\",\r\n \"azureRegion\": \"Australia Southeast\"\r\n },\r\n \"name\": \"South Australia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Australia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"Tasmania\",\r\n \"azureRegion\": \"Australia Southeast\"\r\n },\r\n \"name\": \"Tasmania\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tasmania\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"Victoria\",\r\n \"azureRegion\": \"Australia Southeast\"\r\n },\r\n \"name\": \"Victoria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Victoria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Australia\",\r\n \"state\": \"Western Australia\",\r\n \"azureRegion\": \"Australia Central\"\r\n },\r\n \"name\": \"Western Australia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Western Australia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Belgium\",\r\n \"state\": \"Brussels-Capital Region\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Brussels-Capital Region\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Brussels-Capital Region\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Belgium\",\r\n \"state\": \"Flanders\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Flanders\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Flanders\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Belgium\",\r\n \"state\": \"Wallonia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Wallonia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wallonia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Espirito Santo\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Espirito Santo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Espirito Santo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Goias\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Goias\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Goias\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Minas Gerais\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Minas Gerais\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Minas Gerais\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Parana\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Parana\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Parana\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Rio de Janeiro\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Rio de Janeiro\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rio de Janeiro\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Santa Catarina\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Santa Catarina\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Santa Catarina\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Brazil\",\r\n \"state\": \"Sao Paulo\",\r\n \"azureRegion\": \"Brazil South\"\r\n },\r\n \"name\": \"Sao Paulo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sao Paulo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Alberta\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Alberta\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Alberta\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"British Columbia\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"British Columbia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/British Columbia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Manitoba\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Manitoba\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Manitoba\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"New Brunswick\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"New Brunswick\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New Brunswick\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Nova Scotia\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Nova Scotia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nova Scotia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Ontario\",\r\n \"azureRegion\": \"Canada Central\"\r\n },\r\n \"name\": \"Ontario\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ontario\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Prince Edward Island\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Prince Edward Island\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Prince Edward Island\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Canada\",\r\n \"state\": \"Quebec\",\r\n \"azureRegion\": \"Canada East\"\r\n },\r\n \"name\": \"Quebec\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Quebec\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Denmark\",\r\n \"state\": \"Hovedstaden\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Hovedstaden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hovedstaden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Denmark\",\r\n \"state\": \"Midtjylland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Midtjylland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Midtjylland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Denmark\",\r\n \"state\": \"Nordjylland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Nordjylland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nordjylland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Denmark\",\r\n \"state\": \"Sjaelland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Sjaelland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sjaelland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Denmark\",\r\n \"state\": \"Syddanmark\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Syddanmark\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Syddanmark\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Aland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Aland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Etela-Karjala\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Etela-Karjala\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Etela-Karjala\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Etela-Pohjanmaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Etela-Pohjanmaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Etela-Pohjanmaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Etela-Savo\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Etela-Savo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Etela-Savo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Kainuu\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kainuu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kainuu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Kanta-Hame\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kanta-Hame\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kanta-Hame\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Keski-Pohjanmaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Keski-Pohjanmaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Keski-Pohjanmaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Keski-Suomi\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Keski-Suomi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Keski-Suomi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Kymenlaakso\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kymenlaakso\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kymenlaakso\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Lappi\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Lappi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lappi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Paijat-Hame\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Paijat-Hame\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Paijat-Hame\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Pirkanmaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pirkanmaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pirkanmaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Pohjanmaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pohjanmaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pohjanmaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Pohjois-Karjala\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pohjois-Karjala\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pohjois-Karjala\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Pohjois-Pohjanmaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pohjois-Pohjanmaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pohjois-Pohjanmaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Pohjois-Savo\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pohjois-Savo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pohjois-Savo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Satakunta\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Satakunta\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Satakunta\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Uusimaa\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Uusimaa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Uusimaa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Finland\",\r\n \"state\": \"Varsinais-Suomi\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Varsinais-Suomi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Varsinais-Suomi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Auvergne-Rhone-Alpes\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Auvergne-Rhone-Alpes\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Auvergne-Rhone-Alpes\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Bourgogne-Franche-Comte\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bourgogne-Franche-Comte\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bourgogne-Franche-Comte\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Bretagne\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bretagne\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bretagne\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Centre-Val de Loire\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Centre-Val de Loire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Centre-Val de Loire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Corsica\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Corsica\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Corsica\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Grand Est\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Grand Est\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Grand Est\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Hauts-de-France\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Hauts-de-France\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hauts-de-France\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Ile-de-France\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Ile-de-France\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ile-de-France\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Normandie\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Normandie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Normandie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Nouvelle-Aquitaine\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nouvelle-Aquitaine\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nouvelle-Aquitaine\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Occitanie\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Occitanie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Occitanie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Pays de la Loire\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Pays de la Loire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pays de la Loire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"France\",\r\n \"state\": \"Provence-Alpes-Cote d’Azur\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Provence-Alpes-Cote d’Azur\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Provence-Alpes-Cote d’Azur\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Baden-Wurttemberg\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Baden-Wurttemberg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Baden-Wurttemberg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Bavaria\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Bavaria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bavaria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Berlin\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Berlin\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Berlin\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Brandenburg\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Brandenburg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Brandenburg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Bremen\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Bremen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bremen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Hamburg\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Hamburg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hamburg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Hesse\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Hesse\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hesse\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Lower Saxony\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Lower Saxony\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lower Saxony\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Mecklenburg-Western Pomerania\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Mecklenburg-Western Pomerania\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mecklenburg-Western Pomerania\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"North Rhine-Westphalia\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North Rhine-Westphalia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Rhine-Westphalia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Rhineland-Palatinate\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Rhineland-Palatinate\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rhineland-Palatinate\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Saarland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Saarland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saarland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Saxony\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Saxony\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saxony\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Saxony-Anhalt\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Saxony-Anhalt\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saxony-Anhalt\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Schleswig-Holstein\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Schleswig-Holstein\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Schleswig-Holstein\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Germany\",\r\n \"state\": \"Thuringia\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Thuringia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Thuringia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Hong Kong\",\r\n \"state\": \"Hong Kong\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Hong Kong\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hong Kong\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Aichi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Aichi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aichi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Akita\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Akita\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Akita\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Aomori\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Aomori\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aomori\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Chiba\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Chiba\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Chiba\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ehime\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Ehime\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ehime\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukui\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Fukui\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukui\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukuoka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Fukuoka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukuoka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukushima\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Fukushima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukushima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Gifu\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Gifu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gifu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Gunma\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Gunma\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gunma\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Hiroshima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Hiroshima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hiroshima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Hyogo\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Hyogo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hyogo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ibaraki\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Ibaraki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ibaraki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ishikawa\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Ishikawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ishikawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Iwate\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Iwate\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Iwate\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kagawa\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kagawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kagawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kagoshima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kagoshima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kagoshima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kanagawa\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Kanagawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kanagawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kochi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kochi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kochi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kumamoto\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kumamoto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kumamoto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kyoto\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kyoto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kyoto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Mie\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Mie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Miyagi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Miyagi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Miyagi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Miyazaki\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Miyazaki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Miyazaki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nagano\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Nagano\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nagano\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nagasaki\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Nagasaki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nagasaki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nara\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Nara\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nara\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Niigata\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Niigata\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Niigata\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Oita\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Oita\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oita\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Okayama\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Okayama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Okayama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Okinawa\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Okinawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Okinawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Osaka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Osaka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Osaka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Saga\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Saga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Saitama\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Saitama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saitama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shiga\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shiga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shiga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shimane\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shimane\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shimane\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shizuoka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shizuoka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shizuoka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tochigi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Tochigi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tochigi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tokushima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Tokushima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tokushima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tokyo\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Tokyo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tokyo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tottori\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Tottori\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tottori\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Toyama\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Toyama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Toyama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Wakayama\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Wakayama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wakayama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamagata\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Yamagata\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamagata\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamaguchi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Yamaguchi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamaguchi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamanashi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Yamanashi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamanashi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Baringo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Baringo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Baringo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Bomet\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bomet\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bomet\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Bungoma\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bungoma\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bungoma\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Busia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Busia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Busia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Elgeyo/Marakwet\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Elgeyo/Marakwet\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Elgeyo/Marakwet\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Embu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Embu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Embu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Garissa\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Garissa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Garissa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Homa Bay\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Homa Bay\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Homa Bay\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Isiolo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Isiolo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Isiolo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kajiado\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kajiado\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kajiado\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kakamega\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kakamega\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kakamega\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kericho\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kericho\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kericho\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kiambu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kiambu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kiambu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kilifi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kilifi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kilifi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kirinyaga\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kirinyaga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kirinyaga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kisii\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kisii\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kisii\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kisumu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kisumu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kisumu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kitui\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kitui\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kitui\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Kwale\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kwale\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kwale\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Laikipia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Laikipia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Laikipia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Lamu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Lamu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lamu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Machakos\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Machakos\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Machakos\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Makueni\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Makueni\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Makueni\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Marsabit\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Marsabit\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Marsabit\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Meru\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Meru\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Meru\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Migori\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Migori\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Migori\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Mombasa\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Mombasa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mombasa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Murang’a\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Murang’a\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Murang’a\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nairobi City\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nairobi City\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nairobi City\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nakuru\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nakuru\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nakuru\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Namanga\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Namanga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Namanga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nandi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nandi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nandi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Narok\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Narok\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Narok\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nyamira\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nyamira\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nyamira\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nyandarua\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nyandarua\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nyandarua\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Nyeri\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nyeri\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nyeri\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Samburu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Samburu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Samburu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Siaya\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Siaya\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Siaya\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Taita/Taveta\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Taita/Taveta\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Taita/Taveta\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Tana River\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Tana River\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tana River\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Tharaka-Nithi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Tharaka-Nithi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tharaka-Nithi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Trans Nzoia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Trans Nzoia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Trans Nzoia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Turkana\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Turkana\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Turkana\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Uasin Gishu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Uasin Gishu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Uasin Gishu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Vihiga\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Vihiga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vihiga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"Wajir\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Wajir\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wajir\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Kenya\",\r\n \"state\": \"West Pokot\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"West Pokot\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Pokot\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Busan\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Busan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Busan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Chungbuk\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Chungbuk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Chungbuk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Chungnam\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Chungnam\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Chungnam\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Daegu\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Daegu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Daegu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Daejeon\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Daejeon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Daejeon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Gangwon\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Gangwon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gangwon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Gwangju\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Gwangju\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gwangju\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Gyeongbuk\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Gyeongbuk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gyeongbuk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Gyeonggi\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Gyeonggi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gyeonggi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Gyeongnam\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Gyeongnam\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gyeongnam\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Incheon\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Incheon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Incheon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Jeju\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Jeju\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jeju\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Jeonbuk\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Jeonbuk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jeonbuk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Jeonnam\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Jeonnam\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jeonnam\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Sejong\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Sejong\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sejong\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Seoul\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Seoul\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Seoul\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Korea, South\",\r\n \"state\": \"Ulsan\",\r\n \"azureRegion\": \"Korea Central\"\r\n },\r\n \"name\": \"Ulsan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ulsan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Johor\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Johor\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Johor\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Kedah\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Kedah\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kedah\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Kelantan\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Kelantan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kelantan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Kuala Lumpur \",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Kuala Lumpur \",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kuala Lumpur \",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Melaka\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Melaka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Melaka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Negeri Sembilan\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Negeri Sembilan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Negeri Sembilan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Pahang\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Pahang\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pahang\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Perak\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Perak\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Perak\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Perlis\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Perlis\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Perlis\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Pulau Pinang\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Pulau Pinang\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pulau Pinang\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Sarawak\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Sarawak\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sarawak\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Selangor\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Selangor\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Selangor\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Malaysia\",\r\n \"state\": \"Terengganu\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Terengganu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Terengganu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Drenthe\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Drenthe\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Drenthe\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Flevoland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Flevoland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Flevoland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Fryslan\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Fryslan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fryslan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Gelderland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Gelderland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gelderland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Groningen\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Groningen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Groningen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Limburg\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Limburg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Limburg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Noord-Brabant\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Noord-Brabant\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Noord-Brabant\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Noord-Holland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Noord-Holland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Noord-Holland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Overijssel\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Overijssel\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Overijssel\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Utrecht\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Utrecht\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Utrecht\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Zeeland\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Zeeland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zeeland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Netherlands\",\r\n \"state\": \"Zuid-Holland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Zuid-Holland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zuid-Holland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Auckland\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Auckland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Auckland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Bay of Plenty\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Bay of Plenty\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bay of Plenty\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Canterbury\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Canterbury\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Canterbury\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Gisborne\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Gisborne\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gisborne\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Hawke’s Bay\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Hawke’s Bay\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hawke’s Bay\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Manawatu-Wanganui\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Manawatu-Wanganui\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Manawatu-Wanganui\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Marlborough\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Marlborough\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Marlborough\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Nelson\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Nelson\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nelson\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Northland\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Northland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Northland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Taranaki\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Taranaki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Taranaki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Waikato\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Waikato\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Waikato\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"Wellington\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"Wellington\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wellington\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"New Zealand\",\r\n \"state\": \"West Coast\",\r\n \"azureRegion\": \"Australia East\"\r\n },\r\n \"name\": \"West Coast\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Coast\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Abia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Abia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Abia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Akwa Ibom\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Akwa Ibom\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Akwa Ibom\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Anambra\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Anambra\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Anambra\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Bayelsa\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bayelsa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bayelsa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Benue\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Benue\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Benue\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Cross River\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Cross River\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cross River\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Delta\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Delta\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Delta\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Ebonyi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ebonyi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ebonyi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Edo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Edo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Edo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Ekiti\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ekiti\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ekiti\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Enugu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Enugu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Enugu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Federal Capital Territory\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Federal Capital Territory\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Federal Capital Territory\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Imo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Imo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Imo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Kaduna\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kaduna\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kaduna\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Kebbi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kebbi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kebbi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Kogi\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kogi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kogi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Kwara\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Kwara\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kwara\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Lagos\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Lagos\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lagos\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Nasarawa\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nasarawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nasarawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Niger\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Niger\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Niger\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Ogun\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ogun\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ogun\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Ondo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ondo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ondo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Osun\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Osun\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Osun\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Oyo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Oyo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oyo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Plateau\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Plateau\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Plateau\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Rivers\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Rivers\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rivers\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Sokoto\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Sokoto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sokoto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Nigeria\",\r\n \"state\": \"Zamfara\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Zamfara\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zamfara\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Akershus\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Akershus\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Akershus\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Aust-Agder\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Aust-Agder\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aust-Agder\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Buskerud\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Buskerud\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Buskerud\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Hedmark\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Hedmark\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hedmark\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Hordaland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Hordaland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hordaland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"More og Romsdal\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"More og Romsdal\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/More og Romsdal\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Oppland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Oppland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oppland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Oslo\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Oslo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oslo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Ostfold\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Ostfold\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ostfold\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Rogaland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Rogaland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rogaland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Sogn og Fjordane\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Sogn og Fjordane\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sogn og Fjordane\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Telemark\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Telemark\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Telemark\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Vest-Agder\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Vest-Agder\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vest-Agder\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Norway\",\r\n \"state\": \"Vestfold\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Vestfold\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vestfold\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Dolnoslaskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Dolnoslaskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dolnoslaskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Kujawsko-Pomorskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kujawsko-Pomorskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kujawsko-Pomorskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Lodzkie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Lodzkie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lodzkie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Lubelskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Lubelskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lubelskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Lubuskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Lubuskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lubuskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Malopolskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Malopolskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Malopolskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Mazowieckie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Mazowieckie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mazowieckie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Opolskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Opolskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Opolskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Podkarpackie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Podkarpackie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Podkarpackie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Podlaskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Podlaskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Podlaskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Pomorskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Pomorskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pomorskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Slaskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Slaskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Slaskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Swietokrzyskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Swietokrzyskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Swietokrzyskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Warminsko-Mazurskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Warminsko-Mazurskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Warminsko-Mazurskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Wielkopolskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Wielkopolskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wielkopolskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Poland\",\r\n \"state\": \"Zachodniopomorskie\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Zachodniopomorskie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zachodniopomorskie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Aveiro\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Aveiro\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aveiro\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Beja\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Beja\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Beja\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Braga\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Braga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Braga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Braganca\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Braganca\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Braganca\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Castelo Branco\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Castelo Branco\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Castelo Branco\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Coimbra\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Coimbra\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Coimbra\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Evora\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Evora\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Evora\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Faro\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Faro\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Faro\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Guarda\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Guarda\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Guarda\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Leiria\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Leiria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Leiria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Lisboa\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Lisboa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lisboa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Portalegre\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Portalegre\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Portalegre\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Porto\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Porto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Porto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Santarem\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Santarem\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Santarem\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Setubal\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Setubal\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Setubal\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Viana do Castelo\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Viana do Castelo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Viana do Castelo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Vila Real\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Vila Real\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vila Real\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Portugal\",\r\n \"state\": \"Viseu\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Viseu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Viseu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Singapore\",\r\n \"state\": \"Singapore\",\r\n \"azureRegion\": \"Southeast Asia\"\r\n },\r\n \"name\": \"Singapore\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Singapore\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Eastern Cape\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Eastern Cape\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Eastern Cape\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Free State\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Free State\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Free State\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Gauteng\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Gauteng\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gauteng\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"KwaZulu-Natal\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"KwaZulu-Natal\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/KwaZulu-Natal\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Limpopo\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Limpopo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Limpopo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Mpumalanga\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Mpumalanga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mpumalanga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"North West\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"North West\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North West\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Northern Cape\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Northern Cape\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Northern Cape\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"South Africa\",\r\n \"state\": \"Western Cape\",\r\n \"azureRegion\": \"South Africa North\"\r\n },\r\n \"name\": \"Western Cape\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Western Cape\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Andalusia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Andalusia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Andalusia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Aragon\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Aragon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aragon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Asturias\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Asturias\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Asturias\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Balearic Islands\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Balearic Islands\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Balearic Islands\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Basque Country\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Basque Country\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Basque Country\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Cantabria\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Cantabria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cantabria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Castille-La Mancha\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Castille-La Mancha\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Castille-La Mancha\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Castille-Leon\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Castille-Leon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Castille-Leon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Catalonia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Catalonia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Catalonia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Ceuta\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ceuta\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ceuta\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Extremadura\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Extremadura\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Extremadura\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Galicia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Galicia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Galicia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"La Rioja\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"La Rioja\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/La Rioja\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Madrid\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Madrid\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Madrid\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Melilla\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Melilla\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Melilla\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Murcia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Murcia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Murcia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Navarre\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Navarre\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Navarre\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Spain\",\r\n \"state\": \"Valencia\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Valencia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Valencia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Blekinge\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Blekinge\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Blekinge\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Dalarna\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Dalarna\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dalarna\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Gavleborg\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Gavleborg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gavleborg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Gotland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Gotland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gotland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Halland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Halland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Halland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Jamtland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Jamtland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jamtland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Jonkoping\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Jonkoping\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jonkoping\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Kalmar\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kalmar\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kalmar\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Kronoberg\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Kronoberg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kronoberg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Norrbotten\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Norrbotten\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Norrbotten\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Orebro\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Orebro\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Orebro\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Ostergotland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Ostergotland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ostergotland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Skane\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Skane\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Skane\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Sodermanland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Sodermanland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sodermanland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Stockholm\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Stockholm\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Stockholm\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Uppsala\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Uppsala\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Uppsala\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Varmland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Varmland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Varmland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Vasterbotten\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Vasterbotten\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vasterbotten\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Vasternorrland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Vasternorrland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vasternorrland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Vastmanland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Vastmanland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vastmanland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Sweden\",\r\n \"state\": \"Vastra Gotaland\",\r\n \"azureRegion\": \"West Europe\"\r\n },\r\n \"name\": \"Vastra Gotaland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vastra Gotaland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Aargau\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Aargau\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aargau\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Appenzell Ausserrhoden\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Appenzell Ausserrhoden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Appenzell Ausserrhoden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Appenzell Innerrhoden\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Appenzell Innerrhoden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Appenzell Innerrhoden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Basel-Landschaft\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Basel-Landschaft\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Basel-Landschaft\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Basel-Stadt\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Basel-Stadt\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Basel-Stadt\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Bern\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Bern\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bern\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Fribourg\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Fribourg\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fribourg\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Geneve\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Geneve\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Geneve\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Glarus\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Glarus\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Glarus\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Graubunden\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Graubunden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Graubunden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Jura\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Jura\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Jura\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Luzern\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Luzern\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Luzern\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Neuchatel\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Neuchatel\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Neuchatel\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Nidwalden\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Nidwalden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nidwalden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Obwalden\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Obwalden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Obwalden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Sankt Gallen\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Sankt Gallen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sankt Gallen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Schaffhausen\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Schaffhausen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Schaffhausen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Schwyz\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Schwyz\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Schwyz\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Solothurn\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Solothurn\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Solothurn\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Thurgau\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Thurgau\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Thurgau\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Ticino\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Ticino\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ticino\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Uri\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Uri\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Uri\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Valais\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Valais\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Valais\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Vaud\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Vaud\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vaud\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Zug\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Zug\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zug\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Switzerland\",\r\n \"state\": \"Zurich\",\r\n \"azureRegion\": \"France Central\"\r\n },\r\n \"name\": \"Zurich\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Zurich\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Aberdeen City\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Aberdeen City\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aberdeen City\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Angus\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Angus\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Angus\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Antrim and Newtownabbey\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Antrim and Newtownabbey\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Antrim and Newtownabbey\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Ards and North Down\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Ards and North Down\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ards and North Down\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Argyll and Bute\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Argyll and Bute\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Argyll and Bute\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Armagh, Banbridge and Craigavon\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Armagh, Banbridge and Craigavon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Armagh, Banbridge and Craigavon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Barking and Dagenham\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Barking and Dagenham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Barking and Dagenham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Barnet\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Barnet\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Barnet\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Barnsley\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Barnsley\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Barnsley\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bath and North East Somerset\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bath and North East Somerset\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bath and North East Somerset\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bedford\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bedford\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bedford\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Belfast\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Belfast\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Belfast\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bexley\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bexley\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bexley\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Birmingham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Birmingham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Birmingham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Blackburn with Darwen\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Blackburn with Darwen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Blackburn with Darwen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Blackpool\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Blackpool\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Blackpool\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Blaenau Gwent\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Blaenau Gwent\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Blaenau Gwent\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bolton\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Bolton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bolton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bournemouth\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bournemouth\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bournemouth\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bracknell Forest\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bracknell Forest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bracknell Forest\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bradford\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Bradford\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bradford\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Brent\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Brent\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Brent\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bridgend\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bridgend\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bridgend\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Brighton and Hove\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Brighton and Hove\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Brighton and Hove\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bristol, City of\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bristol, City of\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bristol, City of\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bromley\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Bromley\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bromley\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Buckinghamshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Buckinghamshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Buckinghamshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Bury\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Bury\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Bury\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Caerphilly\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Caerphilly\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Caerphilly\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Calderdale\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Calderdale\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Calderdale\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cambridgeshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Cambridgeshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cambridgeshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Camden\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Camden\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Camden\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cardiff\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Cardiff\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cardiff\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Carmarthenshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Carmarthenshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Carmarthenshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Causeway Coast and Glens\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Causeway Coast and Glens\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Causeway Coast and Glens\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Central Bedfordshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Central Bedfordshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Central Bedfordshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Ceredigion\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Ceredigion\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ceredigion\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cheshire East\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Cheshire East\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cheshire East\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cheshire West and Chester\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Cheshire West and Chester\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cheshire West and Chester\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Clackmannanshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Clackmannanshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Clackmannanshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Conwy\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Conwy\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Conwy\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cornwall\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Cornwall\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cornwall\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Coventry\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Coventry\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Coventry\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Croydon\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Croydon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Croydon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Cumbria\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Cumbria\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Cumbria\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Darlington\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Darlington\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Darlington\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Denbighshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Denbighshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Denbighshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Derby\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Derby\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Derby\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Derbyshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Derbyshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Derbyshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Derry and Strabane\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Derry and Strabane\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Derry and Strabane\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Devon\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Devon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Devon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Doncaster\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Doncaster\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Doncaster\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Dorset\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Dorset\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dorset\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Dudley\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Dudley\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dudley\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Dumfries and Galloway\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Dumfries and Galloway\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dumfries and Galloway\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Dundee City\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Dundee City\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Dundee City\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Durham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Durham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Durham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Ealing\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Ealing\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ealing\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Ayrshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"East Ayrshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Ayrshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Dunbartonshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"East Dunbartonshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Dunbartonshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Lothian\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"East Lothian\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Lothian\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Renfrewshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"East Renfrewshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Renfrewshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Riding of Yorkshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"East Riding of Yorkshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Riding of Yorkshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"East Sussex\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"East Sussex\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/East Sussex\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Edinburgh, City of\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Edinburgh, City of\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Edinburgh, City of\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Eilean Siar\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Eilean Siar\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Eilean Siar\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Enfield\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Enfield\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Enfield\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Essex\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Essex\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Essex\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Falkirk\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Falkirk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Falkirk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Fermanagh and Omagh\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Fermanagh and Omagh\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fermanagh and Omagh\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Fife\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Fife\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fife\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Flintshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Flintshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Flintshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Gateshead\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Gateshead\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gateshead\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Glasgow City\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Glasgow City\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Glasgow City\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Gloucestershire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Gloucestershire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gloucestershire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Greenwich\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Greenwich\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Greenwich\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Gwynedd\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Gwynedd\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gwynedd\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hackney\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hackney\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hackney\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Halton\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Halton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Halton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hammersmith and Fulham\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hammersmith and Fulham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hammersmith and Fulham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hampshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hampshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hampshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Haringey\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Haringey\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Haringey\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Harrow\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Harrow\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Harrow\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hartlepool\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Hartlepool\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hartlepool\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Havering\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Havering\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Havering\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Herefordshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Herefordshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Herefordshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hertfordshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hertfordshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hertfordshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Highland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Highland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Highland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hillingdon\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hillingdon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hillingdon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Hounslow\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Hounslow\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hounslow\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Inverclyde\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Inverclyde\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Inverclyde\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Isle of Anglesey\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Isle of Anglesey\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Isle of Anglesey\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Isle of Wight\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Isle of Wight\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Isle of Wight\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Isles of Scilly\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Isles of Scilly\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Isles of Scilly\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Islington\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Islington\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Islington\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Kensington and Chelsea\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Kensington and Chelsea\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kensington and Chelsea\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Kent\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Kent\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kent\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Kingston upon Hull, City of\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Kingston upon Hull, City of\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kingston upon Hull, City of\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Kingston upon Thames\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Kingston upon Thames\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kingston upon Thames\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Kirklees\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Kirklees\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kirklees\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Knowsley\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Knowsley\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Knowsley\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Lambeth\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Lambeth\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lambeth\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Lancashire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Lancashire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lancashire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Leeds\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Leeds\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Leeds\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Leicester\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Leicester\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Leicester\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Lewisham\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Lewisham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lewisham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Lincolnshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Lincolnshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lincolnshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Lisburn and Castlereagh\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Lisburn and Castlereagh\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Lisburn and Castlereagh\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Liverpool\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Liverpool\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Liverpool\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"London\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"London\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/London\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Luton\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Luton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Luton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Manchester\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Manchester\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Manchester\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Medway\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Medway\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Medway\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Merthyr Tydfil\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Merthyr Tydfil\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Merthyr Tydfil\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Merton\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Merton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Merton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Mid Ulster\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Mid Ulster\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mid Ulster\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Mid and East Antrim\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Mid and East Antrim\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mid and East Antrim\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Midlothian\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Midlothian\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Midlothian\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Milton Keynes\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Milton Keynes\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Milton Keynes\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Monmouthshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Monmouthshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Monmouthshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Moray\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Moray\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Moray\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Neath Port Talbot\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Neath Port Talbot\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Neath Port Talbot\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Newcastle upon Tyne\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Newcastle upon Tyne\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Newcastle upon Tyne\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Newham\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Newham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Newham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Newport\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Newport\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Newport\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Newry, Mourne and Down\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Newry, Mourne and Down\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Newry, Mourne and Down\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Norfolk\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Norfolk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Norfolk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Ayrshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"North Ayrshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Ayrshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North East Lincolnshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North East Lincolnshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North East Lincolnshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Lanarkshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North Lanarkshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Lanarkshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Lincolnshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North Lincolnshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Lincolnshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Somerset\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"North Somerset\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Somerset\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Tyneside\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North Tyneside\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Tyneside\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"North Yorkshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"North Yorkshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Yorkshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Northamptonshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Northamptonshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Northamptonshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Northumberland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Northumberland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Northumberland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Nottingham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Nottingham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nottingham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Oldham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Oldham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oldham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Orkney Islands\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Orkney Islands\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Orkney Islands\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Oxfordshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Oxfordshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oxfordshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Pembrokeshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Pembrokeshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pembrokeshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Perth and Kinross\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Perth and Kinross\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Perth and Kinross\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Peterborough\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Peterborough\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Peterborough\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Plymouth\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Plymouth\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Plymouth\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Poole\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Poole\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Poole\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Portsmouth\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Portsmouth\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Portsmouth\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Powys\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Powys\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Powys\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Reading\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Reading\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Reading\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Redbridge\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Redbridge\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Redbridge\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Redcar and Cleveland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Redcar and Cleveland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Redcar and Cleveland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Renfrewshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"Renfrewshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Renfrewshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Rhondda Cynon Taff\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Rhondda Cynon Taff\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rhondda Cynon Taff\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Richmond upon Thames\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Richmond upon Thames\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Richmond upon Thames\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Rochdale\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Rochdale\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rochdale\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Rotherham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Rotherham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rotherham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Rutland\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Rutland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rutland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Salford\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Salford\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Salford\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Sandwell\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Sandwell\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sandwell\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Scottish Borders, The\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Scottish Borders, The\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Scottish Borders, The\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Sefton\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Sefton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sefton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Sheffield\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Sheffield\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sheffield\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Shetland Islands\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Shetland Islands\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shetland Islands\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Shropshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Shropshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shropshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Slough\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Slough\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Slough\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Solihull\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Solihull\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Solihull\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Somerset\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Somerset\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Somerset\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"South Ayrshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"South Ayrshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Ayrshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"South Gloucestershire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"South Gloucestershire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Gloucestershire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"South Lanarkshire\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"South Lanarkshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Lanarkshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"South Tyneside\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"South Tyneside\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Tyneside\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Southampton\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Southampton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Southampton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Southend-on-Sea\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Southend-on-Sea\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Southend-on-Sea\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Southwark\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Southwark\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Southwark\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"St. Helens\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"St. Helens\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/St. Helens\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Stirling\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Stirling\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Stirling\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Stockport\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Stockport\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Stockport\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Stockton-on-Tees\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Stockton-on-Tees\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Stockton-on-Tees\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Stoke-on-Trent\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Stoke-on-Trent\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Stoke-on-Trent\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Suffolk\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Suffolk\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Suffolk\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Sunderland\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Sunderland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sunderland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Sutton\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Sutton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Sutton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Swansea\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Swansea\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Swansea\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Swindon\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Swindon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Swindon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Tameside\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Tameside\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tameside\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Telford and Wrekin\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Telford and Wrekin\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Telford and Wrekin\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Thurrock\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Thurrock\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Thurrock\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Torbay\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Torbay\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Torbay\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Torfaen\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Torfaen\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Torfaen\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Tower Hamlets\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Tower Hamlets\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tower Hamlets\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Trafford\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Trafford\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Trafford\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Vale of Glamorgan, The\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Vale of Glamorgan, The\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vale of Glamorgan, The\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wakefield\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Wakefield\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wakefield\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Walsall\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Walsall\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Walsall\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Waltham Forest\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Waltham Forest\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Waltham Forest\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wandsworth\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Wandsworth\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wandsworth\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Warrington\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Warrington\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Warrington\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Warwickshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Warwickshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Warwickshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"West Berkshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"West Berkshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Berkshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"West Dunbartonshire\",\r\n \"azureRegion\": \"North Europe\"\r\n },\r\n \"name\": \"West Dunbartonshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Dunbartonshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"West Lothian\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"West Lothian\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Lothian\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"West Sussex\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"West Sussex\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Sussex\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Westminster\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Westminster\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Westminster\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wigan\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Wigan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wigan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wiltshire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Wiltshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wiltshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Windsor and Maidenhead\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Windsor and Maidenhead\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Windsor and Maidenhead\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wirral\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Wirral\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wirral\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wokingham\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Wokingham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wokingham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wolverhampton\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Wolverhampton\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wolverhampton\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Worcestershire\",\r\n \"azureRegion\": \"UK South\"\r\n },\r\n \"name\": \"Worcestershire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Worcestershire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"Wrexham\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"Wrexham\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wrexham\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United Kingdom\",\r\n \"state\": \"York\",\r\n \"azureRegion\": \"UK West\"\r\n },\r\n \"name\": \"York\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/York\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Alabama\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Alabama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Alabama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Arizona\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Arizona\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Arizona\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Arkansas\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Arkansas\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Arkansas\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"California\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"California\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/California\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Colorado\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"Colorado\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Colorado\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Connecticut\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Connecticut\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Connecticut\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Delaware\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Delaware\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Delaware\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"District of Columbia\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"District of Columbia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/District of Columbia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Florida\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Florida\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Florida\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Georgia\",\r\n \"azureRegion\": \"East US 2\"\r\n },\r\n \"name\": \"Georgia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Georgia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Hawaii\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Hawaii\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hawaii\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Idaho\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Idaho\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Idaho\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Illinois\",\r\n \"azureRegion\": \"North Central US\"\r\n },\r\n \"name\": \"Illinois\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Illinois\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Indiana\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Indiana\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Indiana\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Iowa\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Iowa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Iowa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Kansas\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Kansas\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kansas\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Kentucky\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Kentucky\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kentucky\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Louisiana\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Louisiana\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Louisiana\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Maine\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Maine\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Maine\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Maryland\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Maryland\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Maryland\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Massachusetts\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Massachusetts\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Massachusetts\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Michigan\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Michigan\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Michigan\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Minnesota\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Minnesota\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Minnesota\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Mississippi\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Mississippi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mississippi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Missouri\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Missouri\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Missouri\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Montana\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Montana\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Montana\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Nebraska\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Nebraska\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nebraska\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Nevada\",\r\n \"azureRegion\": \"West US\"\r\n },\r\n \"name\": \"Nevada\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nevada\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"New Hampshire\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"New Hampshire\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New Hampshire\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"New Jersey\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"New Jersey\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New Jersey\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"New Mexico\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"New Mexico\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New Mexico\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"New York\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"New York\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/New York\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"North Carolina\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"North Carolina\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Carolina\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"North Dakota\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"North Dakota\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/North Dakota\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Ohio\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Ohio\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ohio\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Oklahoma\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Oklahoma\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oklahoma\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Oregon\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Oregon\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oregon\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Pennsylvania\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Pennsylvania\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Pennsylvania\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Rhode Island\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Rhode Island\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Rhode Island\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"South Carolina\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"South Carolina\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Carolina\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"South Dakota\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"South Dakota\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/South Dakota\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Tennessee\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Tennessee\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tennessee\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Texas\",\r\n \"azureRegion\": \"South Central US\"\r\n },\r\n \"name\": \"Texas\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Texas\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Utah\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"Utah\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Utah\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Vermont\",\r\n \"azureRegion\": \"Canada East\"\r\n },\r\n \"name\": \"Vermont\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Vermont\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Virginia\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"Virginia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Virginia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Washington\",\r\n \"azureRegion\": \"West US 2\"\r\n },\r\n \"name\": \"Washington\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Washington\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"West Virginia\",\r\n \"azureRegion\": \"East US\"\r\n },\r\n \"name\": \"West Virginia\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/West Virginia\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Wisconsin\",\r\n \"azureRegion\": \"North Central US\"\r\n },\r\n \"name\": \"Wisconsin\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wisconsin\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"United States\",\r\n \"state\": \"Wyoming\",\r\n \"azureRegion\": \"West Central US\"\r\n },\r\n \"name\": \"Wyoming\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wyoming\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringServiceLocation+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations?country=Japan\u0026api-version=2022-10-01+2": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations?country=Japan\u0026api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "20" ], + "x-ms-client-request-id": [ "b0a8d420-0210-48f2-8772-28b6bb7b6185" ], + "CommandName": [ "Get-AzPeeringServiceLocation" ], + "FullCommandName": [ "Get-AzPeeringServiceLocation_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "feaec6cd-61e2-450a-8a84-4f9f5c9d3626" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "598" ], + "x-ms-correlation-request-id": [ "f11249dc-6f41-4650-9ef5-dce9be0cc435" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012520Z:f11249dc-6f41-4650-9ef5-dce9be0cc435" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:20 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "16316" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Aichi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Aichi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aichi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Akita\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Akita\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Akita\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Aomori\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Aomori\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Aomori\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Chiba\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Chiba\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Chiba\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ehime\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Ehime\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ehime\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukui\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Fukui\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukui\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukuoka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Fukuoka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukuoka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Fukushima\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Fukushima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Fukushima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Gifu\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Gifu\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gifu\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Gunma\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Gunma\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Gunma\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Hiroshima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Hiroshima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hiroshima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Hyogo\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Hyogo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Hyogo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ibaraki\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Ibaraki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ibaraki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Ishikawa\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Ishikawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Ishikawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Iwate\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Iwate\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Iwate\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kagawa\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kagawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kagawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kagoshima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kagoshima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kagoshima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kanagawa\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Kanagawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kanagawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kochi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kochi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kochi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kumamoto\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kumamoto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kumamoto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Kyoto\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Kyoto\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Kyoto\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Mie\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Mie\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Mie\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Miyagi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Miyagi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Miyagi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Miyazaki\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Miyazaki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Miyazaki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nagano\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Nagano\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nagano\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nagasaki\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Nagasaki\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nagasaki\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Nara\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Nara\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Nara\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Niigata\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Niigata\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Niigata\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Oita\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Oita\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Oita\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Okayama\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Okayama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Okayama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Okinawa\",\r\n \"azureRegion\": \"East Asia\"\r\n },\r\n \"name\": \"Okinawa\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Okinawa\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Osaka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Osaka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Osaka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Saga\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Saga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Saitama\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Saitama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Saitama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shiga\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shiga\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shiga\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shimane\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shimane\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shimane\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Shizuoka\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Shizuoka\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Shizuoka\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tochigi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Tochigi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tochigi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tokushima\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Tokushima\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tokushima\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tokyo\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Tokyo\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tokyo\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Tottori\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Tottori\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Tottori\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Toyama\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Toyama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Toyama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Wakayama\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Wakayama\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Wakayama\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamagata\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Yamagata\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamagata\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamaguchi\",\r\n \"azureRegion\": \"Japan West\"\r\n },\r\n \"name\": \"Yamaguchi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamaguchi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n },\r\n {\r\n \"properties\": {\r\n \"country\": \"Japan\",\r\n \"state\": \"Yamanashi\",\r\n \"azureRegion\": \"Japan East\"\r\n },\r\n \"name\": \"Yamanashi\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceLocations/Yamanashi\",\r\n \"type\": \"Microsoft.Peering/peeringServiceLocations\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringServiceLocation.Tests.ps1 b/src/Peering/test/Get-AzPeeringServiceLocation.Tests.ps1 new file mode 100644 index 000000000000..3ce83dab0a78 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceLocation.Tests.ps1 @@ -0,0 +1,27 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringServiceLocation')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringServiceLocation.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringServiceLocation' { + It 'List' { + { + $locations = Get-AzPeeringServiceLocation + $locations.Count | Should -BeGreaterThan 0 + + $jpLocations = Get-AzPeeringServiceLocation -Country Japan + $jpLocations.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringServicePrefix.Recording.json b/src/Peering/test/Get-AzPeeringServicePrefix.Recording.json new file mode 100644 index 000000000000..07ffa2fc7224 --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServicePrefix.Recording.json @@ -0,0 +1,82 @@ +{ + "Get-AzPeeringServicePrefix+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "21" ], + "x-ms-client-request-id": [ "bffb4689-41d8-419e-bb55-647db2a4c9db" ], + "CommandName": [ "Get-AzPeeringServicePrefix" ], + "FullCommandName": [ "Get-AzPeeringServicePrefix_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "e30aadc3-8485-4fe0-a6b7-998d22823d73" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11993" ], + "x-ms-correlation-request-id": [ "adce3b33-cfd5-4d98-b790-d7e1385f9397" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012521Z:adce3b33-cfd5-4d98-b790-d7e1385f9397" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:21 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1150" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"prefix\": \"91.194.255.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"learnedType\": \"None\",\r\n \"errorMessage\": \"Peering service provider not found\",\r\n \"peeringServicePrefixKey\": \"6a7f0d42-e49c-4eea-a930-280610671c3f\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"TestPrefix\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes/TestPrefix\",\r\n \"type\": \"Microsoft.Peering/peeringServices/prefixes\"\r\n },\r\n {\r\n \"properties\": {\r\n \"prefix\": \"240.0.0.0/24\",\r\n \"prefixValidationState\": \"Pending\",\r\n \"learnedType\": \"None\",\r\n \"errorMessage\": \"Deletion in progress\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"TestPrefix2\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes/TestPrefix2\",\r\n \"type\": \"Microsoft.Peering/peeringServices/prefixes\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + }, + "Get-AzPeeringServicePrefix+[NoContext]+Get+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes/TestPrefix?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes/TestPrefix?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "22" ], + "x-ms-client-request-id": [ "fa81dc9e-2209-4725-896b-564c59a9251c" ], + "CommandName": [ "Get-AzPeeringServicePrefix" ], + "FullCommandName": [ "Get-AzPeeringServicePrefix_Get" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "d7534262-746a-4cc4-a4cb-c2d23cd5ae35" ], + "x-ms-ratelimit-remaining-subscription-reads": [ "11992" ], + "x-ms-correlation-request-id": [ "f4d04cad-ace2-406f-b4cb-f60df2ec8ee8" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012521Z:f4d04cad-ace2-406f-b4cb-f60df2ec8ee8" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:21 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "554" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"prefix\": \"91.194.255.0/24\",\r\n \"prefixValidationState\": \"Failed\",\r\n \"learnedType\": \"None\",\r\n \"errorMessage\": \"Peering service provider not found\",\r\n \"peeringServicePrefixKey\": \"6a7f0d42-e49c-4eea-a930-280610671c3f\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"TestPrefix\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestDRInterCloudZurich/prefixes/TestPrefix\",\r\n \"type\": \"Microsoft.Peering/peeringServices/prefixes\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringServicePrefix.Tests.ps1 b/src/Peering/test/Get-AzPeeringServicePrefix.Tests.ps1 new file mode 100644 index 000000000000..3ebfb527835d --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServicePrefix.Tests.ps1 @@ -0,0 +1,31 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringServicePrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringServicePrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringServicePrefix' { + It 'List' { + { + $prefixes = Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG + $prefixes.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } + + It 'Get' { + { + $prefix = Get-AzPeeringServicePrefix -PeeringServiceName TestDRInterCloudZurich -ResourceGroupName DemoRG -Name TestPrefix + $prefix.Name | Should -Be "TestPrefix" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Get-AzPeeringServiceProvider.Recording.json b/src/Peering/test/Get-AzPeeringServiceProvider.Recording.json new file mode 100644 index 000000000000..9305755c2c8b --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceProvider.Recording.json @@ -0,0 +1,42 @@ +{ + "Get-AzPeeringServiceProvider+[NoContext]+List+$GET+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceProviders?api-version=2022-10-01+1": { + "Request": { + "Method": "GET", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peeringServiceProviders?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "23" ], + "x-ms-client-request-id": [ "4c829506-bb3e-4b54-9252-1d08ceb5a070" ], + "CommandName": [ "Get-AzPeeringServiceProvider" ], + "FullCommandName": [ "Get-AzPeeringServiceProvider_List" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "f00cfc43-2708-4888-8641-1360ec8f6b0a" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "599" ], + "x-ms-correlation-request-id": [ "7d987eff-e00f-43f0-8e3e-9d5c183f0dc0" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012522Z:7d987eff-e00f-43f0-8e3e-9d5c183f0dc0" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:21 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "10458" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"IIJ\",\r\n \"peeringLocations\": [\r\n \"Osaka\",\r\n \"Tokyo\"\r\n ]\r\n },\r\n \"name\": \"IIJ\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"BBIX\",\r\n \"peeringLocations\": [\r\n \"Tokyo\",\r\n \"Osaka\"\r\n ]\r\n },\r\n \"name\": \"BBIX\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"NTTCom\",\r\n \"peeringLocations\": [\r\n \"Osaka\",\r\n \"Tokyo\"\r\n ]\r\n },\r\n \"name\": \"NTTCom\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Kordia Limited\",\r\n \"peeringLocations\": [\r\n \"Auckland\",\r\n \"Sydney\"\r\n ]\r\n },\r\n \"name\": \"Kordia Limited\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Liquid Telecommunications Ltd\",\r\n \"peeringLocations\": [\r\n \"Cape Town\",\r\n \"Johannesburg\",\r\n \"Nairobi\"\r\n ]\r\n },\r\n \"name\": \"Liquid Telecommunications Ltd\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"InterCloud\",\r\n \"peeringLocations\": [\r\n \"london\",\r\n \"Paris\",\r\n \"Zurich\",\r\n \"Geneva\"\r\n ]\r\n },\r\n \"name\": \"InterCloud\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Computer Concepts Limited\",\r\n \"peeringLocations\": [\r\n \"Auckland\"\r\n ]\r\n },\r\n \"name\": \"Computer Concepts Limited\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Singnet\",\r\n \"peeringLocations\": [\r\n \"singapore\"\r\n ]\r\n },\r\n \"name\": \"Singnet\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"NTT Communications - Flexible InterConnect\",\r\n \"peeringLocations\": [\r\n \"Osaka\",\r\n \"Tokyo\"\r\n ]\r\n },\r\n \"name\": \"NTT Communications - Flexible InterConnect\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"NAPAfrica\",\r\n \"peeringLocations\": [\r\n \"Johannesburg\",\r\n \"Cape Town\"\r\n ]\r\n },\r\n \"name\": \"NAPAfrica\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Vocusgroup NZ\",\r\n \"peeringLocations\": [\r\n \"Sydney\",\r\n \"Auckland\"\r\n ]\r\n },\r\n \"name\": \"Vocusgroup NZ\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"CMC NETWORKS\",\r\n \"peeringLocations\": [\r\n \"Johannesburg\",\r\n \"Nairobi\",\r\n \"cape Town\"\r\n ]\r\n },\r\n \"name\": \"CMC NETWORKS\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"MainOne\",\r\n \"peeringLocations\": [\r\n \"Lisbon\",\r\n \"Lagos\"\r\n ]\r\n },\r\n \"name\": \"MainOne\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Swisscom Switzerland Ltd\",\r\n \"peeringLocations\": [\r\n \"Geneva\",\r\n \"Zurich\"\r\n ]\r\n },\r\n \"name\": \"Swisscom Switzerland Ltd\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"DE-CIX\",\r\n \"peeringLocations\": [\r\n \"Frankfurt\",\r\n \"Marseille\",\r\n \"Newark\",\r\n \"Madrid\",\r\n \"mumbai\"\r\n ]\r\n },\r\n \"name\": \"DE-CIX\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Lumen Technologies\",\r\n \"peeringLocations\": [\r\n \"denver\",\r\n \"los Angeles\"\r\n ]\r\n },\r\n \"name\": \"Lumen Technologies\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Colt Technology Services\",\r\n \"peeringLocations\": [\r\n \"Amsterdam\",\r\n \"Barcelona\",\r\n \"Berlin\",\r\n \"Frankfurt\",\r\n \"Hong Kong\",\r\n \"London\",\r\n \"Madrid\",\r\n \"Milan\",\r\n \"Paris\",\r\n \"Singapore\",\r\n \"Tokyo\",\r\n \"Zurich\",\r\n \"osaka\"\r\n ]\r\n },\r\n \"name\": \"Colt Technology Services\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"BICS\",\r\n \"peeringLocations\": [\r\n \"Brussels\",\r\n \"Frankfurt\",\r\n \"Paris\",\r\n \"Marseille\",\r\n \"Singapore\",\r\n \"Tokyo\"\r\n ]\r\n },\r\n \"name\": \"BICS\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Atman\",\r\n \"peeringLocations\": [\r\n \"Warsaw\"\r\n ]\r\n },\r\n \"name\": \"Atman\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"ATT\",\r\n \"peeringLocations\": [\r\n \"Dallas\"\r\n ]\r\n },\r\n \"name\": \"ATT\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Vodafone Global Network AS1273\",\r\n \"peeringLocations\": [\r\n \"Amsterdam\",\r\n \"Ashburn\",\r\n \"Barcelona\",\r\n \"Brussels\",\r\n \"Bucharest\",\r\n \"Budapest\",\r\n \"Dublin\",\r\n \"Frankfurt\",\r\n \"London\",\r\n \"Madrid\",\r\n \"Marseille\",\r\n \"Milan\",\r\n \"Paris\",\r\n \"Prague\",\r\n \"Singapore\",\r\n \"Sofia\",\r\n \"Vienna\",\r\n \"Miami\"\r\n ]\r\n },\r\n \"name\": \"Vodafone Global Network AS1273\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Dimension Data\",\r\n \"peeringLocations\": [\r\n \"Johannesburg\",\r\n \"Cape Town\"\r\n ]\r\n },\r\n \"name\": \"Dimension Data\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"Vodacom\",\r\n \"peeringLocations\": [\r\n \"Johannesburg\",\r\n \"Cape Town\"\r\n ]\r\n },\r\n \"name\": \"Vodacom\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"LINX LON1 MAPS\",\r\n \"peeringLocations\": [\r\n \"London\"\r\n ]\r\n },\r\n \"name\": \"LINX LON1 MAPS\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"advanced Wireless Network Co Ltd IIG\",\r\n \"peeringLocations\": [\r\n \"singapore\"\r\n ]\r\n },\r\n \"name\": \"advanced Wireless Network Co Ltd IIG\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"equinix MAPS\",\r\n \"peeringLocations\": [\r\n \"ashburn\",\r\n \"dallas\",\r\n \"atlanta\",\r\n \"seattle\",\r\n \"chicago\",\r\n \"san Jose\"\r\n ]\r\n },\r\n \"name\": \"equinix MAPS\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"bt\",\r\n \"peeringLocations\": [\r\n \"amsterdam\"\r\n ]\r\n },\r\n \"name\": \"bt\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"decixDxbRouteServerAsn\",\r\n \"peeringLocations\": [\r\n \"dubai\"\r\n ]\r\n },\r\n \"name\": \"decixDxbRouteServerAsn\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"cello Communications\",\r\n \"peeringLocations\": [\r\n \"auckland\"\r\n ]\r\n },\r\n \"name\": \"cello Communications\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"sejongtelecom Inc.\",\r\n \"peeringLocations\": [\r\n \"seoul\"\r\n ]\r\n },\r\n \"name\": \"sejongtelecom Inc.\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"vodafone Asia AS6660\",\r\n \"peeringLocations\": [\r\n \"Hong Kong\"\r\n ]\r\n },\r\n \"name\": \"vodafone Asia AS6660\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"singapore Telecommunications Limited\",\r\n \"peeringLocations\": [\r\n \"hong Kong\"\r\n ]\r\n },\r\n \"name\": \"singapore Telecommunications Limited\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"deciX-DFW-CUG-MAPS-AS\",\r\n \"peeringLocations\": [\r\n \"dallas\"\r\n ]\r\n },\r\n \"name\": \"deciX-DFW-CUG-MAPS-AS\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"sonic.net Inc.\",\r\n \"peeringLocations\": [\r\n \"san Jose\",\r\n \"palo Alto\"\r\n ]\r\n },\r\n \"name\": \"sonic.net Inc.\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n },\r\n {\r\n \"properties\": {\r\n \"serviceProviderName\": \"advanced Wireless Network Co Ltd Enterprise\",\r\n \"peeringLocations\": [\r\n \"pathum Thani\"\r\n ]\r\n },\r\n \"name\": \"advanced Wireless Network Co Ltd Enterprise\",\r\n \"type\": \"Microsoft.Peering/peeringServiceProviders\"\r\n }\r\n ]\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Get-AzPeeringServiceProvider.Tests.ps1 b/src/Peering/test/Get-AzPeeringServiceProvider.Tests.ps1 new file mode 100644 index 000000000000..2d558b2c45ed --- /dev/null +++ b/src/Peering/test/Get-AzPeeringServiceProvider.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzPeeringServiceProvider')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzPeeringServiceProvider.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzPeeringServiceProvider' { + It 'List' { + { + $providers = Get-AzPeeringServiceProvider + $providers.Count | Should -BeGreaterThan 0 + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Initialize-AzPeeringServiceConnectionMonitor.Tests.ps1 b/src/Peering/test/Initialize-AzPeeringServiceConnectionMonitor.Tests.ps1 new file mode 100644 index 000000000000..d3722f70004e --- /dev/null +++ b/src/Peering/test/Initialize-AzPeeringServiceConnectionMonitor.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Initialize-AzPeeringServiceConnectionMonitor')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Initialize-AzPeeringServiceConnectionMonitor.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Initialize-AzPeeringServiceConnectionMonitor' { + It 'Initialize' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'InitializeViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeering.Recording.json b/src/Peering/test/New-AzPeering.Recording.json new file mode 100644 index 000000000000..23fc5dbdd453 --- /dev/null +++ b/src/Peering/test/New-AzPeering.Recording.json @@ -0,0 +1,37 @@ +{ + "New-AzPeering+[NoContext]+CreateExpanded+$PUT+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestPeeringPs?api-version=2022-10-01+1": { + "Request": { + "Method": "PUT", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestPeeringPs?api-version=2022-10-01", + "Content": "{\n \"sku\": {\n \"name\": \"Premium_Direct_Unlimited\"\n },\n \"properties\": {\n \"direct\": {\n \"peerAsn\": {\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"\n },\n \"connections\": [\n {\n \"bgpSession\": {\n \"sessionPrefixV4\": \"12.90.152.60/30\",\n \"microsoftSessionIPv4Address\": \"12.90.152.62\",\n \"peerSessionIPv4Address\": \"12.90.152.61\",\n \"maxPrefixesAdvertisedV4\": 20000,\n \"maxPrefixesAdvertisedV6\": 0,\n \"md5AuthenticationKey\": \"\"\n },\n \"bandwidthInMbps\": 10000,\n \"sessionAddressProvider\": \"Peer\",\n \"peeringDBFacilityId\": 86,\n \"connectionIdentifier\": \"d1111111111111111111111111111111\"\n }\n ],\n \"directPeeringType\": \"Cdn\"\n },\n \"peeringLocation\": \"Seattle\"\n },\n \"kind\": \"Direct\",\n \"location\": \"West US 2\"\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "932" ] + } + }, + "Response": { + "StatusCode": 201, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "d3ddd2b1-bd1b-4be3-8aff-14b6a50cce85" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "99" ], + "x-ms-correlation-request-id": [ "8fbf0904-b6af-46a4-853e-bcacca2e3be8" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T014927Z:8fbf0904-b6af-46a4-853e-bcacca2e3be8" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:49:27 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "1575" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"sku\": {\r\n \"name\": \"Premium_Direct_Unlimited\",\r\n \"tier\": \"Premium\",\r\n \"family\": \"Direct\",\r\n \"size\": \"Unlimited\"\r\n },\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"connections\": [\r\n {\r\n \"billableBandwidthInMbps\": 0,\r\n \"bandwidthInMbps\": 10000,\r\n \"provisionedBandwidthInMbps\": 0,\r\n \"sessionAddressProvider\": \"Peer\",\r\n \"useForPeeringService\": false,\r\n \"peeringDBFacilityId\": 86,\r\n \"connectionState\": \"PendingApproval\",\r\n \"bgpSession\": {\r\n \"sessionPrefixV4\": \"12.90.152.60/30\",\r\n \"microsoftSessionIPv4Address\": \"12.90.152.62\",\r\n \"peerSessionIPv4Address\": \"12.90.152.61\",\r\n \"sessionStateV4\": \"None\",\r\n \"sessionStateV6\": \"None\",\r\n \"maxPrefixesAdvertisedV4\": 20000,\r\n \"maxPrefixesAdvertisedV6\": 0,\r\n \"md5AuthenticationKey\": \"\"\r\n },\r\n \"connectionIdentifier\": \"d1111111111111111111111111111111\"\r\n }\r\n ],\r\n \"useForPeeringService\": false,\r\n \"peerAsn\": {\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest\"\r\n },\r\n \"directPeeringType\": \"Cdn\"\r\n },\r\n \"peeringLocation\": \"Seattle\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"location\": \"West US 2\",\r\n \"name\": \"TestPeeringPs\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestPeeringPs\",\r\n \"type\": \"Microsoft.Peering/peerings\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/New-AzPeering.Tests.ps1 b/src/Peering/test/New-AzPeering.Tests.ps1 new file mode 100644 index 000000000000..9c4806314dd0 --- /dev/null +++ b/src/Peering/test/New-AzPeering.Tests.ps1 @@ -0,0 +1,26 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeering')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeering.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeering' { + It 'CreateExpanded' { + { + $peerAsnId = "/subscriptions/$($env.SubscriptionId)/providers/Microsoft.Peering/peerAsns/ContosoEdgeTest" + $directConnections = New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 12.90.152.62 -BgpSessionPeerSessionIPv4Address 12.90.152.61 -BgpSessionPrefixV4 12.90.152.60/30 -PeeringDbFacilityId 86 -SessionAddressProvider Peer -ConnectionIdentifier d1111111111111111111111111111111 + $peering = New-AzPeering -Name TestPeeringPs -ResourceGroupName DemoRG -Kind Direct -Location "West US 2" -DirectConnection $directConnections -DirectPeeringType Cdn -DirectPeerAsnId $peerAsnId -PeeringLocation Seattle -Sku Premium_Direct_Unlimited + $peering.Name | Should -Be "TestPeeringPs" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringAsn.Recording.json b/src/Peering/test/New-AzPeeringAsn.Recording.json new file mode 100644 index 000000000000..f378fe792353 --- /dev/null +++ b/src/Peering/test/New-AzPeeringAsn.Recording.json @@ -0,0 +1,37 @@ +{ + "New-AzPeeringAsn+[NoContext]+CreateExpanded+$PUT+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/PsTestAsn?api-version=2022-10-01+1": { + "Request": { + "Method": "PUT", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/PsTestAsn?api-version=2022-10-01", + "Content": "{\n \"properties\": {\n \"peerAsn\": 65001,\n \"peerContactDetail\": [\n {\n \"role\": \"Noc\",\n \"email\": \"abc@xyz.com\",\n \"phone\": \"1234567890\"\n }\n ],\n \"peerName\": \"DemoPeering\"\n }\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "212" ] + } + }, + "Response": { + "StatusCode": 201, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "3ba3f113-aa9a-4f3a-a5af-b5990093ac33" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "99" ], + "x-ms-correlation-request-id": [ "695093c7-60de-42ed-a54a-c5083eafaa8b" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T013747Z:695093c7-60de-42ed-a54a-c5083eafaa8b" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:37:47 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "435" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peerAsn\": 65001,\r\n \"peerContactDetail\": [\r\n {\r\n \"role\": \"Noc\",\r\n \"email\": \"abc@xyz.com\",\r\n \"phone\": \"1234567890\"\r\n }\r\n ],\r\n \"peerName\": \"DemoPeering\",\r\n \"validationState\": \"Pending\"\r\n },\r\n \"name\": \"PsTestAsn\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/PsTestAsn\",\r\n \"type\": \"Microsoft.Peering/peerAsns\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/New-AzPeeringAsn.Tests.ps1 b/src/Peering/test/New-AzPeeringAsn.Tests.ps1 new file mode 100644 index 000000000000..125e46e4fcec --- /dev/null +++ b/src/Peering/test/New-AzPeeringAsn.Tests.ps1 @@ -0,0 +1,26 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringAsn' { + It 'CreateExpanded' { + { + $contactDetail = New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" + $PeerContactList = ,$contactDetail + $newAsn = New-AzPeeringAsn -Name PsTestAsn -PeerAsn 65001 -PeerContactDetail $PeerContactList -PeerName DemoPeering + $newAsn.Name | Should -Be "PsTestAsn" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringCheckServiceProviderAvailabilityInputObject.Tests.ps1 b/src/Peering/test/New-AzPeeringCheckServiceProviderAvailabilityInputObject.Tests.ps1 new file mode 100644 index 000000000000..1a65d779b1c6 --- /dev/null +++ b/src/Peering/test/New-AzPeeringCheckServiceProviderAvailabilityInputObject.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringCheckServiceProviderAvailabilityInputObject')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringCheckServiceProviderAvailabilityInputObject.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringCheckServiceProviderAvailabilityInputObject' { + It '__AllParameterSets' { + { + $providerAvailability = New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ + $providerAvailability.PeeringServiceLocation | Should -Be "Osaka" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringConnectionMonitorTest.Tests.ps1 b/src/Peering/test/New-AzPeeringConnectionMonitorTest.Tests.ps1 new file mode 100644 index 000000000000..522a3e690674 --- /dev/null +++ b/src/Peering/test/New-AzPeeringConnectionMonitorTest.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringConnectionMonitorTest')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringConnectionMonitorTest.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringConnectionMonitorTest' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringContactDetailObject.Tests.ps1 b/src/Peering/test/New-AzPeeringContactDetailObject.Tests.ps1 new file mode 100644 index 000000000000..6b916bfebd8a --- /dev/null +++ b/src/Peering/test/New-AzPeeringContactDetailObject.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringContactDetailObject')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringContactDetailObject.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringContactDetailObject' { + It '__AllParameterSets' { + { + $contactDetail = New-AzPeeringContactDetailObject -Email "abc@xyz.com" -Phone 1234567890 -Role "Noc" + $contactDetail.Email | Should -Be "abc@xyz.com" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringDirectConnectionObject.Tests.ps1 b/src/Peering/test/New-AzPeeringDirectConnectionObject.Tests.ps1 new file mode 100644 index 000000000000..9f0b67a1ce65 --- /dev/null +++ b/src/Peering/test/New-AzPeeringDirectConnectionObject.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringDirectConnectionObject')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringDirectConnectionObject.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringDirectConnectionObject' { + It '__AllParameterSets' { + { + $connection = New-AzPeeringDirectConnectionObject -BandwidthInMbps 10000 -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 12.90.152.62 -BgpSessionPeerSessionIPv4Address 12.90.152.61 -BgpSessionPrefixV4 12.90.152.60/30 -PeeringDbFacilityId 86 -SessionAddressProvider Peer -ConnectionIdentifier d1111111111111111111111111111111 + $connection.ConnectionIdentifier | Should -Be "d1111111111111111111111111111111" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringExchangeConnectionObject.Tests.ps1 b/src/Peering/test/New-AzPeeringExchangeConnectionObject.Tests.ps1 new file mode 100644 index 000000000000..3ec99eb42623 --- /dev/null +++ b/src/Peering/test/New-AzPeeringExchangeConnectionObject.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringExchangeConnectionObject')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringExchangeConnectionObject.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringExchangeConnectionObject' { + It '__AllParameterSets' { + { + $exchangeConnection = New-AzPeeringExchangeConnectionObject -BgpSessionMaxPrefixesAdvertisedV4 20000 -BgpSessionMaxPrefixesAdvertisedV6 0 -BgpSessionMd5AuthenticationKey $md5Key -BgpSessionMicrosoftSessionIPv4Address 1.1.1.1 -BgpSessionPeerSessionIPv4Address 1.1.1.0 -BgpSessionPrefixV4 1.1.1.1/31 -PeeringDbFacilityId 82 -ConnectionIdentifier c111111111111 + $exchangeConnection.ConnectionIdentifier | Should -Be "c111111111111" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringRegisteredAsn.Recording.json b/src/Peering/test/New-AzPeeringRegisteredAsn.Recording.json new file mode 100644 index 000000000000..a9a750bd6080 --- /dev/null +++ b/src/Peering/test/New-AzPeeringRegisteredAsn.Recording.json @@ -0,0 +1,37 @@ +{ + "New-AzPeeringRegisteredAsn+[NoContext]+CreateExpanded+$PUT+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/TestAsn?api-version=2022-10-01+1": { + "Request": { + "Method": "PUT", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/TestAsn?api-version=2022-10-01", + "Content": "{\n \"properties\": {\n \"asn\": 65001\n }\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "42" ] + } + }, + "Response": { + "StatusCode": 201, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "8b1aeaa3-3b09-43d6-aec8-0f01766791cc" ], + "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], + "x-ms-correlation-request-id": [ "ea29bfdf-0fdb-436f-8575-f81209cf5107" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012526Z:ea29bfdf-0fdb-436f-8575-f81209cf5107" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:26 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "392" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"asn\": 65001,\r\n \"peeringServicePrefixKey\": \"9aa88d64-fd78-47b7-8f4a-854dbc76b8a5\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"TestAsn\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/TestAsn\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredAsns\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/New-AzPeeringRegisteredAsn.Tests.ps1 b/src/Peering/test/New-AzPeeringRegisteredAsn.Tests.ps1 new file mode 100644 index 000000000000..7fefd639ff0e --- /dev/null +++ b/src/Peering/test/New-AzPeeringRegisteredAsn.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringRegisteredAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringRegisteredAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringRegisteredAsn' { + It 'CreateExpanded' { + { + $newAsn = New-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo -Asn 65001 + $newAsn.Name | Should -Be "TestAsn" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringRegisteredPrefix.Tests.ps1 b/src/Peering/test/New-AzPeeringRegisteredPrefix.Tests.ps1 new file mode 100644 index 000000000000..126b441f2aff --- /dev/null +++ b/src/Peering/test/New-AzPeeringRegisteredPrefix.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringRegisteredPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringRegisteredPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringRegisteredPrefix' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringService.Recording.json b/src/Peering/test/New-AzPeeringService.Recording.json new file mode 100644 index 000000000000..f47fef5ff689 --- /dev/null +++ b/src/Peering/test/New-AzPeeringService.Recording.json @@ -0,0 +1,37 @@ +{ + "New-AzPeeringService+[NoContext]+CreateExpanded+$PUT+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPeeringService?api-version=2022-10-01+1": { + "Request": { + "Method": "PUT", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPeeringService?api-version=2022-10-01", + "Content": "{\n \"properties\": {\n \"peeringServiceLocation\": \"Georgia\",\n \"peeringServiceProvider\": \"MicrosoftEdge\",\n \"providerPrimaryPeeringLocation\": \"Atlanta\"\n },\n \"location\": \"East US 2\"\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "188" ] + } + }, + "Response": { + "StatusCode": 201, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "3d8aeaf1-5247-4554-b34e-2732edcf0f4f" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "99" ], + "x-ms-correlation-request-id": [ "6f7c9691-62a2-41f5-82c7-e68f4d7578ed" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012528Z:6f7c9691-62a2-41f5-82c7-e68f4d7578ed" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:27 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "464" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peeringServiceLocation\": \"Georgia\",\r\n \"peeringServiceProvider\": \"MicrosoftEdge\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"providerPrimaryPeeringLocation\": \"Atlanta\"\r\n },\r\n \"location\": \"East US 2\",\r\n \"name\": \"TestPeeringService\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPeeringService\",\r\n \"type\": \"Microsoft.Peering/peeringServices\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/New-AzPeeringService.Tests.ps1 b/src/Peering/test/New-AzPeeringService.Tests.ps1 new file mode 100644 index 000000000000..85268c72e5c2 --- /dev/null +++ b/src/Peering/test/New-AzPeeringService.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringService')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringService.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringService' { + It 'CreateExpanded' { + { + $peeringService = New-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG -Location "East US 2" -PeeringServiceLocation Georgia -PeeringServiceProvider MicrosoftEdge -ProviderPrimaryPeeringLocation Atlanta + $peeringService.Name | Should -Be "TestPeeringService" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/New-AzPeeringServicePrefix.Tests.ps1 b/src/Peering/test/New-AzPeeringServicePrefix.Tests.ps1 new file mode 100644 index 000000000000..191417b87c15 --- /dev/null +++ b/src/Peering/test/New-AzPeeringServicePrefix.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'New-AzPeeringServicePrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzPeeringServicePrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'New-AzPeeringServicePrefix' { + It 'CreateExpanded' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/README.md b/src/Peering/test/README.md new file mode 100644 index 000000000000..7c752b4c8c43 --- /dev/null +++ b/src/Peering/test/README.md @@ -0,0 +1,17 @@ +# Test +This directory contains the [Pester](https://www.powershellgallery.com/packages/Pester) tests to run for the module. We use Pester as it is the unofficial standard for PowerShell unit testing. Test stubs for custom cmdlets (created in `..\custom`) will be generated into this folder when `build-module.ps1` is ran. These test stubs will fail automatically, to indicate that tests should be written for custom cmdlets. + +## Info +- Modifiable: yes +- Generated: partial +- Committed: yes +- Packaged: no + +## Details +We allow three testing modes: *live*, *record*, and *playback*. These can be selected using the `-Live`, `-Record`, and `-Playback` switches respectively on the `test-module.ps1` script. This script will run through any `.Tests.ps1` scripts in the `test` folder. If you choose the *record* mode, it will create a `.Recording.json` file of the REST calls between the client and server. Then, when you choose *playback* mode, it will use the `.Recording.json` file to mock the communication between server and client. The *live* mode runs the same as the *record* mode; however, it doesn't create the `.Recording.json` file. + +## Purpose +Custom cmdlets generally encompass additional functionality not described in the REST specification, or combines functionality generated from the REST spec. To validate this functionality continues to operate as intended, creating tests that can be ran and re-ran against custom cmdlets is part of the framework. + +## Usage +To execute tests, run the `test-module.ps1`. To write tests, [this example](https://github.com/pester/Pester/blob/8b9cf4248315e44f1ac6673be149f7e0d7f10466/Examples/Planets/Get-Planet.Tests.ps1#L1) from the Pester repository is very useful for getting started. \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeering.Recording.json b/src/Peering/test/Remove-AzPeering.Recording.json new file mode 100644 index 000000000000..a8122edc7c73 --- /dev/null +++ b/src/Peering/test/Remove-AzPeering.Recording.json @@ -0,0 +1,41 @@ +{ + "Remove-AzPeering+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestPeeringPs?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/TestPeeringPs?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "95746a52-0c35-4b20-9ee3-cf7f930b578e" ], + "CommandName": [ "Remove-AzPeering" ], + "FullCommandName": [ "Remove-AzPeering_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "c8c9ebd8-b9d7-498b-8894-bcdc433161e2" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], + "x-ms-correlation-request-id": [ "445f1f06-65ab-4bed-98ad-ab6ba3024952" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T014944Z:445f1f06-65ab-4bed-98ad-ab6ba3024952" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:49:44 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ], + "Content-Length": [ "0" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeering.Tests.ps1 b/src/Peering/test/Remove-AzPeering.Tests.ps1 new file mode 100644 index 000000000000..b189ca8c4385 --- /dev/null +++ b/src/Peering/test/Remove-AzPeering.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeering')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeering.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeering' { + It 'Delete' { + { + Remove-AzPeering -Name TestPeeringPs -ResourceGroupName DemoRG + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringAsn.Recording.json b/src/Peering/test/Remove-AzPeeringAsn.Recording.json new file mode 100644 index 000000000000..0562472c4495 --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringAsn.Recording.json @@ -0,0 +1,41 @@ +{ + "Remove-AzPeeringAsn+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/PsTestAsn?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/PsTestAsn?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "5af600f3-2222-4d1f-ad4f-6ac74eb1ac63" ], + "CommandName": [ "Remove-AzPeeringAsn" ], + "FullCommandName": [ "Remove-AzPeeringAsn_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "da16be78-b2a1-407c-b581-1e3d7b91c442" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], + "x-ms-correlation-request-id": [ "7b3fe07d-c749-4016-9b3f-e10383da6112" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T013758Z:7b3fe07d-c749-4016-9b3f-e10383da6112" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:37:58 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ], + "Content-Length": [ "0" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeeringAsn.Tests.ps1 b/src/Peering/test/Remove-AzPeeringAsn.Tests.ps1 new file mode 100644 index 000000000000..c5b6e525932b --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringAsn.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringAsn' { + It 'Delete' { + { + Remove-AzPeeringAsn -Name PsTestAsn + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringConnectionMonitorTest.Tests.ps1 b/src/Peering/test/Remove-AzPeeringConnectionMonitorTest.Tests.ps1 new file mode 100644 index 000000000000..cb91828829ec --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringConnectionMonitorTest.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringConnectionMonitorTest')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringConnectionMonitorTest.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringConnectionMonitorTest' { + It 'Delete' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } + + It 'DeleteViaIdentity' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringRegisteredAsn.Recording.json b/src/Peering/test/Remove-AzPeeringRegisteredAsn.Recording.json new file mode 100644 index 000000000000..ca6ec1969e0b --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringRegisteredAsn.Recording.json @@ -0,0 +1,41 @@ +{ + "Remove-AzPeeringRegisteredAsn+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/TestAsn?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/MAPSDemo/providers/Microsoft.Peering/peerings/MapsIxRs/registeredAsns/TestAsn?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "29" ], + "x-ms-client-request-id": [ "83519f6d-20cd-4e0d-a0ae-3d91b480694f" ], + "CommandName": [ "Remove-AzPeeringRegisteredAsn" ], + "FullCommandName": [ "Remove-AzPeeringRegisteredAsn_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "4b7a704a-8a9a-45f1-91fa-4987ed5f283d" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14998" ], + "x-ms-correlation-request-id": [ "235b1ccc-b668-4da6-939f-650e7e143422" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012530Z:235b1ccc-b668-4da6-939f-650e7e143422" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:29 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ], + "Content-Length": [ "0" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeeringRegisteredAsn.Tests.ps1 b/src/Peering/test/Remove-AzPeeringRegisteredAsn.Tests.ps1 new file mode 100644 index 000000000000..4d1f9c8d0d11 --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringRegisteredAsn.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringRegisteredAsn')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringRegisteredAsn.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringRegisteredAsn' { + It 'Delete' { + { + Remove-AzPeeringRegisteredAsn -Name TestAsn -PeeringName MapsIxRs -ResourceGroupName MAPSDemo + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Recording.json b/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Recording.json new file mode 100644 index 000000000000..0000da229172 --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Recording.json @@ -0,0 +1,40 @@ +{ + "Remove-AzPeeringRegisteredPrefix+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting6?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting6?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "30" ], + "x-ms-client-request-id": [ "7d523f5e-7d57-4e6c-9a8e-736aab460064" ], + "CommandName": [ "Remove-AzPeeringRegisteredPrefix" ], + "FullCommandName": [ "Remove-AzPeeringRegisteredPrefix_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 204, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "9801a08b-fce8-4f74-8182-5ec9ff24718e" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14997" ], + "x-ms-correlation-request-id": [ "0b2cb703-98fd-43f9-a3f8-b59602012c4a" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T012530Z:0b2cb703-98fd-43f9-a3f8-b59602012c4a" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:25:30 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Tests.ps1 b/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Tests.ps1 new file mode 100644 index 000000000000..a5ca4404c6c4 --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringRegisteredPrefix.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringRegisteredPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringRegisteredPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringRegisteredPrefix' { + It 'Delete' { + { + Remove-AzPeeringRegisteredPrefix -Name accessibilityTesting6 -PeeringName DemoPeering -ResourceGroupName DemoRG + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringService.Recording.json b/src/Peering/test/Remove-AzPeeringService.Recording.json new file mode 100644 index 000000000000..5f4f0600f550 --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringService.Recording.json @@ -0,0 +1,41 @@ +{ + "Remove-AzPeeringService+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPeeringService?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPeeringService?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "20bf54b5-be9f-4e15-b977-bebaef6e9a26" ], + "CommandName": [ "Remove-AzPeeringService" ], + "FullCommandName": [ "Remove-AzPeeringService_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "a298c3ba-a11f-4a4b-a83f-1285baebeb8c" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], + "x-ms-correlation-request-id": [ "cd139c91-11e3-4278-93a1-133e884f0dcf" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T013042Z:cd139c91-11e3-4278-93a1-133e884f0dcf" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:30:41 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ], + "Content-Length": [ "0" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeeringService.Tests.ps1 b/src/Peering/test/Remove-AzPeeringService.Tests.ps1 new file mode 100644 index 000000000000..1716ce0c633a --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringService.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringService')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringService.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringService' { + It 'Delete' { + { + Remove-AzPeeringService -Name TestPeeringService -ResourceGroupName DemoRG + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Remove-AzPeeringServicePrefix.Recording.json b/src/Peering/test/Remove-AzPeeringServicePrefix.Recording.json new file mode 100644 index 000000000000..7f9509149bad --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringServicePrefix.Recording.json @@ -0,0 +1,40 @@ +{ + "Remove-AzPeeringServicePrefix+[NoContext]+Delete+$DELETE+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPrefixForAtlanta/prefixes/TestPrefix2?api-version=2022-10-01+1": { + "Request": { + "Method": "DELETE", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/TestPrefixForAtlanta/prefixes/TestPrefix2?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "b9a04c41-603b-4e9f-bbb4-f63eaf8ab585" ], + "CommandName": [ "Remove-AzPeeringServicePrefix" ], + "FullCommandName": [ "Remove-AzPeeringServicePrefix_Delete" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 204, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "95862dda-bd94-46ae-b53d-a1e081457291" ], + "x-ms-ratelimit-remaining-subscription-deletes": [ "14999" ], + "x-ms-correlation-request-id": [ "f1c38a13-b1d2-49af-b946-e3556c0abdc9" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T013244Z:f1c38a13-b1d2-49af-b946-e3556c0abdc9" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:32:44 GMT" ] + }, + "ContentHeaders": { + "Expires": [ "-1" ] + }, + "Content": null, + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Remove-AzPeeringServicePrefix.Tests.ps1 b/src/Peering/test/Remove-AzPeeringServicePrefix.Tests.ps1 new file mode 100644 index 000000000000..01f526b25d4a --- /dev/null +++ b/src/Peering/test/Remove-AzPeeringServicePrefix.Tests.ps1 @@ -0,0 +1,23 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Remove-AzPeeringServicePrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Remove-AzPeeringServicePrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Remove-AzPeeringServicePrefix' { + It 'Delete' { + { + Remove-AzPeeringServicePrefix -Name TestPrefix2 -PeeringServiceName TestPrefixForAtlanta -ResourceGroup DemoRG + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Recording.json b/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Recording.json new file mode 100644 index 000000000000..ed47cf8bc8a4 --- /dev/null +++ b/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Recording.json @@ -0,0 +1,42 @@ +{ + "Start-AzPeeringInvokeLookingGlass+[NoContext]+Invoke+$POST+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/lookingGlass?command=Ping\u0026sourceType=EdgeSite\u0026sourceLocation=Seattle\u0026destinationIP=1.1.1.1\u0026api-version=2022-10-01+1": { + "Request": { + "Method": "POST", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/lookingGlass?command=Ping\u0026sourceType=EdgeSite\u0026sourceLocation=Seattle\u0026destinationIP=1.1.1.1\u0026api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "1" ], + "x-ms-client-request-id": [ "faca17b1-fba6-4e23-9f80-9aae8cfdbf51" ], + "CommandName": [ "Start-AzPeeringInvokeLookingGlass" ], + "FullCommandName": [ "Start-AzPeeringInvokeLookingGlass_Invoke" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "787b7552-e343-4f81-a87b-956ac1ec8709" ], + "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], + "x-ms-correlation-request-id": [ "bfecfad5-b03e-4b39-8cf0-8cf53ad384bf" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T015706Z:bfecfad5-b03e-4b39-8cf0-8cf53ad384bf" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:57:06 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "415" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"command\": \"Ping\",\r\n \"output\": \"PING 1.1.1.1 (1.1.1.1): 56 data bytes\\r\\n64 bytes from 1.1.1.1: icmp_seq=0 ttl=60 time=7.298 ms\\r\\n64 bytes from 1.1.1.1: icmp_seq=1 ttl=60 time=7.355 ms\\r\\n64 bytes from 1.1.1.1: icmp_seq=2 ttl=60 time=9.880 ms\\r\\n\\r\\n--- 1.1.1.1 ping statistics ---\\r\\n3 packets transmitted, 3 packets received, 0% packet loss\\r\\nround-trip min/avg/max/stddev = 7.298/8.178/9.880/1.204 ms\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Tests.ps1 b/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Tests.ps1 new file mode 100644 index 000000000000..82667a3d5f41 --- /dev/null +++ b/src/Peering/test/Start-AzPeeringInvokeLookingGlass.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Start-AzPeeringInvokeLookingGlass')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Start-AzPeeringInvokeLookingGlass.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Start-AzPeeringInvokeLookingGlass' { + It 'Invoke' { + { + $command = Start-AzPeeringInvokeLookingGlass -Command Ping -DestinationIp 1.1.1.1 -SourceLocation Seattle -SourceType EdgeSite + $command.Command | Should -Be "Ping" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Test-AzPeeringRegisteredPrefix.Recording.json b/src/Peering/test/Test-AzPeeringRegisteredPrefix.Recording.json new file mode 100644 index 000000000000..50d7606344ef --- /dev/null +++ b/src/Peering/test/Test-AzPeeringRegisteredPrefix.Recording.json @@ -0,0 +1,42 @@ +{ + "Test-AzPeeringRegisteredPrefix+[NoContext]+Validate+$POST+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting2/validate?api-version=2022-10-01+1": { + "Request": { + "Method": "POST", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting2/validate?api-version=2022-10-01", + "Content": null, + "isContentBase64": false, + "Headers": { + "x-ms-unique-id": [ "2" ], + "x-ms-client-request-id": [ "aa270764-29ff-4d9d-8630-64e7aeb89a6b" ], + "CommandName": [ "Test-AzPeeringRegisteredPrefix" ], + "FullCommandName": [ "Test-AzPeeringRegisteredPrefix_Validate" ], + "ParameterSetName": [ "__AllParameterSets" ], + "User-Agent": [ "AzurePowershell/v0.0.0", "PSVersion/v7.1.3", "Az.Peering/0.1.0" ], + "Authorization": [ "[Filtered]" ] + }, + "ContentHeaders": { + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "238d7391-5835-4632-81d4-56dc15b7d99b" ], + "x-ms-ratelimit-remaining-subscription-writes": [ "1198" ], + "x-ms-correlation-request-id": [ "b9308f43-ab16-48da-9e71-b94896657799" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T015707Z:b9308f43-ab16-48da-9e71-b94896657799" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 01:57:07 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "528" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"prefix\": \"240.0.1.0/24\",\r\n \"prefixValidationState\": \"Pending\",\r\n \"peeringServicePrefixKey\": \"249aa0dd-6177-4105-94fe-dfefcbf5ab48\",\r\n \"errorMessage\": \"Internal server error\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"name\": \"accessibilityTesting2\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering/registeredPrefixes/accessibilityTesting2\",\r\n \"type\": \"Microsoft.Peering/peerings/registeredPrefixes\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Test-AzPeeringRegisteredPrefix.Tests.ps1 b/src/Peering/test/Test-AzPeeringRegisteredPrefix.Tests.ps1 new file mode 100644 index 000000000000..036d6a189878 --- /dev/null +++ b/src/Peering/test/Test-AzPeeringRegisteredPrefix.Tests.ps1 @@ -0,0 +1,24 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzPeeringRegisteredPrefix')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzPeeringRegisteredPrefix.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzPeeringRegisteredPrefix' { + It 'Validate' { + { + $test = Test-AzPeeringRegisteredPrefix -Name accessibilityTesting2 -PeeringName DemoPeering -ResourceGroupName DemoRG + $test.Name | Should -Be "accessibilityTesting2" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Recording.json b/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Recording.json new file mode 100644 index 000000000000..81a58445cdaf --- /dev/null +++ b/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Recording.json @@ -0,0 +1,37 @@ +{ + "Test-AzPeeringServiceProviderAvailability+[NoContext]+Check+$POST+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/checkServiceProviderAvailability?api-version=2022-10-01+1": { + "Request": { + "Method": "POST", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/checkServiceProviderAvailability?api-version=2022-10-01", + "Content": "{\n \"peeringServiceLocation\": \"Osaka\",\n \"peeringServiceProvider\": \"IIJ\"\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "74" ] + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "31bd50ed-0748-42ae-8ae4-80536d8e1c3a" ], + "x-ms-ratelimit-remaining-subscription-writes": [ "1199" ], + "x-ms-correlation-request-id": [ "5a9db759-edda-4940-aa21-4ec705d4c614" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T020038Z:5a9db759-edda-4940-aa21-4ec705d4c614" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 02:00:38 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "11" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "\"Available\"", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Tests.ps1 b/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Tests.ps1 new file mode 100644 index 000000000000..8cd9b8fd448f --- /dev/null +++ b/src/Peering/test/Test-AzPeeringServiceProviderAvailability.Tests.ps1 @@ -0,0 +1,26 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Test-AzPeeringServiceProviderAvailability')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Test-AzPeeringServiceProviderAvailability.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Test-AzPeeringServiceProviderAvailability' { + It 'Check' { + { + $providerAvailability = New-AzPeeringCheckServiceProviderAvailabilityInputObject -PeeringServiceLocation Osaka -PeeringServiceProvider IIJ + $available = Test-AzPeeringServiceProviderAvailability -CheckServiceProviderAvailabilityInput $providerAvailability + $available | Should -Be '"Available"' + } | Should -Not -Throw + } + +} diff --git a/src/Peering/test/Update-AzPeering.Recording.json b/src/Peering/test/Update-AzPeering.Recording.json new file mode 100644 index 000000000000..5a68f2e71a26 --- /dev/null +++ b/src/Peering/test/Update-AzPeering.Recording.json @@ -0,0 +1,37 @@ +{ + "Update-AzPeering+[NoContext]+UpdateExpanded+$PATCH+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering?api-version=2022-10-01+1": { + "Request": { + "Method": "PATCH", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering?api-version=2022-10-01", + "Content": "{\n \"tags\": {\n \"hello\": \"world\"\n }\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "40" ] + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "6f10dba0-a482-474d-ae9f-74c0b965cb2b" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "99" ], + "x-ms-correlation-request-id": [ "2176849c-db5d-47f7-afe5-f5f96bc9369d" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T021001Z:2176849c-db5d-47f7-afe5-f5f96bc9369d" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 02:10:01 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "2412" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"sku\": {\r\n \"name\": \"Premium_Direct_Free\",\r\n \"tier\": \"Premium\",\r\n \"family\": \"Direct\",\r\n \"size\": \"Free\"\r\n },\r\n \"kind\": \"Direct\",\r\n \"properties\": {\r\n \"direct\": {\r\n \"connections\": [\r\n {\r\n \"billableBandwidthInMbps\": 0,\r\n \"bandwidthInMbps\": 200000,\r\n \"provisionedBandwidthInMbps\": 200000,\r\n \"sessionAddressProvider\": \"Peer\",\r\n \"useForPeeringService\": true,\r\n \"peeringDBFacilityId\": 69,\r\n \"connectionState\": \"Active\",\r\n \"bgpSession\": {\r\n \"sessionPrefixV4\": \"12.90.152.68/30\",\r\n \"sessionPrefixV6\": \"\",\r\n \"microsoftSessionIPv4Address\": \"12.90.152.70\",\r\n \"peerSessionIPv4Address\": \"12.90.152.69\",\r\n \"sessionStateV4\": \"Established\",\r\n \"sessionStateV6\": \"None\",\r\n \"maxPrefixesAdvertisedV4\": 200000,\r\n \"maxPrefixesAdvertisedV6\": 0\r\n },\r\n \"connectionIdentifier\": \"815870d0-938d-4355-b6b9-dd007999b8f5\"\r\n },\r\n {\r\n \"billableBandwidthInMbps\": 0,\r\n \"bandwidthInMbps\": 200000,\r\n \"provisionedBandwidthInMbps\": 200000,\r\n \"sessionAddressProvider\": \"Peer\",\r\n \"useForPeeringService\": true,\r\n \"peeringDBFacilityId\": 69,\r\n \"connectionState\": \"Active\",\r\n \"bgpSession\": {\r\n \"sessionPrefixV4\": \"12.125.145.32/30\",\r\n \"sessionPrefixV6\": \"\",\r\n \"microsoftSessionIPv4Address\": \"12.125.145.34\",\r\n \"peerSessionIPv4Address\": \"12.125.145.33\",\r\n \"sessionStateV4\": \"Established\",\r\n \"sessionStateV6\": \"None\",\r\n \"maxPrefixesAdvertisedV4\": 200000,\r\n \"maxPrefixesAdvertisedV6\": 0\r\n },\r\n \"connectionIdentifier\": \"0720b596-dca1-4d58-8628-58191be00cc3\"\r\n }\r\n ],\r\n \"useForPeeringService\": true,\r\n \"peerAsn\": {\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/providers/Microsoft.Peering/peerAsns/AS7018\"\r\n },\r\n \"directPeeringType\": \"Edge\"\r\n },\r\n \"peeringLocation\": \"Dallas\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"hello\": \"world\"\r\n },\r\n \"name\": \"DemoPeering\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peerings/DemoPeering\",\r\n \"type\": \"Microsoft.Peering/peerings\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Update-AzPeering.Tests.ps1 b/src/Peering/test/Update-AzPeering.Tests.ps1 new file mode 100644 index 000000000000..96175889a5c1 --- /dev/null +++ b/src/Peering/test/Update-AzPeering.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzPeering')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzPeering.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzPeering' { + It 'UpdateExpanded' { + { + $tags=@{hello='world'} + $peering = Update-AzPeering -Name DemoPeering -ResourceGroupName DemoRG -Tag $tags + $peering.Name | Should -Be "DemoPeering" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/Update-AzPeeringService.Recording.json b/src/Peering/test/Update-AzPeeringService.Recording.json new file mode 100644 index 000000000000..2e2f0b7a2903 --- /dev/null +++ b/src/Peering/test/Update-AzPeeringService.Recording.json @@ -0,0 +1,37 @@ +{ + "Update-AzPeeringService+[NoContext]+UpdateExpanded+$PATCH+https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTestInterCloud?api-version=2022-10-01+1": { + "Request": { + "Method": "PATCH", + "RequestUri": "https://management.azure.com/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTestInterCloud?api-version=2022-10-01", + "Content": "{\n \"tags\": {\n \"hello\": \"world\"\n }\n}", + "isContentBase64": false, + "Headers": { + }, + "ContentHeaders": { + "Content-Type": [ "application/json" ], + "Content-Length": [ "40" ] + } + }, + "Response": { + "StatusCode": 200, + "Headers": { + "Cache-Control": [ "no-cache" ], + "Pragma": [ "no-cache" ], + "x-ms-request-id": [ "4418e086-7979-49b2-9972-6a9a882c6f12" ], + "x-ms-ratelimit-remaining-subscription-resource-requests": [ "99" ], + "x-ms-correlation-request-id": [ "9922e95d-6431-4c26-a77a-e83c95d6a857" ], + "x-ms-routing-request-id": [ "WESTUS:20230113T021003Z:9922e95d-6431-4c26-a77a-e83c95d6a857" ], + "Strict-Transport-Security": [ "max-age=31536000; includeSubDomains" ], + "X-Content-Type-Options": [ "nosniff" ], + "Date": [ "Fri, 13 Jan 2023 02:10:03 GMT" ] + }, + "ContentHeaders": { + "Content-Length": [ "453" ], + "Content-Type": [ "application/json; charset=utf-8" ], + "Expires": [ "-1" ] + }, + "Content": "{\r\n \"properties\": {\r\n \"peeringServiceLocation\": \"Ile-de-France\",\r\n \"peeringServiceProvider\": \"InterCloud\",\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"location\": \"UK South\",\r\n \"tags\": {\r\n \"hello\": \"world\"\r\n },\r\n \"name\": \"DRTestInterCloud\",\r\n \"id\": \"/subscriptions/e815e305-b43a-49c4-8b1a-4e61f1aec1e8/resourceGroups/DemoRG/providers/Microsoft.Peering/peeringServices/DRTestInterCloud\",\r\n \"type\": \"Microsoft.Peering/peeringServices\"\r\n}", + "isContentBase64": false + } + } +} \ No newline at end of file diff --git a/src/Peering/test/Update-AzPeeringService.Tests.ps1 b/src/Peering/test/Update-AzPeeringService.Tests.ps1 new file mode 100644 index 000000000000..1a62a8ce65a5 --- /dev/null +++ b/src/Peering/test/Update-AzPeeringService.Tests.ps1 @@ -0,0 +1,25 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Update-AzPeeringService')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Update-AzPeeringService.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Update-AzPeeringService' { + It 'UpdateExpanded' { + { + $tags=@{hello='world'} + $peeringService = Update-AzPeeringService -Name DRTestInterCloud -ResourceGroupName DemoRG -Tag $tags + $peeringService.Name | Should -Be "DRTestInterCloud" + } | Should -Not -Throw + } +} diff --git a/src/Peering/test/env.json b/src/Peering/test/env.json new file mode 100644 index 000000000000..d182e842c463 --- /dev/null +++ b/src/Peering/test/env.json @@ -0,0 +1,4 @@ +{ + "SubscriptionId": "e815e305-b43a-49c4-8b1a-4e61f1aec1e8", + "Tenant": "72f988bf-86f1-41af-91ab-2d7cd011db47" +} diff --git a/src/Peering/test/envDogfood.json b/src/Peering/test/envDogfood.json new file mode 100644 index 000000000000..6553a7c06fc4 --- /dev/null +++ b/src/Peering/test/envDogfood.json @@ -0,0 +1,4 @@ +{ + "SubscriptionId": "4445bf11-61c4-436f-a940-60194f8aca57", + "Tenant": "f686d426-8d16-42db-81b7-ab578e110ccd" +} diff --git a/src/Peering/test/loadEnv.ps1 b/src/Peering/test/loadEnv.ps1 new file mode 100644 index 000000000000..5f079e89615e --- /dev/null +++ b/src/Peering/test/loadEnv.ps1 @@ -0,0 +1,29 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +$envFile = 'env.json' +if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' +} + +if (Test-Path -Path (Join-Path $PSScriptRoot $envFile)) { + $envFilePath = Join-Path $PSScriptRoot $envFile +} else { + $envFilePath = Join-Path $PSScriptRoot '..\$envFile' +} +$env = @{} +if (Test-Path -Path $envFilePath) { + $env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json + $PSDefaultParameterValues=@{"*:SubscriptionId"=$env.SubscriptionId; "*:Tenant"=$env.Tenant} +} \ No newline at end of file diff --git a/src/Peering/test/loadEnvDogfood.ps1 b/src/Peering/test/loadEnvDogfood.ps1 new file mode 100644 index 000000000000..2c6682515800 --- /dev/null +++ b/src/Peering/test/loadEnvDogfood.ps1 @@ -0,0 +1,29 @@ +# ---------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code +# is regenerated. +# ---------------------------------------------------------------------------------- +$envFile = 'envDogfood.json' +if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' +} + +if (Test-Path -Path (Join-Path $PSScriptRoot $envFile)) { + $envFilePath = Join-Path $PSScriptRoot $envFile +} else { + $envFilePath = Join-Path $PSScriptRoot '..\$envFile' +} +$env = @{} +if (Test-Path -Path $envFilePath) { + $env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json + $PSDefaultParameterValues=@{"*:SubscriptionId"=$env.SubscriptionId; "*:Tenant"=$env.Tenant} +} \ No newline at end of file diff --git a/src/Peering/test/utils.ps1 b/src/Peering/test/utils.ps1 new file mode 100644 index 000000000000..1990edd45299 --- /dev/null +++ b/src/Peering/test/utils.ps1 @@ -0,0 +1,31 @@ +function RandomString([bool]$allChars, [int32]$len) { + if ($allChars) { + return -join ((33..126) | Get-Random -Count $len | % {[char]$_}) + } else { + return -join ((48..57) + (97..122) | Get-Random -Count $len | % {[char]$_}) + } +} +$env = @{} +if ($UsePreviousConfigForRecord) { + $previousEnv = Get-Content (Join-Path $PSScriptRoot 'env.json') | ConvertFrom-Json + $previousEnv.psobject.properties | Foreach-Object { $env[$_.Name] = $_.Value } +} +# Add script method called AddWithCache to $env, when useCache is set true, it will try to get the value from the $env first. +# example: $val = $env.AddWithCache('key', $val, $true) +$env | Add-Member -Type ScriptMethod -Value { param( [string]$key, [object]$val, [bool]$useCache) if ($this.Contains($key) -and $useCache) { return $this[$key] } else { $this[$key] = $val; return $val } } -Name 'AddWithCache' +function setupEnv() { + # Preload subscriptionId and tenant from context, which will be used in test + # as default. You could change them if needed. + $env.SubscriptionId = (Get-AzContext).Subscription.Id + $env.Tenant = (Get-AzContext).Tenant.Id + # For any resources you created for test, you should add it to $env here. + $envFile = 'env.json' + if ($TestMode -eq 'live') { + $envFile = 'localEnv.json' + } + set-content -Path (Join-Path $PSScriptRoot $envFile) -Value (ConvertTo-Json $env) +} +function cleanupEnv() { + # Clean resources you create for testing +} + diff --git a/src/Peering/utils/Unprotect-SecureString.ps1 b/src/Peering/utils/Unprotect-SecureString.ps1 new file mode 100644 index 000000000000..cb05b51a6220 --- /dev/null +++ b/src/Peering/utils/Unprotect-SecureString.ps1 @@ -0,0 +1,16 @@ +#This script converts securestring to plaintext + +param( + [Parameter(Mandatory, ValueFromPipeline)] + [System.Security.SecureString] + ${SecureString} +) + +$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString) +try { + $plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr) +} finally { + [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr) +} + +return $plaintext \ No newline at end of file