Skip to content

Commit 8457e28

Browse files
authored
Merge pull request #103301 from cherylmc/spec
new
2 parents 0724600 + 1592fd5 commit 8457e28

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

articles/expressroute/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@
228228
href: ../azure-resource-manager/management/azure-subscription-service-limits.md?toc=%2fazure%2fexpressroute%2ftoc.json
229229
- name: ExpressRoute for Cloud Solution Providers (CSP)
230230
href: expressroute-for-cloud-solution-providers.md
231+
- name: CrossConnections API development for partners
232+
href: cross-connections-api-development.md
231233
- name: Videos
232234
href: https://azure.microsoft.com/documentation/videos/index/?services=expressroute
233235
items:
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: 'Azure ExpressRoute CrossConnnections API development and integration'
3+
description: This article provides a detailed overview for ExpressRoute partners about the expressRouteCrossConnections resource type.
4+
services: expressroute
5+
author: mialdrid
6+
7+
ms.service: expressroute
8+
ms.topic: conceptual
9+
ms.date: 02/06/2020
10+
ms.author: mialdrid
11+
12+
---
13+
14+
15+
# ExpressRoute CrossConnnections API development and integration
16+
17+
The ExpressRoute Partner Resource Manager API allows ExpressRoute partners to manage the layer-2 and layer-3 configuration of customer ExpressRoute circuits. The ExpressRoute Partner Resource Manager API introduces a new resource type, **expressRouteCrossConnections**. Partners use this resource to manage customer ExpressRoute circuits.
18+
19+
## Workflow
20+
21+
The expressRouteCrossConnections resource is a shadow resource to the ExpressRoute circuit. When an Azure customer creates an ExpressRoute circuit and selects a specific ExpressRoute partner, Microsoft creates an expressRouteCrossConnections resource in the partner's Azure ExpressRoute management subscription. In doing so, Microsoft defines a resource group to create the expressRouteCrossConnections resource in. The naming standard for the resource group is **CrossConnection-*PeeringLocation***; where PeeringLocation = the ExpressRoute Location. For example, if a customer creates an ExpressRoute circuit in Denver, the CrossConnection will be created in the partner's Azure subscription in the following resource group: **CrossConnnection-Denver**.
22+
23+
ExpressRoute partners manage layer-2 and layer-3 configuration by issuing REST operations against the expressRouteCrossConnections resource.
24+
25+
## Benefits
26+
27+
Benefits of moving to the expressRouteCrossConnections resource:
28+
29+
* Any future enhancements for ExpressRoute partners will be made available on the ExpressRouteCrossConnection resource.
30+
31+
* Partners can apply [Role-Based Access Control](https://docs.microsoft.com/azure/role-based-access-control/overview) to the expressRouteCrossConnection resource. These controls can define permissions for which users accounts can modify the expressRouteCrossConnection resource and add/update/delete peering configurations.
32+
33+
* The expressRouteCrossConnection resource exposes APIs that can be helpful in troubleshooting ExpressRoute connections. This includes ARP table, BGP Route Table Summary, and BGP Route Table details. This capability is not supported by classic deployment APIs.
34+
35+
* Partners can also look up the advertised communities on Microsoft peering by using the *RouteFilter* resource.
36+
37+
## API development and integration steps
38+
39+
To develop against the Partner API, ExpressRoute partners leverage a test customer and test partner setup. The test customer setup will be used to create ExpressRoute circuits in test peering locations that map to dummy devices and ports. The test partner setup is used to manage the ExpressRoute circuits created in the test peering location.
40+
41+
### 1. Enlist subscriptions
42+
43+
To request the test partner and test customer setup, enlist two Pay-As-You-Go Azure subscriptions to your ExpressRoute engineering contact:
44+
* **ExpressRoute_API_Dev_Provider_Sub:** This subscription will be used to manage ExpressRoute circuits created in test peering locations on dummy devices and ports.
45+
46+
* **ExpressRoute_API_Dev_Customer_Sub:** This subscription will be used to create ExpressRoute circuits in test peering locations that map to dummy devices and ports.
47+
48+
The test peering locations: dummy devices and ports are not exposed to production customers by default. In order to create ExpressRoute circuits that map to the test setup, a subscription feature flag needs to be enabled.
49+
50+
### 2. Register the Dev_Provider subscription to access the expressRouteCrossConnections API
51+
52+
In order to access the expressRouteCrossConnections API, the partner subscription needs to be enrolled in the **Microsoft.Network Resource Provider**. Follow the steps in the [Azure resource providers and types](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-providers-and-types#portal) article to complete the registration process.
53+
54+
### 3. Set up authentication for Azure Resource Manager REST API calls
55+
56+
Most Azure services require client code to authenticate with Resource Manager, using valid credentials, prior to calling service APIs. Authentication is coordinated between the various actors by Azure AD and provides the client with an access token as proof of authentication.
57+
58+
The authentication process involves two main steps:
59+
60+
1. [Register the client](https://docs.microsoft.com/rest/api/azure/#register-your-client-application-with-azure-ad).
61+
2. [Create the access request](https://docs.microsoft.com/rest/api/azure/#create-the-request).
62+
63+
### 4. Provide Network Contributor permission to the client application
64+
65+
Once authentication has been successfully configured, you need to grant Network Contributor access to your client application, under the Dev_Provider_Sub. To grant permission, sign in to the [Azure portal](https://ms.portal.azure.com/#home) and complete the following steps:
66+
67+
1. Navigate to Subscriptions and select the Dev_Provider_Sub
68+
2. Navigate to Access Control (IAM)
69+
3. Add Role Assignment
70+
4. Select the Network Contributor Role
71+
5. Assign Access to Azure AD User, Group, or Service Principal
72+
6. Select your client application
73+
7. Save changes
74+
75+
### 5. Develop
76+
77+
Develop against the [expressRouteCrossConnections API](https://docs.microsoft.com/rest/api/expressroute/expressroutecrossconnections).
78+
79+
## REST API
80+
81+
See [ExpressRoute CrossConnections REST API](https://docs.microsoft.com/rest/api/expressroute/expressroutecrossconnections) for REST API documentation.
82+
83+
## Next steps
84+
85+
For more information on all ExpressRoute REST APIs, see [ExpressRoute REST APIs](https://docs.microsoft.com/rest/api/expressroute/).

0 commit comments

Comments
 (0)