Connect Network Edge Device to IBM Cloud Direct Link 2.0
Establish a connection with IBM Cloud™ Direct Link 2.0 to connect your
Network Edge Device to your IBM Cloud resources.
Step 1: Identify Your IBM Account ID
Log in to the IBM Cloud console and select Manage > Account to locate your IBM Account ID.
Step 2: Create Connection
1. Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generating Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.
If you are unaware of your user credentials for Equinix Fabric, contact your local Equinix Service Desk.
2. Determine A-side NE device information
You need a provisioned Equinix Virtual Device/Redundant
Devices/Cluster with a registered license. Check your available
virtual devices by calling
Get Virtual Devices
or
Get Virtual Device {uuid}. You may choose any available interface of the device for your
connection. However, Equinix will select an interface if you do not
specify any.
3. Choose Z-side metro location
Call
Get All Metros
API to find all metros where Equinix Fabric is available and determine
destination location.
4. Identify service profile
Call
Retrieve Service Profiles
API to search for a specific service profile or call
Get Service Profiles
API to list all available service profiles, and identify the profile
you want to connect to.
5. Establish connection
Call POST /fabric/v4/connections API to create a connection.
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, redundancy, aSide, zSide, additionalInfo, notifications |
Use the Retrieve Pricing API request to retrieve connection price estimate.
Sample curl request - connection to IBM Cloud Direct Link 2.0 from a Network Edge Device
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '
{
"type": "EVPL_VC",
"name": "port2ibm2-vvv-0425f",
"bandwidth": "50",
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "L2_PROFILE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"location": {
"metroCode": "SV"
},
"authenticationKey": "XXXXXXXXXX",
"sellerRegion": "San Jose 2"
}
},
"additionalInfo": [
{
"key": "ASN",
"value": 12345
},
{
"key": "BGP_CER_CIDR",
"value": "172.16.0.17/30"
},
{
"key": "BGP_IBM_CIDR",
"value": "172.16.0.18/30"
},
{
"key": "Global",
"value": false
}
],
"project": {
"projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
]
}
'
Body parameters
Parameter
|
Description |
---|---|
type
string REQUIRED |
Connection type.
|
name
string REQUIRED |
Connection name. Applicable values:
|
order
object OPTIONAL |
Order details. |
purchaseOrderNumber
string OPTIONAL |
Subscriber's purchase order identifier. Example: 1-129105284100 |
bandwidth
integer REQUIRED |
Connection speed in Mbps. Applicable values:
|
project
object CONDITIONAL |
Project details. Required for CRH-enabled users. |
projectId
string CONDITIONAL |
Unique Id of the project. Required for CRH-enabled users. Example: 16799d66-ef43-445c-ba29-d17522XXXXXX |
aSide
object REQUIRED |
Source definition. |
accessPoint
object REQUIRED |
Connection endpoint configuration from the A-Side. |
type
string REQUIRED |
Connection endpoint type.
|
virtualDevice
object REQUIRED |
Object containing the virtual device details. |
type
string REQUIRED |
Type of virtual device.
|
uuid
string REQUIRED |
Unique Id of virtual device. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
interface
object OPTIONAL |
Object containing the interface details of the virtual device. |
type
string OPTIONAL |
Type of interface.
|
id
string OPTIONAL |
Id of interface. You can choose any available interface on your
device for your connection. However, Equinix will select an
interface if you do not specify any. Example: 7 |
zSide
object REQUIRED |
Z-Side details. |
accessPoint
object REQUIRED |
Connection endpoint configuration. |
type
string REQUIRED |
Connection endpoint type.
|
profile
object REQUIRED |
A named provider service and its network connectivity
requirements. Applicable to SP type access
points.Call Retrieve Service Profiles API to search for service profiles and determine their identifiers and available locations. |
uuid
string REQUIRED |
Service profile identifier. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
type
string OPTIONAL |
Service profile type. Example:
|
location
object REQUIRED |
Connection endpoint location information. Applicable to SP type access points.
|
metroCode
string REQUIRED |
Metropolitan area identifier. Call Get Specified Service Profile API to determine where a given service is available. |
sellerRegion
string REQUIRED |
Seller region. Example: us-west1 |
authenticationKey
string REQUIRED |
IBM Accound ID. Example: XXXXXXXXXXXXXXX |
additionalInfo
array REQUIRED |
An array of objects containing key-value pairs. You can provide values for the folloiwng keys: ASN, CER IPv4 CIDR, and IBM IPv4 CIDR |
key
string REQUIRED |
Key name. ASN for BGP routing.
|
value
string REQUIRED |
ASN value. Excluded ASNs: 0, 13884, 36351, 64512, 64513, 65100, 65201–65234, 65402–65433, 65500, and 4201065000–4201065999 |
key
string CONDITIONAL |
Key name. IPV4 address on the Equinix side.
|
value
string CONDITIONAL |
BGP_CER_CIDR value. The value must reside in one of "10.254.0.0/16", "172.16.0.0/12", "192.168.0.0/16", "169.254.0.0/16" or an owned public CIDR. Mandatory if bgp_ibm_cidr is entered. BGP_CER_CIDR and BGP_IBM_CIDR must have matching network and subnet mask values. |
key
string CONDITIONAL |
Key name. IPv4 address on the IBM side.
|
value
string CONDITIONAL |
BGP_IBM_CIDR value. The value must reside in one of "10.254.0.0/16", "172.16.0.0/12", "192.168.0.0/16", "169.254.0.0/16" or an owned public CIDR. Mandatory if bgp_cer_cidr is entered. BGP_CER_CIDR and BGP_IBM_CIDR must have matching network and subnet mask values. |
notifications
array[object] REQUIRED |
Notification settings for messages. |
type
string REQUIRED |
Notification messages category. Applicable values:
|
emails
array[string] REQUIRED |
Email addresses of up to 12 recipients. Example:["x@x.com","x@x.com"] |
Sample response - connection to IBM Cloud Direct Link 2.0 from a Network Edge Device
{
"type": "EVPL_VC",
"href": "https://api.equinix.com/fabric/v4/connections/0175e136-8be7-4b04-8d57-c33c20555501",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "port2ibm2-vvv-0425f",
"operation": {
"providerStatus": "PROVISIONING",
"equinixStatus": "PROVISIONING"
},
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 50 MB"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
],
"changeLog": {
"createdBy": "fabricamcrh1",
"createdByFullName": "XXXXX XXXXXX",
"createdByEmail": "x@gmail.com",
"createdDateTime": "2024-04-25T20:41:37.805Z",
"updatedBy": "fabricamcrh1",
"updatedByFullName": "XXXXXX XXXXXX",
"updatedByEmail": "x@gmail.com",
"updatedDateTime": "2024-04-25T20:41:37.805Z"
},
"bandwidth": 50,
"redundancy": {
"group": "d1f11356-91ca-4550-8488-ba434a771e09",
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"interface": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"id": 8,
"type": "CLOUD"
},
"location": {
"metroCode": "DC"
},
"virtualDevice": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "SV"
},
"profile": {
"href": "https://api.equinix.com/fabric/v4/serviceProfiles/e092ed47-63d2-4f4a-87a0-82e3b08eefe5",
"type": "L2_PROFILE",
"name": "IBM Cloud Direct Link 2",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"sellerRegion": "San Jose 2",
"authenticationKey": "XXXXXXXXXXXXXXXXXXX"
}
}
}
Response description
Parameter
|
Description |
---|---|
type
string |
Type of connection. Example: EVPL_VC |
href
string |
An absolute URL that returns the specified connection. Example:https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 |
uuid
string |
Equinix-assigned connection Id. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXX |
name
string |
Name of the connection. Example: Test-IBM-to-vd-api |
order
object |
Order information. |
billingTier
string |
Billing tier of connection bandwidth. Example: Up to 1 Gbps |
bandwidth
string |
Bandwidth. Example: Up to 1 Gbps |
redundancy
object |
Redundancy details. |
group
string |
Unique Id of the redundancy group. |
priority
string |
Whether the connection is PRIMARY or SECONDARY. |
aSide
object |
Source definition. |
accessPoint
object |
Connection endpoint configuration from the A-side. |
interface
object |
Object containing interface details. |
uuid
string |
Unique id of the interface. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
id
string |
Id of the interface. Example: 7 |
type
string |
Type of interface. Example: NETWORK |
location
object |
Object containing A-side location details. |
metroCode
string |
A-side Metropolitan area identifier. Example: AM |
virtualDevice
object |
Object containing virtual device details. |
type
string |
Type of virtual device. Example: EDGE |
uuid
string |
Unique Id of the virtual device. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
zSide
object |
Destination definition. |
accessPoint
object |
Connection endpoint configuration from the Z-side. |
profile
object |
The service profile associated with this access point. |
href
string |
An absolute URL that returns complete specification of the given
entity. Example:https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f |
type
string |
Service profile type. Example:
|
name
string |
Name of the service profile. Example: IBM Cloud Direct Link 2.0 |
uuid
string |
Unique Id of the service profile. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
location
object |
Connection endpoint location information. |
metroCode
string |
Metropolitan area identifier. Example: DA |
sellerRegion
string |
Seller region. . Example: us-west1 |
authenticationKey
string |
IBM Account ID. . Example: XXXXXXXXXXXXXXXXXX |
notifications
array[object] |
Notification settings for messages. |
type
string |
Notification messages category. Example: ALL |
emails
array[string] |
Email addresses of up to 12 recipients. Example:["x@x.com","x@x.com"] |
operation
object |
Connection operational data. |
equinixStatus
string |
Status of the connection on the Equinix side. Example: PROVISIONING |
providerStatus
string |
Status of the connection on the provider side. Example: NOT_AVAILABLE |
changeLog
object |
A permanent record of asset creation, modification, or deletion. |
createdBy
string |
Identity of the asset creator. Example: AverageJoe |
createdDateTime
string |
Asset creation timestamp in the IETF ISO 8601 extended date/time
format: YYYY-MM-DDTHH:MM:SS.000+0000 Example: 2021-07-15T19:30:29.526Z |
Use the Get Specified Connection API request to monitor connection status.
equinixStatus attribute values | providerStatus attribute values | IBM Direct Link status | Description |
PROVISIONING | PROVISIONING | - | Connection request has not been sent to IBM yet. |
PENDING_PROVIDER_VLAN | PENDING_APPROVAL | Create approval pending | The connection awaits for approval. |
PROVISIONED | PROVISIONING / PROVISIONED | Create in progress | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Provisioned | Connection established. |
Step 3: Accept Connection
Log in to the IBM Cloud console and navigate to the IBM Cloud Direct Link Exchange page to review and accept the pending connection.
Related Topics