Connect Ports in Different Locations
Establish a direct, low-latency connection between your IT assets deployed in different IBX data centers.
Prerequisites
-
Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for instructions on how to call the OAuth API to validate and authenticate your credentials.
-
Get your relevant port information for the a-side and z-side ports using the Get All Ports endpoint.
Creating a Non-redundant Connection between two DOT1Q Ports
To create a non-redundant connection between two DOT1Q Ports, 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 , project , 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": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"geoScope": "CONUS",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'
Creating a Non-redundant Connection from a DOT1Q Port to a QINQ Port
To create a non-redundant connection from a DOT1Q port to a QINQ port, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
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": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"geoScope": "CONUS",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"linkProtocol": {
"type": "QINQ",
"vlanSTag": 2001,
"vlanCTag": 2002,
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"type": "EVPL_VC",
"uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"name": "Conn-1",
"state": "PENDING_AUTO_APPROVAL",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"bandwidth": 1000,
"aSide": {
"accessPoint" {
"type": "COLO",
"port": {
"href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",
"type": "XF_PORT",
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "COLO",
"port": {
"href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",
"type": "XF_PORT",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"linkProtocol": {
"type": "QINQ",
"vlanSTag": 2001,
"vlanCTag": 2002,
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PROVISIONING",
"providerStatus": "NOT_AVAILABLE"
},
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z"
}
}
Response payload includes configuration parameters defined in the request body. For a full list of possible parameters and their descriptions, see the API Reference.
Creating a Non-redundant Connection from a QINQ Port to a DOT1Q Port
To create a non-redundant connection from a QINQ port to a DOT1Q port, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
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": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"geoScope": "CONUS",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "QINQ",
"vlanSTag": 1001,
"vlanCTag": 1002
}
}
},
"zSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Creating a Non-redundant Connection between two QINQ Ports
To create a non-redundant connection between two QINQ Ports, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the request.
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": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"geoScope": "CONUS",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "QINQ",
"vlanSTag": 1001,
"vlanCTag": 1002
}
}
},
"zSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"linkProtocol": {
"type": "QINQ",
"vlanSTag": 2001,
"vlanCTag": 2002,
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
]
}'
The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the API Reference.
Monitoring the Connection
Use the Get Specified Connection endpoint to monitor connection status.
equinixStatus parameter values | providerStatus attribute values | Description |
---|---|---|
PENDING_AUTO_APPROVAL | NOT_AVAILABLE | Connection request has been sent for auto approval. As the connection is within the same organization (i.e. A-side and Z-side) the connection would fall under auto approval. |
PROVISIONING | NOT_AVAILABLE | Connection establishment in progress. |
PROVISIONED | AVAILABLE | Connection established. |