Skip to content

Commit 76a7259

Browse files
authored
Merge pull request #183811 from mialdrid/patch-133
Management Connectivity Workflow
2 parents 37ea3a3 + 03414ff commit 76a7259

File tree

1 file changed

+306
-1
lines changed

1 file changed

+306
-1
lines changed

articles/expressroute/cross-connections-api-development.md

Lines changed: 306 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,315 @@ Once authentication has been successfully configured, you need to grant Network
7676

7777
Develop against the [expressRouteCrossConnections API](/rest/api/expressroute/expressroutecrossconnections).
7878

79+
#### Connectivity Management Workflow
80+
Once you receive the ExpressRoute service key from the target customer, follow the below workflow and sample API operations to configure ExpressRoute connectivity:
81+
1. **List expressRouteCrossConnection:** In order to manage ExpressRoute connectivity, you need to identify the *Name* and *ResourceGroup* of the target expressRouteCrossConnection resource, in order to form the GET API call. the *Name* of the expressRouteCrossConnection is the target service key of the customer's ExpressRoute circuit. In order to find the *ResourceGroupName*, you need to LIST all expressRouteCrossConnections in the provider subscription and search the results for the target service key. From here, you can record the *ResourceGroupName*
82+
83+
```GET /subscriptions/<ProviderManagementSubscription>/providers/Microsoft.Network/expressRouteCrossConnections?api-version=2018-02-01 HTTP/1.1
84+
Host: management.azure.com
85+
Authorization: Bearer eyJ0eXAiOiJKV...
86+
User-Agent: ARMClient/1.2.0.0
87+
Accept: application/json
88+
x-ms-request-id: f484de7d-6c19-412f-a5eb-e5c9dd247d3c
89+
90+
91+
---------- Response (601 ms) ------------
92+
93+
HTTP/1.1 200 OK
94+
Pragma: no-cache
95+
x-ms-request-id: 620ec7bf-4fd1-446f-96e9-97fbae16722f
96+
Strict-Transport-Security: max-age=31536000; includeSubDomains
97+
Cache-Control: no-cache
98+
Server: Microsoft-HTTPAPI/2.0; Microsoft-HTTPAPI/2.0
99+
x-ms-ratelimit-remaining-subscription-reads: 14999
100+
x-ms-correlation-request-id: 6e484d0b-2f2e-4cef-9e18-87a9b7441bc4
101+
x-ms-routing-request-id: WESTUS:20180501T192531Z:6e484d0b-2f2e-4cef-9e18-87a9b7441bc4
102+
X-Content-Type-Options: nosniff
103+
Date: Tue, 01 May 2018 19:25:31 GMT
104+
105+
{
106+
"value": [
107+
{
108+
"name": "24e6ea2b-6940-4bec-b0b3-3a9e5471e512",
109+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/24e6ea2b-6940-4bec-b0b3-3a9e5471e512",
110+
"etag": "W/\"19fa7ada-5189-4817-a9d6-499b02e379cc\"",
111+
"type": "Microsoft.Network/expressRouteCrossConnections",
112+
"location": "eastus2euap",
113+
"properties": {
114+
"provisioningState": "Succeeded",
115+
"expressRouteCircuit": {
116+
"id": "/subscriptions/<TargetCustomerSubscription>/resourceGroups/Karthikcrossconnectiontest/providers/Microsoft.Network/expressRouteCircuits/TestCircuit2"
117+
},
118+
"peeringLocation": "EUAP Test",
119+
"bandwidthInMbps": 200,
120+
"serviceProviderProvisioningState": "Provisioned",
121+
"peerings": []
122+
}
123+
},
124+
{
125+
"name": "9ee700ad-50b2-4b98-a63a-4e52f855ac24",
126+
"id": "/subscriptions/8030cec9-2c0c-4361-9949-1655c6e4b0fa/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/<ProviderManagementSubscription>",
127+
"etag": "W/\"f07a267f-4a5c-4538-83e5-de1fcb183801\"",
128+
"type": "Microsoft.Network/expressRouteCrossConnections",
129+
"location": "eastus2euap",
130+
"properties": {
131+
"provisioningState": "Succeeded",
132+
"expressRouteCircuit": {
133+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/Karthikcrossconnectiontest/providers/Microsoft.Network/expressRouteCircuits/TestCircuitXYZ"
134+
},
135+
"peeringLocation": "EUAP Test",
136+
"bandwidthInMbps": 200,
137+
"serviceProviderProvisioningState": "NotProvisioned",
138+
"peerings": []
139+
}
140+
}
141+
]
142+
}
143+
```
144+
145+
2. **GET expressRouteCrossConnection:** Once you have identified both the *Name* and *ResourceGroupName* of the target expressRouteCrossConnection resource, you need to perform the GET expressRouteCrossConnection API call.
146+
147+
```GET /subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24?api-version=2018-02-01 HTTP/1.1
148+
Host: management.azure.com
149+
Authorization: Bearer eyJ0eXAiOiJKV...
150+
User-Agent: ARMClient/1.2.0.0
151+
Accept: application/json
152+
x-ms-request-id: d17924c4-f977-4c82-b933-d66c5fa334dd
153+
154+
155+
---------- Response (3317 ms) ------------
156+
157+
HTTP/1.1 200 OK
158+
Pragma: no-cache
159+
x-ms-request-id: 41621c90-2e59-4220-9a32-3b29b1198bf5
160+
Strict-Transport-Security: max-age=31536000; includeSubDomains
161+
Cache-Control: no-cache
162+
Server: Microsoft-HTTPAPI/2.0; Microsoft-HTTPAPI/2.0
163+
x-ms-ratelimit-remaining-subscription-reads: 14999
164+
x-ms-correlation-request-id: 85e08ce4-5a8f-4fe4-a434-e3fddef250d4
165+
x-ms-routing-request-id: WESTUS:20180501T193230Z:85e08ce4-5a8f-4fe4-a434-e3fddef250d4
166+
X-Content-Type-Options: nosniff
167+
Date: Tue, 01 May 2018 19:32:29 GMT
168+
169+
{
170+
"name": "9ee700ad-50b2-4b98-a63a-4e52f855ac24",
171+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24",
172+
"etag": "W/\"f07a267f-4a5c-4538-83e5-de1fcb183801\"",
173+
"type": "Microsoft.Network/expressRouteCrossConnections",
174+
"location": "eastus2euap",
175+
"properties": {
176+
"provisioningState": "Succeeded",
177+
"expressRouteCircuit": {
178+
"id": "/subscriptions/<TargetCustomerSubscription>/resourceGroups/Karthikcrossconnectiontest/providers/Microsoft.Network/expressRouteCircuits/TestCircuitXYZ"
179+
},
180+
"peeringLocation": "EUAP Test",
181+
"bandwidthInMbps": 200,
182+
"serviceProviderProvisioningState": "NotProvisioned",
183+
"primaryAzurePort": "EUAP-ARMTEST-06GMR-CIS-1-PRI-A",
184+
"secondaryAzurePort": "EUAP-ARMTEST-06GMR-CIS-2-SEC-A",
185+
"sTag": 3,
186+
"peerings": []
187+
}
188+
}
189+
```
190+
3. **PUT expressRouteCrossConnection:** Once you provision layer-2 connectivity, update the *ServiceProviderProvisioningState* to **Provisioned**. At this point, the customer can configure Microsoft or Private Peering and create a connection from the ExpressRoute circuit to a virtual network gateway deployed in the customer's subscription.
191+
192+
```PUT /subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24?api-version=2018-02-01 HTTP/1.1
193+
Host: management.azure.com
194+
Authorization: Bearer eyJ0eXAiOiJKV...
195+
User-Agent: ARMClient/1.2.0.0
196+
Accept: application/json
197+
x-ms-request-id: d867c3c9-2acf-4c54-a0f0-d7ca50fc7b9b
198+
199+
{
200+
"properties": {
201+
"serviceProviderProvisioningState": "Provisioned",
202+
"peeringLocation": "EUAP Test",
203+
"expressRouteCircuit": {
204+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/Karthikcrossconnectiontest/providers/Microsoft.Network/expressRouteCircuits/TestCircuitXYZ"
205+
},
206+
"bandwidthInMbps": 200
207+
},
208+
"location": "East US 2 EUAP"
209+
}
210+
---------- Response (1740 ms) ------------
211+
212+
HTTP/1.1 200 OK
213+
Pragma: no-cache
214+
Retry-After: 10
215+
x-ms-request-id: 0a8d458b-8fe3-44e6-89c9-1b156b946693
216+
Azure-AsyncOperation: https://management.azure.com/subscriptions/8030cec9-2c0c-4361-9949-1655c6e4b0fa/providers/Microsoft.Network/locations/eastus2euap/operations/0a8d458b-8fe3-44e6-89c9-1b156b946693?api-version=2018-02-01
217+
Strict-Transport-Security: max-age=31536000; includeSubDomains
218+
Cache-Control: no-cache
219+
Server: Microsoft-HTTPAPI/2.0; Microsoft-HTTPAPI/2.0
220+
x-ms-ratelimit-remaining-subscription-writes: 1199
221+
x-ms-correlation-request-id: d2d38c28-0dbe-4b40-8824-c74968c46b50
222+
x-ms-routing-request-id: WESTUS:20180501T222105Z:d2d38c28-0dbe-4b40-8824-c74968c46b50
223+
X-Content-Type-Options: nosniff
224+
Date: Tue, 01 May 2018 22:21:04 GMT
225+
226+
{
227+
"name": "9ee700ad-50b2-4b98-a63a-4e52f855ac24",
228+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24",
229+
"etag": "W/\"ecdcb1a4-873b-4dad-ae56-a4b17795a84a\"",
230+
"type": "Microsoft.Network/expressRouteCrossConnections",
231+
"location": "eastus2euap",
232+
"properties": {
233+
"provisioningState": "Updating",
234+
"expressRouteCircuit": {
235+
"id": "/subscriptions/<TargetCustomerSubscription>/resourceGroups/Karthikcrossconnectiontest/providers/Microsoft.Network/expressRouteCircuits/TestCircuitXYZ"
236+
},
237+
"peeringLocation": "EUAP Test",
238+
"bandwidthInMbps": 200,
239+
"serviceProviderProvisioningState": "Provisioned",
240+
"primaryAzurePort": "",
241+
"secondaryAzurePort": "",
242+
"sTag": 0,
243+
"peerings": []
244+
}
245+
}
246+
247+
C:\Users\kaanan\Documents\Expressroute\Partner APIs\ARMClient-master\ARMClient-master>armclient get https://management.azure.com/subscriptions/<ProviderManagementSubscription>/providers/Microsoft.Network/locations/eastus2euap/operations/0a8d458b-8fe3-44e6-89c9-1b156b946693?api-version=2018-02-01
248+
{
249+
"status": "Succeeded"
250+
}
251+
```
252+
253+
4. **(Optional) PUT expressRouteCrossConnection to configure Private Peering** If you manage layer-3 BGP connectivity, you can enable Private Peering
254+
255+
```PUT /subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24/peerings/AzurePrivatePeering?api-version=2018-02-01 HTTP/1.1
256+
Host: management.azure.com
257+
Authorization: Bearer eyJ0eXAiOiJKV...
258+
User-Agent: ARMClient/1.2.0.0
259+
Accept: application/json
260+
x-ms-request-id: 9c1413a5-6d27-4e87-b075-1fedb15d63a3
261+
262+
{
263+
"properties": {
264+
"peeringType": "AzurePrivatePeering",
265+
"peerASN": 500,
266+
"primaryPeerAddressPrefix": "10.0.0.0/30",
267+
"secondaryPeerAddressPrefix": "10.0.0.4/30",
268+
"sharedKey": "A1B2C3D4",
269+
"vlanId": 200
270+
},
271+
"name": "AzurePrivatePeering"
272+
}
273+
---------- Response (2354 ms) ------------
274+
275+
HTTP/1.1 201 Created
276+
Pragma: no-cache
277+
Retry-After: 10
278+
x-ms-request-id: 344eccc8-2958-4958-aa6f-3958f3fd5648
279+
Azure-AsyncOperation: https://management.azure.com/subscriptions/<ProviderManagementSubscription>/providers/Microsoft.Network/locations/eastus2euap/operations/344eccc8-2958-4958-aa6f-3958f3fd5648?api-version=2018-02-01
280+
Strict-Transport-Security: max-age=31536000; includeSubDomains
281+
Cache-Control: no-cache
282+
Server: Microsoft-HTTPAPI/2.0; Microsoft-HTTPAPI/2.0
283+
x-ms-ratelimit-remaining-subscription-writes: 1199
284+
x-ms-correlation-request-id: b5d08e36-339c-423a-ac2c-b6ec2063c8a6
285+
x-ms-routing-request-id: WESTUS:20180501T194026Z:b5d08e36-339c-423a-ac2c-b6ec2063c8a6
286+
X-Content-Type-Options: nosniff
287+
Date: Tue, 01 May 2018 19:40:26 GMT
288+
289+
{
290+
"name": "AzurePrivatePeering",
291+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24/peerings/AzurePrivatePeering",
292+
"properties": {
293+
"provisioningState": "Updating",
294+
"peeringType": "AzurePrivatePeering",
295+
"azureASN": 0,
296+
"peerASN": 500,
297+
"primaryPeerAddressPrefix": "10.0.0.0/30",
298+
"secondaryPeerAddressPrefix": "10.0.0.4/30",
299+
"sharedKey": "A1B2C3D4",
300+
"state": "Disabled",
301+
"vlanId": 200,
302+
"lastModifiedBy": ""
303+
}
304+
}
305+
306+
C:\Users\kaanan\Documents\Expressroute\Partner APIs\ARMClient-master\ARMClient-master>armclient get https://management.azure.com/subscriptions/<ProviderManagementSubscription>/providers/Microsoft.Network/locations/eastus2euap/operations/344eccc8-2958-4958-aa6f-3958f3fd5648?api-version=2018-02-01
307+
{
308+
"status": "Succeeded"
309+
}
310+
```
311+
312+
5. **(Optional) PUT expressRouteCrossConnection to configure Microsoft Peering** If you manage layer-3 BGP connectivity, you can enable Microsoft Peering
313+
314+
```PUT /subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24/peerings/MicrosoftPeering?api-version=2018-02-01 HTTP/1.1
315+
Host: management.azure.com
316+
Authorization: Bearer eyJ0eXAiOiJKV...
317+
User-Agent: ARMClient/1.2.0.0
318+
Accept: application/json
319+
x-ms-request-id: af4527eb-7b68-4a50-b953-c0606524d8f3
320+
321+
{
322+
"properties": {
323+
"peeringType": "MicrosoftPeering",
324+
"peerASN": 900,
325+
"primaryPeerAddressPrefix": "123.0.0.0/30",
326+
"secondaryPeerAddressPrefix": "123.0.0.4/30",
327+
"vlanId": 300,
328+
"microsoftPeeringConfig": {
329+
"advertisedPublicPrefixes": [
330+
"123.1.0.0/24"
331+
],
332+
"customerASN": 45,
333+
"routingRegistryName": "ARIN"
334+
}
335+
},
336+
"name": "MicrosoftPeering"
337+
}
338+
---------- Response (2530 ms) ------------
339+
340+
HTTP/1.1 201 Created
341+
Pragma: no-cache
342+
Retry-After: 10
343+
x-ms-request-id: e3aa0bbd-4709-4092-a1f1-aa78080929d0
344+
Azure-AsyncOperation: https://management.azure.com/subscriptions/8030cec9-2c0c-4361-9949-1655c6e4b0fa/providers/Microsoft.Network/locations/eastus2euap/operations/e3aa0bbd-4709-4092-a1f1-aa78080929d0?api-version=2018-02-01
345+
Strict-Transport-Security: max-age=31536000; includeSubDomains
346+
Cache-Control: no-cache
347+
Server: Microsoft-HTTPAPI/2.0; Microsoft-HTTPAPI/2.0
348+
x-ms-ratelimit-remaining-subscription-writes: 1199
349+
x-ms-correlation-request-id: 8e26bc5d-f1cd-4305-a373-860aaf7bb694
350+
x-ms-routing-request-id: WESTUS:20180501T213857Z:8e26bc5d-f1cd-4305-a373-860aaf7bb694
351+
X-Content-Type-Options: nosniff
352+
Date: Tue, 01 May 2018 21:38:56 GMT
353+
354+
{
355+
"name": "MicrosoftPeering",
356+
"id": "/subscriptions/<ProviderManagementSubscription>/resourceGroups/CrossConnection-EUAPTest/providers/Microsoft.Network/expressRouteCrossConnections/9ee700ad-50b2-4b98-a63a-4e52f855ac24/peerings/MicrosoftPeering",
357+
"properties": {
358+
"provisioningState": "Updating",
359+
"peeringType": "MicrosoftPeering",
360+
"azureASN": 0,
361+
"peerASN": 900,
362+
"primaryPeerAddressPrefix": "123.0.0.0/30",
363+
"secondaryPeerAddressPrefix": "123.0.0.4/30",
364+
"state": "Disabled",
365+
"vlanId": 300,
366+
"lastModifiedBy": "",
367+
"microsoftPeeringConfig": {
368+
"advertisedPublicPrefixes": [
369+
"123.1.0.0/24"
370+
],
371+
"advertisedPublicPrefixesState": "NotConfigured",
372+
"customerASN": 45,
373+
"legacyMode": 0,
374+
"routingRegistryName": "ARIN"
375+
}
376+
}
377+
}
378+
379+
C:\Users\kaanan\Documents\Expressroute\Partner APIs\ARMClient-master\ARMClient-master>armclient get https://management.azure.com/subscriptions/<ProviderManagementSubscription>/providers/Microsoft.Network/locations/eastus2euap/operations/e3aa0bbd-4709-4092-a1f1-aa78080929d0?api-version=2018-02-01
380+
{
381+
"status": "Succeeded"
382+
}
383+
```
79384
## REST API
80385

81386
See [ExpressRoute CrossConnections REST API](/rest/api/expressroute/expressroutecrossconnections) for REST API documentation.
82387

83388
## Next steps
84389

85-
For more information on all ExpressRoute REST APIs, see [ExpressRoute REST APIs](/rest/api/expressroute/).
390+
For more information on all ExpressRoute REST APIs, see [ExpressRoute REST APIs](/rest/api/expressroute/).

0 commit comments

Comments
 (0)