Skip to main content

Create a Device

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.

Step 2: Get Device Details

  • Call Get Device Types to find out which self-configured device (e.g., router or firewall) you want to launch on the NE platform. You will learn about the metro regions where virtual devices are available, vendors of devices, the available number of cores, and the software packages and their versions. Select deviceTypeCode, metroCode, core, packageCode, and version.

  • Call Get Allowed Interfaces to find out the allowed number of interfaces for your selected core. You may select any available device interface as sshInterfaceId. Otherwise, Equinix will choose the first available interface.

  • Call Get Accounts {metro} to check your account number (or acountReferenceId) and status in the metro where you want a virtual device. For billing reasons, you must have an account in the metro where you want a virtual device, either in the Active or Pending state. Create an account if you do not have one.

If you are a reseller trying to create a device for your customer, you must ensure tha the customer's and your (reseller's) accounts are both in the Active or Pending status. Your account will get billed, however, you must send the customer's account number to the API to create a device for your customer.

Step 3: Licensing Options

We offer BYOL (Bring Your Own Licensing) licensing option for most devices. Upload a license file or a code/token/ID, depending on what your vendor offers. For Cisco 8KV, you have the Subscription licensing option.

  • Arista: We don't support uploading a license for Arista device. However, you can log in to your device after it is created to upload a license to increase your throughput.

  • Cisco and Palo Alto provide license tokens. Enter the license token in the licenseToken field.

  • Juniper provides license files. To bring your own license (BYOL) for a Juniper device, use Post License File to upload a license file. You will get a file ID that you can use to create a virtual device. In case you have a redundant Juniper device, you can use the same fileId for both the primary and secondary devices.

  • Fortinet: License is not mandatory for Fortinet devices at the time of device creation. If you have a token, enter it in the licenseToken field. To configure a license file for a Fortinet device, you must do the following:

    • Generate a license file on the Fortinet portal.
    • Upload the license file on the Equinix portal by calling Post License File. You'll get a fileId that you can use to create a virtual device.
    • Log in to the device to check your license status.

Step 4: Create Self-Configured Device

POST /ne/v1/devices
MethodPOST
URL or End Point/ne/v1/devices
HeadersAuthorization token, Content-Type
Query Parametersdraft, draftUuid

To create a redundant device that has primary and secondary devices:

  • Set parameters of the secondary object
  • If you are a reseller trying to create a redundant device for your customer, make sure both the primary and secondary metros are in the same country. Both the primary and secondary account numbers must be the same. Although the reseller's account will get billed, this API accepts the customer's account number to create devices for the customer. The above restrictions are necessary as each customer is associated with a reseller's billing account.
  • In the case of Cisco FTD devices, the management type for both the primary and the secondary devices must be the same.
note

By creating a virtual device, you accept the Order Terms. Call Get Order Terms to review the details. Check Creating a Self-Configured Edge Device to understand the business details.

To save a device draft, you must provide deviceTypeCode, accountNumber or accountReferenceId, and metroCode.

Example Requests

A sample curl request to create a single device.

curl -X  
POST "https://api.equinix.com/ne/v1/devices?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer <token>"
-d '
{
    "metroCode": "SV",
    "deviceTypeCode": "VSRX",
    "agreeOrderTerms": true,
    "termLength": "1",
    "licenseMode": "BYOL",
    "packageCode": "STD",
    "virtualDeviceName": "Test-device-001-SROY",
    "notifications": [
        "test@equinix.com"
    ],
    "hostNamePrefix": "TC12",
    "aclDetails": [
        {
            "uuid": "fb2e69bb-cbd7-40c4-bc01-8bcc5fa741c2",
            "interfaceType": "WAN"
        }
    ],
    "accountNumber": "200541",
    "version": "18.4R2-S1.4",
    "interfaceCount": 10,
    "deviceManagementType": "SELF-CONFIGURED",
    "core": 5,
    "userPublicKey": {
        "username": "userName",
        "keyName": "keyName"
    },
    "additionalBandwidth": "100"
}
'

A sample curl request to create a redundant device.

