Connect Network Edge Device to Other Service Providers
Establish a direct, layer 2 connection to Cloud Service Providers from your Network Edge Device using the Fabric API.
Fabric API Prerequisites
-
Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for instructions on how to call OAuth API to validate and authenticate your credentials.
-
Determine Your A-side Information. Retrieve your Network Edge devices information using the Get Virtual Devices or Get Virtual Device {uuid}. You may choose any available interface on the device for your connection. However, Equinix will select an interface if you do not specify one.
-
Choose the Z-side metro location. Use the Get All Metros API request to find all metros where Equinix Fabric is available and determine destination location.
-
Identify the Cloud Service Provider's service profile. Use the Retrieve Service Profiles API request to search for a specific service profile or use the Get Service Profiles API request to list all available service profiles, and identify the Cloud Service Provider you want to connect to.
Connecting to a Service Provider
To connect your Network Edge device to a Service provider, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
POST /fabric/v4/connections | |
---|---|
Method | POST |
Endpoint | /fabric/v4/connections |
Headers | Authorization , Content-Type |
Path Parameters | Not applicable |
Query Parameters | Not applicable |
Body Parameters | type , name , order , bandwidth , aSide , zSide , notifications |
Sample cURL Request:
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"type": "EVPL_VC",
"name": "vd2other-sp-0412a",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "L2_PROFILE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"location": {
"metroCode": "DC"
}
}
},
"project": {
"projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
]
}'
Sample Response:
{
"type": "EVPL_VC",
"href": "https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "vd2other-sp-0425a",
"operation": {
"providerStatus": "PROVISIONING",
"equinixStatus": "PROVISIONING"
},
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1G"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
],
"changeLog": {
"createdBy": "fabricamcrh1",
"createdByFullName": "fabric amcrh1",
"createdByEmail": "x@gmail.com",
"createdDateTime": "2024-04-25T20:40:40.676Z",
"updatedBy": "fabricamcrh1",
"updatedByFullName": "fabric amcrh1",
"updatedByEmail": "x@gmail.com",
"updatedDateTime": "2024-04-25T20:40:40.677Z"
},
"bandwidth": 1000,
"redundancy": {
"group": "43009a55-87ee-4dff-8ae4-70ccb7c3d4e9",
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"interface": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"id": 5,
"type": "CLOUD"
},
"location": {
"metroCode": "DC"
},
"virtualDevice": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "DC"
},
"profile": {
"href": "https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8",
"type": "L2_PROFILE",
"name": "Other Service Provider",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
}
Monitoring the Connection Status
Use the Get Specified Connection endpoint to monitor connection status.
equinixStatus parameter values | providerStatus attribute values | Description |
---|---|---|
PROVISIONING | PROVISIONING | Connection request has not been sent to Oracle yet. |
PROVISIONED | PROVISIONING | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Connection established. |