API reference
Elastic IPs
GET
header
AuthorizationBearer <token>label_selector?stringFilter by labels: env=prod, env!=prod, env (has key), !env; comma = AND
Elastic IPs
application/json- response
elastic_ips*array<>curl -X GET "https://example.com/elastic_ips"{ "elastic_ips": [ { "id": 0, "name": "string", "ip": "string", "location": "string", "server": 0, "protection": { "delete": true }, "labels": { "property1": "string", "property2": "string" }, "created": "2019-08-24T14:15:22Z" } ]}POST
header
AuthorizationBearer <token>application/json- body
name?stringLength
length <= 64location?stringRequired unless server is given
server?integerAssign to this server (it must have no public IPs)
Format
int64labels?Up to 64 key/value pairs; keys and values up to 63 characters
Created
application/json- response
elastic_ip*action*curl -X POST "https://example.com/elastic_ips" \ -H "Content-Type: application/json" \ -d '{}'{ "elastic_ip": { "id": 0, "name": "string", "ip": "string", "location": "string", "server": 0, "protection": { "delete": true }, "labels": { "property1": "string", "property2": "string" }, "created": "2019-08-24T14:15:22Z" }, "action": { "id": 0, "command": "create_server", "status": "running", "progress": 0, "started": "2019-08-24T14:15:22Z", "finished": "2019-08-24T14:15:22Z", "resources": [ { "id": 0, "type": "server" } ], "error": { "code": "string", "message": "string" } }}GET
header
AuthorizationBearer <token>id*integerFormat
int64Elastic IP
application/json- response
elastic_ip*curl -X GET "https://example.com/elastic_ips/0"{ "elastic_ip": { "id": 0, "name": "string", "ip": "string", "location": "string", "server": 0, "protection": { "delete": true }, "labels": { "property1": "string", "property2": "string" }, "created": "2019-08-24T14:15:22Z" }}DELETE
header
AuthorizationBearer <token>id*integerFormat
int64Deletion started
application/json- response
action*curl -X DELETE "https://example.com/elastic_ips/0"{ "action": { "id": 0, "command": "create_server", "status": "running", "progress": 0, "started": "2019-08-24T14:15:22Z", "finished": "2019-08-24T14:15:22Z", "resources": [ { "id": 0, "type": "server" } ], "error": { "code": "string", "message": "string" } }}PUT
header
AuthorizationBearer <token>id*integerFormat
int64application/json- body
name?stringLength
1 <= length <= 64labels?Up to 64 key/value pairs; keys and values up to 63 characters
protection?Updated
application/json- response
elastic_ip*curl -X PUT "https://example.com/elastic_ips/0" \ -H "Content-Type: application/json" \ -d '{}'{ "elastic_ip": { "id": 0, "name": "string", "ip": "string", "location": "string", "server": 0, "protection": { "delete": true }, "labels": { "property1": "string", "property2": "string" }, "created": "2019-08-24T14:15:22Z" }}POST
The server must have no public IPs and its network a NAT gateway. Traffic to the address reaches the server's private address; nothing needs configuring inside the guest. Firewalls on the server apply.
header
AuthorizationBearer <token>id*integerFormat
int64application/json- body
server*integerFormat
int64Action started
application/json- response
action*curl -X POST "https://example.com/elastic_ips/0/actions/assign" \ -H "Content-Type: application/json" \ -d '{ "server": 0 }'{ "action": { "id": 0, "command": "create_server", "status": "running", "progress": 0, "started": "2019-08-24T14:15:22Z", "finished": "2019-08-24T14:15:22Z", "resources": [ { "id": 0, "type": "server" } ], "error": { "code": "string", "message": "string" } }}POST
header
AuthorizationBearer <token>id*integerFormat
int64Action started
application/json- response
action*curl -X POST "https://example.com/elastic_ips/0/actions/unassign"{ "action": { "id": 0, "command": "create_server", "status": "running", "progress": 0, "started": "2019-08-24T14:15:22Z", "finished": "2019-08-24T14:15:22Z", "resources": [ { "id": 0, "type": "server" } ], "error": { "code": "string", "message": "string" } }}