Skip to content

Openstack Instances

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/openstack-instances/ List instances
GET /api/openstack-instances/{uuid}/ Get instance details
POST /api/openstack-instances/{uuid}/pull/ Synchronize resource state
POST /api/openstack-instances/{uuid}/unlink/ Unlink resource
PUT /api/openstack-instances/{uuid}/ Update instance
PATCH /api/openstack-instances/{uuid}/ Partially update instance
State Management
POST /api/openstack-instances/{uuid}/restart/ Restart instance
POST /api/openstack-instances/{uuid}/start/ Start instance
POST /api/openstack-instances/{uuid}/stop/ Stop instance
Subresource Management
GET /api/openstack-instances/{uuid}/console_log/ Get console log
GET /api/openstack-instances/{uuid}/console/ Get console URL
GET /api/openstack-instances/{uuid}/floating_ips/ List instance floating IPs
GET /api/openstack-instances/{uuid}/ports/ List instance ports
POST /api/openstack-instances/{uuid}/backup/ Create instance backup
POST /api/openstack-instances/{uuid}/update_allowed_address_pairs/ Update instance allowed address pairs
POST /api/openstack-instances/{uuid}/update_floating_ips/ Update instance floating IPs
POST /api/openstack-instances/{uuid}/update_ports/ Update instance ports
POST /api/openstack-instances/{uuid}/update_security_groups/ Update instance security groups
Other Actions
GET /api/openstack-instances/{uuid}/placement_allocations/ Get Placement allocations for the instance
POST /api/openstack-instances/{uuid}/change_flavor/ Change instance flavor
POST /api/openstack-instances/{uuid}/diagnose_connectivity/ Diagnose connectivity
POST /api/openstack-instances/{uuid}/rescue/ Rescue instance
POST /api/openstack-instances/{uuid}/set_erred/ Mark resource as ERRED
POST /api/openstack-instances/{uuid}/set_ok/ Mark resource as OK
POST /api/openstack-instances/{uuid}/unrescue/ Unrescue instance

Core CRUD

List instances

Get a list of VM instances.

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.core_states import CoreStates # (1)
from waldur_api_client.models.open_stack_instance_field_enum import OpenStackInstanceFieldEnum # (2)
from waldur_api_client.models.open_stack_instance_o_enum import OpenStackInstanceOEnum # (3)
from waldur_api_client.api.openstack_instances import openstack_instances_list # (4)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_list.sync(client=client)

for item in response:
    print(item)
  1. Model Source: CoreStates
  2. Model Source: OpenStackInstanceFieldEnum
  3. Model Source: OpenStackInstanceOEnum
  4. API Source: openstack_instances_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { openstackInstancesList } from 'waldur-js-client';

try {
  const response = await openstackInstancesList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
attach_volume_uuid string (uuid) Filter for attachment to volume UUID
availability_zone_name string Availability zone name
backend_id string Backend ID
can_manage boolean Can manage
customer string (uuid) Customer UUID
customer_abbreviation string Customer abbreviation
customer_name string Customer name
customer_native_name string Customer native name
customer_uuid string (uuid) Customer UUID
description string Description
external_ip string External IP
field array
name string Name
name_exact string Name (exact)
o string Ordering. Sort by start time.
Enum: start_time, -start_time
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid) Project UUID
project_name string Project name
project_uuid string (uuid) Project UUID
query string Search by name, internal IP, or external IP
runtime_state string
service_settings_name string Service settings name
service_settings_uuid string (uuid) Service settings UUID
state array State

tenant string (uri) Tenant URL
tenant_uuid string (uuid) Tenant UUID

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri) OpenStack provider settings
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string Instance ID in the OpenStack backend
access_url any
start_time string (date-time)
cores integer Number of cores in a VM
ram integer Memory size in MiB
disk integer Disk size in MiB
min_ram integer Minimum memory size in MiB
min_disk integer Minimum disk size in MiB
user_data string Additional data that will be added to instance on provisioning
external_ips array of string (ipv4)s
internal_ips array of string (ipv4)s
latitude number (double)
longitude number (double)
key_name string
key_fingerprint string
image_name string
flavor_disk integer Flavor disk size in MiB
flavor_name string Name of the flavor used by this instance
volumes array of objects List of volumes attached to the instance
volumes.url string (uri)
volumes.uuid string (uuid)
volumes.name string
volumes.image_name string Name of the image this volume was created from
volumes.state string
volumes.bootable boolean Indicates if this volume can be used to boot an instance
volumes.size integer Size in MiB
volumes.device string Name of volume as instance device e.g. /dev/vdb.
volumes.resource_type string
volumes.type string (uri) Type of the volume (e.g. SSD, HDD)
volumes.type_name string
volumes.marketplace_resource_uuid string
security_groups array of objects
security_groups.url string (uri)
security_groups.name string
security_groups.rules array of objects
security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
security_groups.rules.from_port integer Starting port number in the range (1-65535)
security_groups.rules.to_port integer Ending port number in the range (1-65535)
security_groups.rules.cidr string CIDR notation for the source/destination network address range
security_groups.rules.description string
security_groups.rules.remote_group_name string
security_groups.rules.remote_group_uuid string (uuid)
security_groups.rules.id integer
security_groups.description string
security_groups.state string
server_group object
server_group.url string (uri)
server_group.name string
server_group.policy any Server group policy determining the rules for scheduling servers in this group
server_group.state string
floating_ips array of objects
floating_ips.url string (uri)
floating_ips.uuid string (uuid)
floating_ips.address any The public IPv4 address of the floating IP
floating_ips.port_fixed_ips array of objects
floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
floating_ips.port_mac_address string MAC address of the port
floating_ips.subnet string (uri)
floating_ips.subnet_uuid string (uuid)
floating_ips.subnet_name string
floating_ips.subnet_description string
floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports array of objects
ports.url string (uri)
ports.fixed_ips array of objects
ports.fixed_ips.ip_address any IP address to assign to the port
ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
ports.mac_address string MAC address of the port
ports.subnet string (uri) Subnet to which this port belongs
ports.subnet_uuid string (uuid)
ports.subnet_name string
ports.subnet_description string
ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports.allowed_address_pairs array of objects
ports.allowed_address_pairs.mac_address string
ports.device_id string ID of device (instance, router etc) to which this port is connected
ports.device_owner string Entity that uses this port (e.g. network:router_interface)
ports.security_groups array of objects
ports.security_groups.url string (uri)
ports.security_groups.uuid string (uuid)
ports.security_groups.name string
ports.security_groups.description string
ports.security_groups.service_name string
ports.security_groups.service_settings string (uri)
ports.security_groups.service_settings_uuid string (uuid)
ports.security_groups.service_settings_state string
ports.security_groups.service_settings_error_message string
ports.security_groups.project string (uri)
ports.security_groups.project_name string
ports.security_groups.project_uuid string (uuid)
ports.security_groups.customer string (uri)
ports.security_groups.customer_uuid string (uuid)
ports.security_groups.customer_name string
ports.security_groups.customer_native_name string
ports.security_groups.customer_abbreviation string
ports.security_groups.error_message string
ports.security_groups.error_traceback string
ports.security_groups.resource_type string
ports.security_groups.state any
ports.security_groups.created string (date-time)
ports.security_groups.modified string (date-time)
ports.security_groups.backend_id string
ports.security_groups.access_url any
ports.security_groups.tenant string (uri)
ports.security_groups.tenant_name string
ports.security_groups.tenant_uuid string (uuid)
ports.security_groups.rules array of objects
ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
ports.security_groups.rules.description string
ports.security_groups.rules.remote_group_name string
ports.security_groups.rules.remote_group_uuid string (uuid)
ports.security_groups.rules.id integer
ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
ports.security_groups.marketplace_offering_uuid string
ports.security_groups.marketplace_offering_name string
ports.security_groups.marketplace_offering_type string
ports.security_groups.marketplace_offering_plugin_options object (free-form)
ports.security_groups.marketplace_category_uuid string
ports.security_groups.marketplace_category_name string
ports.security_groups.marketplace_resource_uuid string
ports.security_groups.marketplace_plan_uuid string
ports.security_groups.marketplace_resource_state string
ports.security_groups.is_usage_based boolean
ports.security_groups.is_limit_based boolean
availability_zone string (uri) Availability zone where this instance is located
availability_zone_name string Name of the availability zone where instance is located
connect_directly_to_external_network boolean If True, instance will be connected directly to external network
config_drive boolean Force config drive on or off for this instance. If null, the tenant-wide default from service settings is used.
runtime_state string
action string
action_details any Details about ongoing or completed actions
tenant_uuid string (uuid) UUID of the OpenStack tenant
hypervisor_hostname string Name of the hypervisor hosting this instance
tenant string (uri) The OpenStack tenant to create the instance in
external_address array of strings
rancher_cluster any
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_type string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Get instance details

