Flexible IP APIv1alpha1

Download OpenAPI

Introduction

Flexible IP (formerly IP Failover) allows you to manage IP (v4 or v6) addresses on your bare metal server. Flexible IP can be attached to any server in the same zone. A server can be linked to multiple Flexible IPs.

Flexible IPs can be used to implement failover for services running on several baremetal server, assigning IPs to Virtual Machines running on a baremetal server

Technical Limitations

  • Flexible IPs can be only used on a bare metal server
  • 64 Flexible IPs limit per server

A virtual MAC address can be generated on a Flexible IP for specifics needs:

  • KVM
  • VMWare
  • Xen

Virtual MAC address can be duplicated between Flexible IPs on the same server. When a Virtual MAC is duplicated onto another Flexible IP, they belong to a Virtual MAC group. Flexible IPs in a MAC group can not be moved to another server separately, they have to be moved together. You can do so by providing a list of Flexible IP IDs in Attach/Detach Requests. Note that if you detach a single Flexible IP from a MAC group, the MAC is removed from the detached Flexible IP.

A Flexible IP can be attached to any server in the same zone. A server can be linked with multiple Flexible IPs attached to it.

List Flexible IPs

GET
/flexible-ip/v1alpha1/zones/{zone}/fips
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.
Query Parameters

order_by
string
The sort order of the returned Flexible IPs. Possible values are created_at_asc and created_at_desc. The default value is created_at_asc.

page
integer
The page number for the returned Flexible IPs. The default value is 1.

page_size
integer
The maximum number of Flexible IPs per page. The default value is 20.

tags
array
Filter Flexible IPs with one or more matching tags.

status
array
Filter Flexible IPs by status.

server_ids
array
Filter Flexible IPs by server IDs.

organization_id
string
Filter Flexible IPs by organization ID.

project_id
string
Filter Flexible IPs by project ID.
200 Response

total_count
integer
Total count of matching Flexible IPs.

flexible_ips
array
Listing of Flexible IPs.
Response Example
POST
/flexible-ip/v1alpha1/zones/{zone}/fips
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.
Body

project_id
required string
ID of the project to associate with the Flexible IP.

description
string
Description to associate with the Flexible IP, max 255 characters.

tags
array
Tags to associate to the Flexible IP.

server_id
nullable string
Server ID on which to attach the created Flexible IP.

reverse
nullable string
Reverse DNS value.

is_ipv6
boolean
If true, creates a Flexible IP with an ipv6 address.
Request Example
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example
GET
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
Flexible IP ID.
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example
PATCH
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
ID of the Flexible IP to update.
Body

description
nullable string
Description to associate with the Flexible IP, max 255 characters.

tags
nullable array
Tags to associate with the Flexible IP.

reverse
nullable string
Reverse DNS value.
Request Example
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example
DELETE
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
ID of the Flexible IP to delete.
204 Response

Empty response
POST
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}/mac
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
Flexible IP ID on which to generate a Virtual MAC.
Body

mac_type
required string
TODO. Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.
Request Example
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example
DELETE
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}/mac
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
Flexible IP ID from which to delete the Virtual MAC. If the Flexible IP belongs to a MAC group, the MAC will be removed from the MAC group and from the Flexible IP.
204 Response

Empty response

Duplicate a Virtual MAC from a given Flexible IP onto another attached on the same server.

POST
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}/mac/duplicate
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
Flexible IP ID on which to duplicate the Virtual MAC. Flexible IPs need to be attached to the same server.
Body

duplicate_from_fip_id
required string
Flexible IP ID to duplicate the Virtual MAC from. Flexible IPs need to be attached to the same server.
Request Example
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example

Move a Virtual MAC from a given Flexible IP onto another Flexible IP.

POST
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}/mac/move
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.

fip_id
required string
Body

dst_fip_id
string
Request Example
200 Response

id
string
ID of the Flexible IP.

organization_id
string
Organization ID the Flexible IP is attached to.

project_id
string
Project ID the Flexible IP is attached to.

description
string
Description of the Flexible IP.

tags
array
Tags associated with the Flexible IP.

updated_at
nullable string
Date of last update of the Flexible IP. (RFC 3339 format).

created_at
nullable string
Date of creation of the Flexible IP. (RFC 3339 format).

status
string
Status of the Flexible IP. - ready : Flexible IP is created and ready to be attached to a server or to have a virtual MAC generated. - updating: Flexible IP is being attached to a server or a virtual MAC operation is ongoing - attached: Flexible IP is attached to a server - error: a Flexible IP operation resulted in an error - detaching: Flexible IP is being detached from a server - locked: Flexible IP resource is locked. Possible values are unknown, ready, updating, attached, error, detaching and locked. The default value is unknown.

ip_address
string
IP of the Flexible IP. (IP network).

mac_address
object
MAC address of the Flexible IP.

server_id
nullable string
ID of the server linked to the Flexible IP.

reverse
string
Reverse DNS value.

zone
string
Flexible IP Availability Zone.
Response Example
POST
/flexible-ip/v1alpha1/zones/{zone}/fips/attach
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.
Body

fips_ids
required array
A list of Flexible IP IDs to attach. Multiple IDs can be provided as long as Flexible IPs belong to the same MAC groups (see details about MAC groups).

server_id
required string
A server ID on which to attach the Flexible IPs.
Request Example
200 Response

total_count
integer
Total count of Flexible IPs being updated.

flexible_ips
array
Listing of Flexible IPs in updating state.
Response Example
POST
/flexible-ip/v1alpha1/zones/{zone}/fips/detach
Path Parameters

zone
required string
The zone you want to target. Possible values are fr-par-1, fr-par-2 and nl-ams-1.
Body

fips_ids
required array
A list of Flexible IP IDs to detach. Multiple IDs can be provided as long as Flexible IPs belong to the same MAC groups (see details about MAC groups).
Request Example
200 Response

total_count
integer
Total count of Flexible IPs being detached.

flexible_ips
array
Listing of Flexible IPs in detaching state.
Response Example