curl -X  
POST "https://api.equinix.com/ne/v1/devices?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer <token>"
-d '
{
    "metroCode": "DC",
    "deviceTypeCode": "C8000V",
    "agreeOrderTerms": true,
    "termLength": "1",
    "licenseMode": "BYOL",
    "packageCode": "network-advantage",
    "virtualDeviceName": "Test-device-002-SROY",
    "notifications": [
        "test@equinix.com"
    ],
    "hostNamePrefix": "TC01",
        "aclDetails": [
        {
            "uuid": "fb2e69bb-cbd7-40c4-bc01-8bcc5fa741c2",
            "interfaceType": "WAN"
        }
    ],
    "accountNumber": "201148",
    "version": "17.06.01a",
    "interfaceCount": 10,
    "deviceManagementType": "SELF-CONFIGURED",
    "core": 2,
    "userPublicKey": {
        "username": "sroy",
        "keyName": "keyWIQzB"
    },
    "sshInterfaceId": "3",
    "channelPartner": "SDCI",
    "secondary": {
        "metroCode": "DC",
        "hostNamePrefix": "TC02",
        "notifications": [
            "test@equinix.com"
        ],
        "virtualDeviceName": "Test-device-001-SROY - secondary",
        "additionalBandwidth": "100",
            "aclDetails": [
        {
            "uuid": "fb2e69bb-cbd7-40c4-bc01-8bcc5fa741c2",
            "interfaceType": "WAN"
        }
    ],
        "accountNumber": "201148",
        "sshInterfaceId": "4"
    },
    "additionalBandwidth": "100"
}
'

A sample curl request to create a Cisco FTD secondary device with no internet access.

curl -X  
POST "https://api.equinix.com/ne/v1/devices?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer <token>"
-d '
{
    "deviceTypeCode": "Cisco_NGFW",
    "licenseMode": "BYOL",
    "packageCode": "FTDv5",
    "virtualDeviceName": "NEAut-",
    "metroCode": "#(supportedMetro)",
    "notifications": [
        "t@t.com"
    ],
    "hostNamePrefix": "test",
    "interfaceCount": 10,
    "deviceManagementType": "SELF-CONFIGURED",
    "core": 4,
    "version": "7.0.4-55",
    "vendorConfig": {
        "managementType": "FDM"
    },
    "connectivity": "PRIVATE",
    "secondary": {
        "hostNamePrefix": "test-123",
        "metroCode": "#(supportedMetroForSec)",
        "notifications": [
            "t@t.com"
        ],
        "virtualDeviceName": "test-secondary",
        "vendorConfig": {
            "managementType": "FDM"
        }
    }
}
'

For a complete list of parameters and options, see the API Reference.

Example Responses

Sample response for a single device. 202: Request accepted.

{  
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec"
}

Sample response for a redundant device. 202: Request accepted.

{  
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec",
    "secondaryUuid": "de5cf79b-3d16-4ccd-841b-3b68ecda2142"
}

Device Status

Monitor the status of your device by calling Get Virtual Device {uuid}. Your device must be provisioned and your license must be registered before you can connect to cloud service providers.

Virtual device "status"Description
INITIALIZINGEquinix is in the process of reserving resources and creating the device.
PROVISIONINGThe device is booting.
PENDING_ORDERThe order has come to NE from Siebel. Customers need to log in to the NE portal and submit the order.
PENDING_SIGNATUREThe customer has signed up for the offline acceptance of NE terms but has not yet accepted the terms.
CANCEL_ORDERThe order from Siebel to NE is canceled.
WAITING_FOR_PRIMARYThe secondary device is ready but the primary is not. This state might appear only if you have created a secondary device for redundancy.
WAITING_FOR_SECONDARYThe primary device is ready but the secondary is not. This state might appear only if you have created a secondary device for redundancy.
FAILEDThe device creation failed.
PROVISIONEDThe device is ready.

When end-users delete a device using the Delete Virtual Devices API, the device transitions through the following states within the Equinix infrastructure.

Virtual device "status" under /ne/v1/devices/{uuid}Description
DEPROVISIONINGEquinix accepted the customer's request to delete a virtual device.
DEPROVISIONEDThe device is de-provisioned/deleted.