Retrieve details of a specific VM instance.

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_field_enum import OpenStackInstanceFieldEnum # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_retrieve # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. Model Source: OpenStackInstanceFieldEnum
  2. API Source: openstack_instances_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesRetrieve } from 'waldur-js-client';

try {
  const response = await openstackInstancesRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type
field array

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri) OpenStack provider settings
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string Instance ID in the OpenStack backend
access_url any
start_time string (date-time)
cores integer Number of cores in a VM
ram integer Memory size in MiB
disk integer Disk size in MiB
min_ram integer Minimum memory size in MiB
min_disk integer Minimum disk size in MiB
user_data string Additional data that will be added to instance on provisioning
external_ips array of string (ipv4)s
internal_ips array of string (ipv4)s
latitude number (double)
longitude number (double)
key_name string
key_fingerprint string
image_name string
flavor_disk integer Flavor disk size in MiB
flavor_name string Name of the flavor used by this instance
volumes array of objects List of volumes attached to the instance
volumes.url string (uri)
volumes.uuid string (uuid)
volumes.name string
volumes.image_name string Name of the image this volume was created from
volumes.state string
volumes.bootable boolean Indicates if this volume can be used to boot an instance
volumes.size integer Size in MiB
volumes.device string Name of volume as instance device e.g. /dev/vdb.
volumes.resource_type string
volumes.type string (uri) Type of the volume (e.g. SSD, HDD)
volumes.type_name string
volumes.marketplace_resource_uuid string
security_groups array of objects
security_groups.url string (uri)
security_groups.name string
security_groups.rules array of objects
security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
security_groups.rules.from_port integer Starting port number in the range (1-65535)
security_groups.rules.to_port integer Ending port number in the range (1-65535)
security_groups.rules.cidr string CIDR notation for the source/destination network address range
security_groups.rules.description string
security_groups.rules.remote_group_name string
security_groups.rules.remote_group_uuid string (uuid)
security_groups.rules.id integer
security_groups.description string
security_groups.state string
server_group object
server_group.url string (uri)
server_group.name string
server_group.policy any Server group policy determining the rules for scheduling servers in this group
server_group.state string
floating_ips array of objects
floating_ips.url string (uri)
floating_ips.uuid string (uuid)
floating_ips.address any The public IPv4 address of the floating IP
floating_ips.port_fixed_ips array of objects
floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
floating_ips.port_mac_address string MAC address of the port
floating_ips.subnet string (uri)
floating_ips.subnet_uuid string (uuid)
floating_ips.subnet_name string
floating_ips.subnet_description string
floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports array of objects
ports.url string (uri)
ports.fixed_ips array of objects
ports.fixed_ips.ip_address any IP address to assign to the port
ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
ports.mac_address string MAC address of the port
ports.subnet string (uri) Subnet to which this port belongs
ports.subnet_uuid string (uuid)
ports.subnet_name string
ports.subnet_description string
ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports.allowed_address_pairs array of objects
ports.allowed_address_pairs.mac_address string
ports.device_id string ID of device (instance, router etc) to which this port is connected
ports.device_owner string Entity that uses this port (e.g. network:router_interface)
ports.security_groups array of objects
ports.security_groups.url string (uri)
ports.security_groups.uuid string (uuid)
ports.security_groups.name string
ports.security_groups.description string
ports.security_groups.service_name string
ports.security_groups.service_settings string (uri)
ports.security_groups.service_settings_uuid string (uuid)
ports.security_groups.service_settings_state string
ports.security_groups.service_settings_error_message string
ports.security_groups.project string (uri)
ports.security_groups.project_name string
ports.security_groups.project_uuid string (uuid)
ports.security_groups.customer string (uri)
ports.security_groups.customer_uuid string (uuid)
ports.security_groups.customer_name string
ports.security_groups.customer_native_name string
ports.security_groups.customer_abbreviation string
ports.security_groups.error_message string
ports.security_groups.error_traceback string
ports.security_groups.resource_type string
ports.security_groups.state any
ports.security_groups.created string (date-time)
ports.security_groups.modified string (date-time)
ports.security_groups.backend_id string
ports.security_groups.access_url any
ports.security_groups.tenant string (uri)
ports.security_groups.tenant_name string
ports.security_groups.tenant_uuid string (uuid)
ports.security_groups.rules array of objects
ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
ports.security_groups.rules.description string
ports.security_groups.rules.remote_group_name string
ports.security_groups.rules.remote_group_uuid string (uuid)
ports.security_groups.rules.id integer
ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
ports.security_groups.marketplace_offering_uuid string
ports.security_groups.marketplace_offering_name string
ports.security_groups.marketplace_offering_type string
ports.security_groups.marketplace_offering_plugin_options object (free-form)
ports.security_groups.marketplace_category_uuid string
ports.security_groups.marketplace_category_name string
ports.security_groups.marketplace_resource_uuid string
ports.security_groups.marketplace_plan_uuid string
ports.security_groups.marketplace_resource_state string
ports.security_groups.is_usage_based boolean
ports.security_groups.is_limit_based boolean
availability_zone string (uri) Availability zone where this instance is located
availability_zone_name string Name of the availability zone where instance is located
connect_directly_to_external_network boolean If True, instance will be connected directly to external network
config_drive boolean Force config drive on or off for this instance. If null, the tenant-wide default from service settings is used.
runtime_state string
action string
action_details any Details about ongoing or completed actions
tenant_uuid string (uuid) UUID of the OpenStack tenant
hypervisor_hostname string Name of the hypervisor hosting this instance
tenant string (uri) The OpenStack tenant to create the instance in
external_address array of strings
rancher_cluster any
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_type string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Synchronize resource state

Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_pull # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_pull.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_pull
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesPull } from 'waldur-js-client';

