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

Copy
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.
  • EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections.
name string
REQUIRED
Connection name.
Applicable values:
  • Maximum: 24 characters
  • Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
Example: my_connection
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:
  • 10
  • 50
  • 200
  • 500
  • 1000
  • 2000
  • 5000
  • 10000
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.
  • VD
virtualDevice object
REQUIRED
Object containing the virtual device details.
type string
REQUIRED
Type of virtual device.
  • EDGE
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.
  • NETWORK
  • CLOUD
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.
  • SP - Service profile.
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:
  • L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model.
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.
  • ASN
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.
  • BGP_CER_CIDR
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.
  • BGP_IBM_CIDR
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:
  • ALL
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

Copy
{
    "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:
  • L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model.
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