Migrate Connection to a Different Virtual Device
Step 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.
Step 2: Get Attribute Information
1. Determine Connection identifier
Call Retrieve Connections API to get a list of connections and determine the identifier of the connection that you want to migrate to a different Virtual Device.
2. Determine A-side Virtual Device information
You need a provisioned Equinix Virtual Device/Cluster with a registered license on the A-side.
Check your available virtual devices/clusters 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.
Step 3: Update Connection
Use the PATCH /fabric/v4/connections/{uuid} API request to change the connection's A-side Virtual Device.
PATCH /fabric/v4/connections/{uuid} | |
---|---|
Method | PATCH |
URL or Endpoint | /fabric/v4/connections/{uuid} |
Headers | Authorization, Content-Type |
Path Parameters | uuid |
Query Parameters | Not applicable |
Body Parameters | op, path, value |
Sample curl request
curl -X
PATCH 'https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62'
-H 'content-type: application/json-patch+json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '[
{
"op": "replace",
"path": "/aSide/accessPoint",
"value": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "e8b49cd7-9b4c-4123-8bd4-fbead83c3436"
},
"interface": {
"type": "NETWORK",
"id": 5
}
}
}
]'
Path parameters
Parameter | Mandatory | Type | Example | Applicable Values | Description |
---|---|---|---|---|---|
uuid | yes | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | - | Equinix-assigned connection identifier. |
Body parameters
Parameter | Mandatory | Type | Example | Applicable Values | Description |
---|---|---|---|---|---|
op | yes | string | replace | replace | Update reqest type. |
path | yes | string | /aSide/accessPoint | /aSide/accessPoint | Parameter path. |
value | yes | object | - | ||
type | yes | string | VD | VD | VD - Virtual Device. |
virtualDevice | yes | object | - | Virtual Device details. | |
type | yes | string | EDGE | EDGE | EDGE. |
uuid | yes | string | 78rtdd05-f46d-4b1d-a154-2e85c396yt56 | Unique Id of the new Virtual Device. | |
interface | no | object | Interface details. | ||
type | no | string | NETWORK | NETWORK. | |
id | no | integer | 5 | Interface of the Virtual Device. |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
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-Name-2",
"state": "PROVISIONED",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"bandwidth": 1000,
"redundancy": {
"group": "m167f685-41b0-1b07-6de0-320a5c00abeu",
"priority": "PRIMARY"
},
“aSide”: {
“accessPoint”: {
"interface": {
“uuid”: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
“id”: 7,
“type”: "NETWORK"
},
“location”: {
“metroCode”: "AM"
},
“virtualDevice”: {
“uuid”: "XXXXXXXXXXXXXXXXXXXXXXXXXX",
“type”: "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",
"type": "L2_Profile",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"location": {
"href": "https://api.equinix.com/v4/metros/SV",
"metrocode": "SV",
"region": "AMER"
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PROVISIONED",
"providerStatus": "PROVISIONED"
},
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z",
"updatedDateTime": "2021-08-15T19:30:29.526Z",
}
}
Response payload body description
Parameter | Type | Example values | Description |
---|---|---|---|
href | string | https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 | An absolute URL that returns the specified connection. |
type | string | EVPL_VC | Connection type. EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections. |
uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned connection identifier. |
name | string | Conn-Name-2 | Connection name. |
state | string | PROVISIONING | Lifecycle stage of a connection. |
order | object | - | Order details. |
order.purchaseOrderNumber | string | 1-129105284100 | Subscriber's purchase order identifier. |
order.billingTier | string | Up to 1 Gbps | Billing tier for connection bandwidth. |
bandwidth | integer | 1000 | Connection bandwidth in Mbps. |
redundancy | object | Object containing redundancy details. | |
redundancy.group | string | 7a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the redundancy group. |
redundancy.priority | string | PRIMARY | Whether the connection is PRIMARY or SECONDARY. |
aSide | object | Source definition. | |
aSide.accessPoint | object | - | Connection endpoint configuration from the A-side. |
accesspoint.interface | object | - | Object containing interface details. |
interface.uuid | string | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | Unique id of the interface. |
interface.id | integer | 7 | Id of the device interface. |
interface.type | string | NETWORK | Type of interface. |
accesspoint.location | object | Object containing A-side location details. | |
location.metroCode | string | AM | A-side Metropolitan area identifier. |
accesspoint.virtualDevice | object | Object containing virtual device details. | |
virtualDevice.type | string | EDGE | Type of virtual device. |
virtualDevice.uuid | string | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | Unique Id of the old virtual device. |
zSide | object | - | Connection destinatino definition. |
zSide.accessPoint | object | - | Connection endpoint configuration. |
accessPoint.type | string | SP | Connection endpoint type. SP - Service profile. |
accessPoint.profile | object | - | The service profile associated with this access point. |
profile.href | string | https://api.equinix.com/fabric/v4/services/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 | An absolute URL that returns the specified service profile. |
profile.type | string | L2_PROFILE | Service profile type. L2_PROFILE - layer 2 service profile for establishing connections in layer 2 of the OSI networking model. |
profile.uuid | string | 20d32a80-0d61-4333-bc03-707b591ae2f5 | Unique identifier assigned to the service profile associated with this access point. |
accessPoint.location | object | - | Attributes associated with the specified asset location. |
location.href | string | https://api.equinix.com/v4/metros/SV | An absolute URL that returns the specified metro. |
location.metroCode | string | SV | Metropolitan area identifier. |
location.region | string | AMER | Broad geographic area in which a specified Equinix asset is located. |
notifications | array[object] | - | Subscriber preferences for notification of changes in asset configuration or status. |
notifications.type | string | ALL | Notification preferences for a specified asset, such as a service token, port, access point, or profile. |
notifications.emails | array[string] | ["test@equinix.com"] | List of recipients. |
operation | object | - | Access point operational data. |
operation.equinixStatus | string | PROVISIONED | Progress towards provisioning a specified connection. |
operation.providerStatus | string | PROVISIONED | Provider's progress towards provisioning a specified connection. |
changeLog | object | - | A permanent record of asset creation, modification, or deletion. |
changeLog.createdDateTime | string | 2021-07-15T19:30:29.526Z | Connection creation timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 |
changeLog.updatedDateTime | string | 2021-08-15T19:30:29.526Z | Connection creation timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 |