try {
  const response = await openstackInstancesPull({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
detail string

409 -

Field Type
detail string

Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/unlink/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_unlink # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_unlink.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_unlink
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesUnlink } from 'waldur-js-client';

try {
  const response = await openstackInstancesUnlink({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

204 - No response body


Update instance

Update an existing VM instance.

1
2
3
4
5
http \
  PUT \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-instance"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_request import OpenStackInstanceRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackInstanceRequest(
    name="my-awesome-openstack-instance"
)
response = openstack_instances_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackInstanceRequest
  2. API Source: openstack_instances_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { openstackInstancesUpdate } from 'waldur-js-client';

try {
  const response = await openstackInstancesUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-instance"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
name string
description string

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri) OpenStack provider settings
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string Instance ID in the OpenStack backend
access_url any
start_time string (date-time)
cores integer Number of cores in a VM
ram integer Memory size in MiB
disk integer Disk size in MiB
min_ram integer Minimum memory size in MiB
min_disk integer Minimum disk size in MiB
user_data string Additional data that will be added to instance on provisioning
external_ips array of string (ipv4)s
internal_ips array of string (ipv4)s
latitude number (double)
longitude number (double)
key_name string
key_fingerprint string
image_name string
flavor_disk integer Flavor disk size in MiB
flavor_name string Name of the flavor used by this instance
volumes array of objects List of volumes attached to the instance
volumes.url string (uri)
volumes.uuid string (uuid)
volumes.name string
volumes.image_name string Name of the image this volume was created from
volumes.state string
volumes.bootable boolean Indicates if this volume can be used to boot an instance
volumes.size integer Size in MiB
volumes.device string Name of volume as instance device e.g. /dev/vdb.
volumes.resource_type string
volumes.type string (uri) Type of the volume (e.g. SSD, HDD)
volumes.type_name string
volumes.marketplace_resource_uuid string
security_groups array of objects
security_groups.url string (uri)
security_groups.name string
security_groups.rules array of objects
security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
security_groups.rules.from_port integer Starting port number in the range (1-65535)
security_groups.rules.to_port integer Ending port number in the range (1-65535)
security_groups.rules.cidr string CIDR notation for the source/destination network address range
security_groups.rules.description string
security_groups.rules.remote_group_name string
security_groups.rules.remote_group_uuid string (uuid)
security_groups.rules.id integer
security_groups.description string
security_groups.state string
server_group object
server_group.url string (uri)
server_group.name string
server_group.policy any Server group policy determining the rules for scheduling servers in this group
server_group.state string
floating_ips array of objects
floating_ips.url string (uri)
floating_ips.uuid string (uuid)
floating_ips.address any The public IPv4 address of the floating IP
floating_ips.port_fixed_ips array of objects
floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
floating_ips.port_mac_address string MAC address of the port
floating_ips.subnet string (uri)
floating_ips.subnet_uuid string (uuid)
floating_ips.subnet_name string
floating_ips.subnet_description string
floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports array of objects
ports.url string (uri)
ports.fixed_ips array of objects
ports.fixed_ips.ip_address any IP address to assign to the port
ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
ports.mac_address string MAC address of the port
ports.subnet string (uri) Subnet to which this port belongs
ports.subnet_uuid string (uuid)
ports.subnet_name string
ports.subnet_description string
ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports.allowed_address_pairs array of objects
ports.allowed_address_pairs.mac_address string
ports.device_id string ID of device (instance, router etc) to which this port is connected
ports.device_owner string Entity that uses this port (e.g. network:router_interface)
ports.security_groups array of objects
ports.security_groups.url string (uri)
ports.security_groups.uuid string (uuid)
ports.security_groups.name string
ports.security_groups.description string
ports.security_groups.service_name string
ports.security_groups.service_settings string (uri)
ports.security_groups.service_settings_uuid string (uuid)
ports.security_groups.service_settings_state string
ports.security_groups.service_settings_error_message string
ports.security_groups.project string (uri)
ports.security_groups.project_name string
ports.security_groups.project_uuid string (uuid)
ports.security_groups.customer string (uri)
ports.security_groups.customer_uuid string (uuid)
ports.security_groups.customer_name string
ports.security_groups.customer_native_name string
ports.security_groups.customer_abbreviation string
ports.security_groups.error_message string
ports.security_groups.error_traceback string
ports.security_groups.resource_type string
ports.security_groups.state any
ports.security_groups.created string (date-time)
ports.security_groups.modified string (date-time)
ports.security_groups.backend_id string
ports.security_groups.access_url any
ports.security_groups.tenant string (uri)
ports.security_groups.tenant_name string
ports.security_groups.tenant_uuid string (uuid)
ports.security_groups.rules array of objects
ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
ports.security_groups.rules.description string
ports.security_groups.rules.remote_group_name string
ports.security_groups.rules.remote_group_uuid string (uuid)
ports.security_groups.rules.id integer
ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
ports.security_groups.marketplace_offering_uuid string
ports.security_groups.marketplace_offering_name string
ports.security_groups.marketplace_offering_type string
ports.security_groups.marketplace_offering_plugin_options object (free-form)
ports.security_groups.marketplace_category_uuid string
ports.security_groups.marketplace_category_name string
ports.security_groups.marketplace_resource_uuid string
ports.security_groups.marketplace_plan_uuid string
ports.security_groups.marketplace_resource_state string
ports.security_groups.is_usage_based boolean
ports.security_groups.is_limit_based boolean
availability_zone string (uri) Availability zone where this instance is located
availability_zone_name string Name of the availability zone where instance is located
connect_directly_to_external_network boolean If True, instance will be connected directly to external network
config_drive boolean Force config drive on or off for this instance. If null, the tenant-wide default from service settings is used.
runtime_state string
action string
action_details any Details about ongoing or completed actions
tenant_uuid string (uuid) UUID of the OpenStack tenant
hypervisor_hostname string Name of the hypervisor hosting this instance
tenant string (uri) The OpenStack tenant to create the instance in
external_address array of strings
rancher_cluster any
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_type string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Partially update instance

Update specific fields of a VM instance.

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_open_stack_instance_request import PatchedOpenStackInstanceRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_partial_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PatchedOpenStackInstanceRequest()
response = openstack_instances_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PatchedOpenStackInstanceRequest
  2. API Source: openstack_instances_partial_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesPartialUpdate } from 'waldur-js-client';

try {
  const response = await openstackInstancesPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
name string
description string

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri) OpenStack provider settings
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string Instance ID in the OpenStack backend
access_url any
start_time string (date-time)
cores integer Number of cores in a VM
ram integer Memory size in MiB
disk integer Disk size in MiB
min_ram integer Minimum memory size in MiB
min_disk integer Minimum disk size in MiB
user_data string Additional data that will be added to instance on provisioning
external_ips array of string (ipv4)s
internal_ips array of string (ipv4)s
latitude number (double)
longitude number (double)
key_name string
key_fingerprint string
image_name string
flavor_disk integer Flavor disk size in MiB
flavor_name string Name of the flavor used by this instance
volumes array of objects List of volumes attached to the instance
volumes.url string (uri)
volumes.uuid string (uuid)
volumes.name string
volumes.image_name string Name of the image this volume was created from
volumes.state string
volumes.bootable boolean Indicates if this volume can be used to boot an instance
volumes.size integer Size in MiB
volumes.device string Name of volume as instance device e.g. /dev/vdb.
volumes.resource_type string
volumes.type string (uri) Type of the volume (e.g. SSD, HDD)
volumes.type_name string
volumes.marketplace_resource_uuid string
security_groups array of objects
security_groups.url string (uri)
security_groups.name string
security_groups.rules array of objects
security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
security_groups.rules.from_port integer Starting port number in the range (1-65535)
security_groups.rules.to_port integer Ending port number in the range (1-65535)
security_groups.rules.cidr string CIDR notation for the source/destination network address range
security_groups.rules.description string
security_groups.rules.remote_group_name string
security_groups.rules.remote_group_uuid string (uuid)
security_groups.rules.id integer
security_groups.description string
security_groups.state string
server_group object
server_group.url string (uri)
server_group.name string
server_group.policy any Server group policy determining the rules for scheduling servers in this group
server_group.state string
floating_ips array of objects
floating_ips.url string (uri)
floating_ips.uuid string (uuid)
floating_ips.address any The public IPv4 address of the floating IP
floating_ips.port_fixed_ips array of objects
floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
floating_ips.port_mac_address string MAC address of the port
floating_ips.subnet string (uri)
floating_ips.subnet_uuid string (uuid)
floating_ips.subnet_name string
floating_ips.subnet_description string
floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports array of objects
ports.url string (uri)
ports.fixed_ips array of objects
ports.fixed_ips.ip_address any IP address to assign to the port
ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
ports.mac_address string MAC address of the port
ports.subnet string (uri) Subnet to which this port belongs
ports.subnet_uuid string (uuid)
ports.subnet_name string
ports.subnet_description string
ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
ports.allowed_address_pairs array of objects
ports.allowed_address_pairs.mac_address string
ports.device_id string ID of device (instance, router etc) to which this port is connected
ports.device_owner string Entity that uses this port (e.g. network:router_interface)
ports.security_groups array of objects
ports.security_groups.url string (uri)
ports.security_groups.uuid string (uuid)
ports.security_groups.name string
ports.security_groups.description string
ports.security_groups.service_name string
ports.security_groups.service_settings string (uri)
ports.security_groups.service_settings_uuid string (uuid)
ports.security_groups.service_settings_state string
ports.security_groups.service_settings_error_message string
ports.security_groups.project string (uri)
ports.security_groups.project_name string
ports.security_groups.project_uuid string (uuid)
ports.security_groups.customer string (uri)
ports.security_groups.customer_uuid string (uuid)
ports.security_groups.customer_name string
ports.security_groups.customer_native_name string
ports.security_groups.customer_abbreviation string
ports.security_groups.error_message string
ports.security_groups.error_traceback string
ports.security_groups.resource_type string
ports.security_groups.state any
ports.security_groups.created string (date-time)
ports.security_groups.modified string (date-time)
ports.security_groups.backend_id string
ports.security_groups.access_url any
ports.security_groups.tenant string (uri)
ports.security_groups.tenant_name string
ports.security_groups.tenant_uuid string (uuid)
ports.security_groups.rules array of objects
ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
ports.security_groups.rules.description string
ports.security_groups.rules.remote_group_name string
ports.security_groups.rules.remote_group_uuid string (uuid)
ports.security_groups.rules.id integer
ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
ports.security_groups.marketplace_offering_uuid string
ports.security_groups.marketplace_offering_name string
ports.security_groups.marketplace_offering_type string
ports.security_groups.marketplace_offering_plugin_options object (free-form)
ports.security_groups.marketplace_category_uuid string
ports.security_groups.marketplace_category_name string
ports.security_groups.marketplace_resource_uuid string
ports.security_groups.marketplace_plan_uuid string
ports.security_groups.marketplace_resource_state string
ports.security_groups.is_usage_based boolean
ports.security_groups.is_limit_based boolean
availability_zone string (uri) Availability zone where this instance is located
availability_zone_name string Name of the availability zone where instance is located
connect_directly_to_external_network boolean If True, instance will be connected directly to external network
config_drive boolean Force config drive on or off for this instance. If null, the tenant-wide default from service settings is used.
runtime_state string
action string
action_details any Details about ongoing or completed actions
tenant_uuid string (uuid) UUID of the OpenStack tenant
hypervisor_hostname string Name of the hypervisor hosting this instance
tenant string (uri) The OpenStack tenant to create the instance in
external_address array of strings
rancher_cluster any
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_type string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

State Management

Restart instance

Restart the instance

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/restart/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_restart # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_restart.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_restart
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesRestart } from 'waldur-js-client';

try {
  const response = await openstackInstancesRestart({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
status string

Start instance

Start the instance

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/start/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_start # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_start.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_start
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesStart } from 'waldur-js-client';

try {
  const response = await openstackInstancesStart({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
status string

Stop instance

Stop the instance

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/stop/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_stop # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_stop.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_stop
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesStop } from 'waldur-js-client';

try {
  const response = await openstackInstancesStop({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
status string

Subresource Management

Get console log

Get console log for the instance

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/console_log/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_console_log_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_console_log_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_console_log_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesConsoleLogRetrieve } from 'waldur-js-client';

try {
  const response = await openstackInstancesConsoleLogRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type
length integer

200 -


Get console URL

Get console url for the instance

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/console/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_console_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_console_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_console_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesConsoleRetrieve } from 'waldur-js-client';

try {
  const response = await openstackInstancesConsoleRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type
url string (uri)

List instance floating IPs

Get a list of instance floating IPs

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/floating_ips/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_floating_ips_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_floating_ips_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: openstack_instances_floating_ips_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesFloatingIpsList } from 'waldur-js-client';

try {
  const response = await openstackInstancesFloatingIpsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
uuid string (uuid)
address any The public IPv4 address of the floating IP
port_fixed_ips array of objects
port_fixed_ips.ip_address any IP address to assign to the port
port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
port_mac_address string MAC address of the port
subnet string (uri)
subnet_uuid string (uuid)
subnet_name string
subnet_description string
subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)

List instance ports

Get a list of instance ports

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ports/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_ports_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_ports_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: openstack_instances_ports_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesPortsList } from 'waldur-js-client';

try {
  const response = await openstackInstancesPortsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
fixed_ips array of objects
fixed_ips.ip_address any IP address to assign to the port
fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
mac_address string MAC address of the port
subnet string (uri) Subnet to which this port belongs
subnet_uuid string (uuid)
subnet_name string
subnet_description string
subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
allowed_address_pairs array of objects
allowed_address_pairs.mac_address string
device_id string ID of device (instance, router etc) to which this port is connected
device_owner string Entity that uses this port (e.g. network:router_interface)
security_groups array of objects
security_groups.url string (uri)
security_groups.uuid string (uuid)
security_groups.name string
security_groups.description string
security_groups.service_name string
security_groups.service_settings string (uri)
security_groups.service_settings_uuid string (uuid)
security_groups.service_settings_state string
security_groups.service_settings_error_message string
security_groups.project string (uri)
security_groups.project_name string
security_groups.project_uuid string (uuid)
security_groups.customer string (uri)
security_groups.customer_uuid string (uuid)
security_groups.customer_name string
security_groups.customer_native_name string
security_groups.customer_abbreviation string
security_groups.error_message string
security_groups.error_traceback string
security_groups.resource_type string
security_groups.state any
security_groups.created string (date-time)
security_groups.modified string (date-time)
security_groups.backend_id string
security_groups.access_url any
security_groups.tenant string (uri)
security_groups.tenant_name string
security_groups.tenant_uuid string (uuid)
security_groups.rules array of objects
security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
security_groups.rules.from_port integer Starting port number in the range (1-65535)
security_groups.rules.to_port integer Ending port number in the range (1-65535)
security_groups.rules.cidr string CIDR notation for the source/destination network address range
security_groups.rules.description string
security_groups.rules.remote_group_name string
security_groups.rules.remote_group_uuid string (uuid)
security_groups.rules.id integer
security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
security_groups.marketplace_offering_uuid string
security_groups.marketplace_offering_name string
security_groups.marketplace_offering_type string
security_groups.marketplace_offering_plugin_options object (free-form)
security_groups.marketplace_category_uuid string
security_groups.marketplace_category_name string
security_groups.marketplace_resource_uuid string
security_groups.marketplace_plan_uuid string
security_groups.marketplace_resource_state string
security_groups.is_usage_based boolean
security_groups.is_limit_based boolean

Create instance backup

Create backup from instance

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/backup/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-instance"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_backup_request import OpenStackBackupRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_backup # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackBackupRequest(
    name="my-awesome-openstack-instance"
)
response = openstack_instances_backup.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackBackupRequest
  2. API Source: openstack_instances_backup
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { openstackInstancesBackup } from 'waldur-js-client';

try {
  const response = await openstackInstancesBackup({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-instance"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
kept_until string (date-time) Guaranteed time of backup retention. If null - keep forever.

200 -

Field Type Description
url string (uri)
uuid string (uuid)
name string
description string
service_name string
service_settings string (uri)
service_settings_uuid string (uuid)
service_settings_state string
service_settings_error_message string
project string (uri)
project_name string
project_uuid string (uuid)
customer string (uri)
customer_uuid string (uuid)
customer_name string
customer_native_name string
customer_abbreviation string
error_message string
error_traceback string
resource_type string
state any
created string (date-time)
modified string (date-time)
backend_id string
access_url any
kept_until string (date-time) Guaranteed time of backup retention. If null - keep forever.
metadata any
instance string (uri) Instance that this backup is created from
instance_name string
instance_marketplace_uuid string (uuid)
restorations array of objects
restorations.uuid string (uuid)
restorations.instance string (uri) Instance that is being restored from the backup
restorations.created string (date-time)
restorations.flavor string (uri) Flavor to be used for the restored instance. If not specified, original instance flavor will be used
restorations.name string New instance name. Leave blank to use source instance name.
restorations.floating_ips array of objects
restorations.floating_ips.url string (uri)
restorations.floating_ips.uuid string (uuid)
restorations.floating_ips.address any The public IPv4 address of the floating IP
restorations.floating_ips.port_fixed_ips array of objects
restorations.floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
restorations.floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
restorations.floating_ips.port_mac_address string MAC address of the port
restorations.floating_ips.subnet string (uri)
restorations.floating_ips.subnet_uuid string (uuid)
restorations.floating_ips.subnet_name string
restorations.floating_ips.subnet_description string
restorations.floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
restorations.security_groups array of objects
restorations.security_groups.url string (uri)
restorations.security_groups.name string
restorations.security_groups.rules array of objects
restorations.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
restorations.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
restorations.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
restorations.security_groups.rules.from_port integer Starting port number in the range (1-65535)
restorations.security_groups.rules.to_port integer Ending port number in the range (1-65535)
restorations.security_groups.rules.cidr string CIDR notation for the source/destination network address range
restorations.security_groups.rules.description string
restorations.security_groups.rules.remote_group_name string
restorations.security_groups.rules.remote_group_uuid string (uuid)
restorations.security_groups.rules.id integer
restorations.security_groups.description string
restorations.security_groups.state string
restorations.ports array of objects
restorations.ports.url string (uri)
restorations.ports.fixed_ips array of objects
restorations.ports.fixed_ips.ip_address any IP address to assign to the port
restorations.ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
restorations.ports.mac_address string MAC address of the port
restorations.ports.subnet string (uri) Subnet to which this port belongs
restorations.ports.subnet_uuid string (uuid)
restorations.ports.subnet_name string
restorations.ports.subnet_description string
restorations.ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
restorations.ports.allowed_address_pairs array of objects
restorations.ports.allowed_address_pairs.mac_address string
restorations.ports.device_id string ID of device (instance, router etc) to which this port is connected
restorations.ports.device_owner string Entity that uses this port (e.g. network:router_interface)
restorations.ports.security_groups array of objects
restorations.ports.security_groups.url string (uri)
restorations.ports.security_groups.uuid string (uuid)
restorations.ports.security_groups.name string
restorations.ports.security_groups.description string
restorations.ports.security_groups.service_name string
restorations.ports.security_groups.service_settings string (uri)
restorations.ports.security_groups.service_settings_uuid string (uuid)
restorations.ports.security_groups.service_settings_state string
restorations.ports.security_groups.service_settings_error_message string
restorations.ports.security_groups.project string (uri)
restorations.ports.security_groups.project_name string
restorations.ports.security_groups.project_uuid string (uuid)
restorations.ports.security_groups.customer string (uri)
restorations.ports.security_groups.customer_uuid string (uuid)
restorations.ports.security_groups.customer_name string
restorations.ports.security_groups.customer_native_name string
restorations.ports.security_groups.customer_abbreviation string
restorations.ports.security_groups.error_message string
restorations.ports.security_groups.error_traceback string
restorations.ports.security_groups.resource_type string
restorations.ports.security_groups.state any
restorations.ports.security_groups.created string (date-time)
restorations.ports.security_groups.modified string (date-time)
restorations.ports.security_groups.backend_id string
restorations.ports.security_groups.access_url any
restorations.ports.security_groups.tenant string (uri)
restorations.ports.security_groups.tenant_name string
restorations.ports.security_groups.tenant_uuid string (uuid)
restorations.ports.security_groups.rules array of objects
restorations.ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
restorations.ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
restorations.ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
restorations.ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
restorations.ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
restorations.ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
restorations.ports.security_groups.rules.description string
restorations.ports.security_groups.rules.remote_group_name string
restorations.ports.security_groups.rules.remote_group_uuid string (uuid)
restorations.ports.security_groups.rules.id integer
restorations.ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
restorations.ports.security_groups.marketplace_offering_uuid string
restorations.ports.security_groups.marketplace_offering_name string
restorations.ports.security_groups.marketplace_offering_type string
restorations.ports.security_groups.marketplace_offering_plugin_options object (free-form)
restorations.ports.security_groups.marketplace_category_uuid string
restorations.ports.security_groups.marketplace_category_name string
restorations.ports.security_groups.marketplace_resource_uuid string
restorations.ports.security_groups.marketplace_plan_uuid string
restorations.ports.security_groups.marketplace_resource_state string
restorations.ports.security_groups.is_usage_based boolean
restorations.ports.security_groups.is_limit_based boolean
instance_security_groups array of objects
instance_security_groups.url string (uri)
instance_security_groups.name string
instance_security_groups.rules array of objects
instance_security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
instance_security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
instance_security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
instance_security_groups.rules.from_port integer Starting port number in the range (1-65535)
instance_security_groups.rules.to_port integer Ending port number in the range (1-65535)
instance_security_groups.rules.cidr string CIDR notation for the source/destination network address range
instance_security_groups.rules.description string
instance_security_groups.rules.remote_group_name string
instance_security_groups.rules.remote_group_uuid string (uuid)
instance_security_groups.rules.id integer
instance_security_groups.description string
instance_security_groups.state string
instance_ports array of objects
instance_ports.url string (uri)
instance_ports.fixed_ips array of objects
instance_ports.fixed_ips.ip_address any IP address to assign to the port
instance_ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
instance_ports.mac_address string MAC address of the port
instance_ports.subnet string (uri) Subnet to which this port belongs
instance_ports.subnet_uuid string (uuid)
instance_ports.subnet_name string
instance_ports.subnet_description string
instance_ports.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
instance_ports.allowed_address_pairs array of objects
instance_ports.allowed_address_pairs.mac_address string
instance_ports.device_id string ID of device (instance, router etc) to which this port is connected
instance_ports.device_owner string Entity that uses this port (e.g. network:router_interface)
instance_ports.security_groups array of objects
instance_ports.security_groups.url string (uri)
instance_ports.security_groups.uuid string (uuid)
instance_ports.security_groups.name string
instance_ports.security_groups.description string
instance_ports.security_groups.service_name string
instance_ports.security_groups.service_settings string (uri)
instance_ports.security_groups.service_settings_uuid string (uuid)
instance_ports.security_groups.service_settings_state string
instance_ports.security_groups.service_settings_error_message string
instance_ports.security_groups.project string (uri)
instance_ports.security_groups.project_name string
instance_ports.security_groups.project_uuid string (uuid)
instance_ports.security_groups.customer string (uri)
instance_ports.security_groups.customer_uuid string (uuid)
instance_ports.security_groups.customer_name string
instance_ports.security_groups.customer_native_name string
instance_ports.security_groups.customer_abbreviation string
instance_ports.security_groups.error_message string
instance_ports.security_groups.error_traceback string
instance_ports.security_groups.resource_type string
instance_ports.security_groups.state any
instance_ports.security_groups.created string (date-time)
instance_ports.security_groups.modified string (date-time)
instance_ports.security_groups.backend_id string
instance_ports.security_groups.access_url any
instance_ports.security_groups.tenant string (uri)
instance_ports.security_groups.tenant_name string
instance_ports.security_groups.tenant_uuid string (uuid)
instance_ports.security_groups.rules array of objects
instance_ports.security_groups.rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
instance_ports.security_groups.rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
instance_ports.security_groups.rules.protocol string Network protocol: 'tcp', 'udp', 'icmp', empty (any) or an IANA protocol number 0-255 (e.g. '112' for VRRP).
instance_ports.security_groups.rules.from_port integer Starting port number in the range (1-65535)
instance_ports.security_groups.rules.to_port integer Ending port number in the range (1-65535)
instance_ports.security_groups.rules.cidr string CIDR notation for the source/destination network address range
instance_ports.security_groups.rules.description string
instance_ports.security_groups.rules.remote_group_name string
instance_ports.security_groups.rules.remote_group_uuid string (uuid)
instance_ports.security_groups.rules.id integer
instance_ports.security_groups.rules.remote_group string (uri) Remote security group that this rule references, if any
instance_ports.security_groups.marketplace_offering_uuid string
instance_ports.security_groups.marketplace_offering_name string
instance_ports.security_groups.marketplace_offering_type string
instance_ports.security_groups.marketplace_offering_plugin_options object (free-form)
instance_ports.security_groups.marketplace_category_uuid string
instance_ports.security_groups.marketplace_category_name string
instance_ports.security_groups.marketplace_resource_uuid string
instance_ports.security_groups.marketplace_plan_uuid string
instance_ports.security_groups.marketplace_resource_state string
instance_ports.security_groups.is_usage_based boolean
instance_ports.security_groups.is_limit_based boolean
instance_floating_ips array of objects
instance_floating_ips.url string (uri)
instance_floating_ips.uuid string (uuid)
instance_floating_ips.address any The public IPv4 address of the floating IP
instance_floating_ips.port_fixed_ips array of objects
instance_floating_ips.port_fixed_ips.ip_address any IP address to assign to the port
instance_floating_ips.port_fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
instance_floating_ips.port_mac_address string MAC address of the port
instance_floating_ips.subnet string (uri)
instance_floating_ips.subnet_uuid string (uuid)
instance_floating_ips.subnet_name string
instance_floating_ips.subnet_description string
instance_floating_ips.subnet_cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
tenant_uuid string (uuid)
marketplace_offering_uuid string
marketplace_offering_name string
marketplace_offering_type string
marketplace_offering_plugin_options object (free-form)
marketplace_category_uuid string
marketplace_category_name string
marketplace_resource_uuid string
marketplace_plan_uuid string
marketplace_resource_state string
is_usage_based boolean
is_limit_based boolean

Update instance allowed address pairs

Update allowed address pairs of the instance

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_allowed_address_pairs/ \
  Authorization:"Token YOUR_API_TOKEN" \
  subnet="https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  allowed_address_pairs:='[]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_allowed_address_pairs_update_request import OpenStackInstanceAllowedAddressPairsUpdateRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_update_allowed_address_pairs # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackInstanceAllowedAddressPairsUpdateRequest(
    subnet="https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    allowed_address_pairs=[]
)
response = openstack_instances_update_allowed_address_pairs.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackInstanceAllowedAddressPairsUpdateRequest
  2. API Source: openstack_instances_update_allowed_address_pairs
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { openstackInstancesUpdateAllowedAddressPairs } from 'waldur-js-client';

try {
  const response = await openstackInstancesUpdateAllowedAddressPairs({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "subnet": "https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "allowed_address_pairs": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
subnet string (uri) The subnet to update allowed address pairs for.
Constraints: write-only
allowed_address_pairs array of objects List of allowed address pairs to set on the port. Each pair should contain 'ip_address' and optional 'mac_address'.
allowed_address_pairs.ip_address string
Constraints: write-only, default: 192.168.42.0/24
allowed_address_pairs.mac_address string

202 -

Field Type
status string

Update instance floating IPs

Update floating IPs of the instance

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_floating_ips/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_floating_i_ps_update_request import OpenStackInstanceFloatingIPsUpdateRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_update_floating_ips # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackInstanceFloatingIPsUpdateRequest()
response = openstack_instances_update_floating_ips.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackInstanceFloatingIPsUpdateRequest
  2. API Source: openstack_instances_update_floating_ips
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesUpdateFloatingIps } from 'waldur-js-client';

try {
  const response = await openstackInstancesUpdateFloatingIps({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
floating_ips array of objects
floating_ips.url string (uri)
floating_ips.ip_address any Existing floating IP address in selected OpenStack tenant to be assigned to new virtual machine
floating_ips.subnet string (uri)

202 -

Field Type
status string

Update instance ports

Update ports of the instance

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_ports/ \
  Authorization:"Token YOUR_API_TOKEN" \
  ports:='["private-vlan-port"]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_ports_update_request import OpenStackInstancePortsUpdateRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_update_ports # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackInstancePortsUpdateRequest(
    ports=[
            "private-vlan-port"
        ]
)
response = openstack_instances_update_ports.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackInstancePortsUpdateRequest
  2. API Source: openstack_instances_update_ports
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import { openstackInstancesUpdatePorts } from 'waldur-js-client';

try {
  const response = await openstackInstancesUpdatePorts({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "ports": [
      "private-vlan-port"
    ]
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
ports array of objects
ports.fixed_ips array of objects
ports.fixed_ips.ip_address any IP address to assign to the port
ports.fixed_ips.subnet_id string ID of the subnet in which to assign the IP address
ports.subnet string (uri) Subnet to which this port belongs
ports.port string (uri)
ports.tenant string (uri) Target tenant for port creation. If not specified, uses subnet's tenant.
Constraints: write-only

202 -

Field Type
status string

Update instance security groups

Update security groups of the instance

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/update_security_groups/ \
  Authorization:"Token YOUR_API_TOKEN" \
  security_groups:='["web-server-sg"]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_instance_security_groups_update_request import OpenStackInstanceSecurityGroupsUpdateRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_update_security_groups # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = OpenStackInstanceSecurityGroupsUpdateRequest(
    security_groups=[
            "web-server-sg"
        ]
)
response = openstack_instances_update_security_groups.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: OpenStackInstanceSecurityGroupsUpdateRequest
  2. API Source: openstack_instances_update_security_groups
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import { openstackInstancesUpdateSecurityGroups } from 'waldur-js-client';

try {
  const response = await openstackInstancesUpdateSecurityGroups({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "security_groups": [
      "web-server-sg"
    ]
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
security_groups array of string (uri)s List of security groups to be assigned to the instance.

202 -

Field Type
status string

Other Actions

Get Placement allocations for the instance

Return what the OpenStack Placement service records as currently allocated to this instance, broken down by resource provider. Useful for diagnostics — especially for non-classic resources (VGPU, PCI_DEVICE, custom classes) that the flavor alone does not describe. Returns an empty list when Placement has no record (e.g. transient state right after create, or pre-Placement clouds).

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/placement_allocations/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_placement_allocations_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_placement_allocations_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: openstack_instances_placement_allocations_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesPlacementAllocationsList } from 'waldur-js-client';

try {
  const response = await openstackInstancesPlacementAllocationsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

200 -

The response body is an array of objects, where each object has the following structure:

Field Type
resource_provider_uuid string
resource_provider_name string
resources object (free-form)

Change instance flavor

Change flavor of the instance

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/change_flavor/ \
  Authorization:"Token YOUR_API_TOKEN" \
  flavor="https://api.example.com/api/flavor/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.instance_flavor_change_request import InstanceFlavorChangeRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_change_flavor # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = InstanceFlavorChangeRequest(
    flavor="https://api.example.com/api/flavor/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_instances_change_flavor.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: InstanceFlavorChangeRequest
  2. API Source: openstack_instances_change_flavor
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import { openstackInstancesChangeFlavor } from 'waldur-js-client';

try {
  const response = await openstackInstancesChangeFlavor({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "flavor": "https://api.example.com/api/flavor/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
flavor string (uri) The new flavor to use for the instance. Flavor change can only be done when instance is stopped.

202 -

Field Type
status string

Diagnose connectivity

Walks the wiring that connects this instance to the requested target (default 'external') and returns a per-check report computed from Waldur's already-pulled state — no live OpenStack call. Use to triage 'VM can't reach the internet' or 'VIP doesn't work' tickets in one click.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/diagnose_connectivity/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.diagnose_connectivity_request_request import DiagnoseConnectivityRequestRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_diagnose_connectivity # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = DiagnoseConnectivityRequestRequest()
response = openstack_instances_diagnose_connectivity.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: DiagnoseConnectivityRequestRequest
  2. API Source: openstack_instances_diagnose_connectivity
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesDiagnoseConnectivity } from 'waldur-js-client';

try {
  const response = await openstackInstancesDiagnoseConnectivity({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
target string Connectivity target. 'external' (default) checks outbound internet; 'internal:' checks east-west to another IP; 'fip:
' verifies a specific floating-IP mapping.
Constraints: default: external

200 -

Field Type
target string
target_address string
checks array of objects
checks.check string
checks.status string
checks.detail string
checks.fix_hint string
root_cause string

Rescue instance

Boot the instance from a separate rescue image while keeping the original disk attached. Volume-backed instances require an explicit rescue_image with hw_rescue_device or hw_rescue_bus set.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/rescue/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.instance_rescue_request import InstanceRescueRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_rescue # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = InstanceRescueRequest()
response = openstack_instances_rescue.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: InstanceRescueRequest
  2. API Source: openstack_instances_rescue
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesRescue } from 'waldur-js-client';

try {
  const response = await openstackInstancesRescue({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
rescue_image string (uri) Optional rescue image. Required for volume-backed instances; must be a Glance image with hw_rescue_device or hw_rescue_bus set (a 'stable device rescue' image).

202 -

Field Type
status string

Mark resource as ERRED

Manually transition the resource to ERRED state. This is useful for resources stuck in transitional states (CREATING, UPDATING, DELETING) that cannot be synced via pull. Staff-only operation.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_erred/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.set_erred_request import SetErredRequest # (1)
from waldur_api_client.api.openstack_instances import openstack_instances_set_erred # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SetErredRequest()
response = openstack_instances_set_erred.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SetErredRequest
  2. API Source: openstack_instances_set_erred
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesSetErred } from 'waldur-js-client';

try {
  const response = await openstackInstancesSetErred({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
error_message string
error_traceback string

200 -

Field Type
detail string

Mark resource as OK

Manually transition the resource to OK state and clear error fields. Staff-only operation.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_ok/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_set_ok # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_set_ok.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_set_ok
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesSetOk } from 'waldur-js-client';

try {
  const response = await openstackInstancesSetOk({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type
detail string

Unrescue instance

Restore the instance from rescue mode.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-instances/a1b2c3d4-e5f6-7890-abcd-ef1234567890/unrescue/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_instances import openstack_instances_unrescue # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = openstack_instances_unrescue.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: openstack_instances_unrescue
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { openstackInstancesUnrescue } from 'waldur-js-client';

try {
  const response = await openstackInstancesUnrescue({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

202 -

Field Type
status string