API - Connect to Oracle
Establish a direct, layer 2 connection to Oracle FastConnect to access Oracle Cloud Infrastructure and other Oracle Cloud services.
Set Up a Virtual Circuit
In Oracle Console, create a FastConnect virtual circuit. Take note of the OCID as it's necessary for creating a Fabric connection.
Refer to the Oracle Cloud documentation for instructions on how to sign up for Oracle FastConnect.
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. Either:
- Retrieve your Equinix Fabric ports information using the Get All Ports API request.
OR
- Determine your Network Edge device information. You need a provisioned Equinix Virtual Device/Redundant Devices/Cluster with a registered license. Check your available virtual devices and clusters by calling 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 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 profile you want to connect to.
-
Validate your Authorization Key. Use the Validate Connection Authorization Key API request to verify that your AOracle OCID can be used to create a connection to the selected service profile in the given metro.
Connecting to Oracle FastConnect from a DOT1Q Port
To create a connection from your DOT1Q port to Oracle FastConnect, 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": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"bandwidth": 1000,
"redundancy": {
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"metroCode": "SV"
},
"authenticationKey": "<auth_key>",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@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": "PROVISIONING",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"bandwidth": 1000,
"redundancy": {
"group": "m167f685-41b0-1b07-6de0-320a5c00abeu",
"priority": "PRIMARY"
},
"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": "SP",
"profile": {
"href": "https://api.equinix.com/fabric/v4/services/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5",
"type": "L2_PROFILE",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"href": "https://api.equinix.com/v4/metros/SV",
"metroCode": "SV",
"region": "AMER"
},
"authenticationKey": "<auth_key>",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PROVISIONING",
"providerStatus": "PROVISIONING"
},
"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.
Connecting to Oracle FastConnect from a QINQ Port
To create a connection from your QINQ port to Oracle FastConnect, send a POST
request to the /fabric/v4/connections
endpoint. Specify your connection's configuration details in the body of the 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"
},
"bandwidth": 1000,
"redundancy": {
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "QINQ",
"vlanCTag": 1001,
"vlanSTag": 1002
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
},
"location": {
"metroCode": "SV"
},
"authenticationKey": "<auth_key>",
"sellerRegion": "us-west-1"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@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.
Connecting to Oracle FastConnect from a Network Edge Device
To create a connection from your Network Edge device to Oracle FastConnect, 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": "vd2oracle-vvv-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"
},
"authenticationKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"sellerRegion": "us-ashburn-1"
}
},
"project": {
"projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.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:
{
"type": "EVPL_VC",
"href": "https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "vd2oracle-vvv-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": "Oracle Cloud Infrastructure FastConnect",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"sellerRegion": "us-ashburn-1",
"authenticationKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
Response payload includes configuration parameters defined in the request body. For a full list of possible parameters and their descriptions, see the API Reference.
Monitoring the Connection Status
Send a GET
request to the fabric/v4/connections/{connectionId}
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. |