Flexible IP APIv1alpha1

Download OpenAPI

Introduction

Flexible IP (formerly IP Failover) allows you to manage IPV4 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

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 value is fr-par-2.
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
number
The page number for the returned Flexible IPs. The default value is 1.

page_size
number
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
nullable string
Filter Flexible IPs by organization ID.

project_id
nullable string
Filter Flexible IPs by project ID.
200 Response

total_count
number
Total count of matching Flexible IPs.

flexible_ips
array
Listing of Flexible IPs.
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"total_count": 42,
"flexible_ips": [
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
]
}
POST
/flexible-ip/v1alpha1/zones/{zone}/fips
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.
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.
Request Example
{
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"server_id": "string",
"reverse": "string"
}
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
GET
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.

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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
PATCH
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.

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
{
"description": "string",
"tags": [
"string"
],
"reverse": "string"
}
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
DELETE
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.

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 value is fr-par-2.

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
{
"mac_type": "unknown_type"
}
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
DELETE
/flexible-ip/v1alpha1/zones/{zone}/fips/{fip_id}/mac
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.

fip_id
required string
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 value is fr-par-2.

fip_id
required string
Flexible IPs need to be attached to the same server.
Body

duplicate_from_fip_id
required string
Flexible IPs need to be attached to the same server.
Request Example
{
"duplicate_from_fip_id": "string"
}
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
POST
/flexible-ip/v1alpha1/zones/{zone}/fips/attach
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.
Body

fips_ids
required array
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
{
"fips_ids": [
"string"
],
"server_id": "string"
}
200 Response

total_count
number
Total count of Flexible IPs being updated.

flexible_ips
array
Listing of Flexible IPs in updating state.
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"total_count": 42,
"flexible_ips": [
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
]
}
POST
/flexible-ip/v1alpha1/zones/{zone}/fips/detach
Path Parameters

zone
required string
The zone you want to target. Possible value is fr-par-2.
Body

fips_ids
required array
Multiple IDs can be provided as long as Flexible IPs belong to the same MAC groups (see details about MAC groups).
Request Example
{
"fips_ids": [
"string"
]
}
200 Response

total_count
number
Total count of Flexible IPs being detached.

flexible_ips
array
Listing of Flexible IPs in detaching state.
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"total_count": 42,
"flexible_ips": [
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}
]
}

MISC methods

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

zone
required string
The zone you want to target. Possible value is fr-par-2.

fip_id
required string
Body

dst_fip_id
string
Request Example
{
"dst_fip_id": "string"
}
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
string
Date of last update of the Flexible IP.

created_at
string
Date of creation of the Flexible IP.

status
string
- 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 (IPv4 address).

mac_address
object
MAC address of the Flexible IP.
id
string

mac_address
string

mac_type
string
Possible values are unknown_type, vmware, xen and kvm. The default value is unknown_type.

status
string
Possible values are unknown, ready, updating, used, error and deleting. The default value is unknown.

updated_at
string

created_at
string

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

reverse
string
Reverse DNS value.
Response Example
{
"id": "string",
"organization_id": "string",
"project_id": "string",
"description": "string",
"tags": [
"string"
],
"updated_at": "string",
"created_at": "string",
"status": "unknown",
"ip_address": "1.2.3.4",
"mac_address": {
"id": "string",
"mac_address": "string",
"mac_type": "unknown_type",
"status": "unknown",
"updated_at": "string",
"created_at": "string"
},
"server_id": "string",
"reverse": "string"
}