Openstack
Operations Summary
List Openstack Discovery
Retrieve
List health monitors
Get a list of pool health monitors.
Get health monitor details
Retrieve details of a specific health monitor.
List Openstack Hypervisor Inventories
HTTPie Python TypeScript Query Parameters Responses
http \
GET \
https://api.example.com/api/openstack-hypervisor-inventories/ \
Authorization:"Token YOUR_API_TOKEN"
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_hypervisor_inventories import openstack_hypervisor_inventories_list # (1)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = openstack_hypervisor_inventories_list . sync ( client = client )
for item in response :
print ( item )
API Source: openstack_hypervisor_inventories_list
import { openstackHypervisorInventoriesList } from 'waldur-js-client' ;
try {
const response = await openstackHypervisorInventoriesList ({
auth : "Token YOUR_API_TOKEN"
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
hypervisor_uuid
string (uuid)
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
resource_class
string
settings_uuid
string (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)
hypervisor
string (uri)
hypervisor_uuid
string (uuid)
hypervisor_name
string
settings
string (uri)
settings_uuid
string (uuid)
resource_class
string
Placement resource class, e.g. VCPU, MEMORY_MB, DISK_GB, VGPU, PCI_DEVICE, NUMA_CORE, CUSTOM_*.
total
integer (int64)
reserved
integer (int64)
allocation_ratio
number (double)
used
integer (int64)
effective_total
integer
Capacity the Nova scheduler treats as available.
Retrieve
HTTPie Python TypeScript Path Parameters Responses
http \
GET \
https://api.example.com/api/openstack-hypervisor-inventories/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
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_hypervisor_inventories import openstack_hypervisor_inventories_retrieve # (1)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = openstack_hypervisor_inventories_retrieve . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client
)
print ( response )
API Source: openstack_hypervisor_inventories_retrieve
1
2
3
4
5
6
7
8
9
10
11
12
13 import { openstackHypervisorInventoriesRetrieve } from 'waldur-js-client' ;
try {
const response = await openstackHypervisorInventoriesRetrieve ({
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
Description
url
string (uri)
uuid
string (uuid)
hypervisor
string (uri)
hypervisor_uuid
string (uuid)
hypervisor_name
string
settings
string (uri)
settings_uuid
string (uuid)
resource_class
string
Placement resource class, e.g. VCPU, MEMORY_MB, DISK_GB, VGPU, PCI_DEVICE, NUMA_CORE, CUSTOM_*.
total
integer (int64)
reserved
integer (int64)
allocation_ratio
number (double)
used
integer (int64)
effective_total
integer
Capacity the Nova scheduler treats as available.
Pre-flight allocation candidates
Ask Placement which compute hosts could currently satisfy a request for the given resources (and required traits). Useful as a pre-flight check before placing an order on a fully-booked cloud. Returns 0 candidates when nothing fits, with the same provider_summaries Placement returns for diagnostic display.
HTTPie Python TypeScript Query Parameters Responses
http \
GET \
https://api.example.com/api/openstack-hypervisors/allocation_candidates/ \
Authorization:"Token YOUR_API_TOKEN" \
resources == "string-value" \
settings_uuid == "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
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_hypervisors import openstack_hypervisors_allocation_candidates_retrieve # (1)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = openstack_hypervisors_allocation_candidates_retrieve . sync (
client = client ,
resources = "string-value" ,
settings_uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
print ( response )
API Source: openstack_hypervisors_allocation_candidates_retrieve
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import { openstackHypervisorsAllocationCandidatesRetrieve } from 'waldur-js-client' ;
try {
const response = await openstackHypervisorsAllocationCandidatesRetrieve ({
auth : "Token YOUR_API_TOKEN" ,
query : {
"resources" : "string-value" ,
"settings_uuid" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Required
Description
limit
integer
Cap on returned candidates (default 10).
required
string
e.g. HW_CPU_X86_AVX2,STORAGE_DISK_SSD
resources
string
✓
e.g. VCPU:4,MEMORY_MB:8192,DISK_GB:10
settings_uuid
string (uuid)
✓
200 -
Field
Type
Description
candidate_count
integer
Total number of allocation candidates Placement returned.
provider_summaries
object (free-form)
Placement's per-provider summary: maps resource_provider_uuid → {resources: {CLASS: {used, capacity}, ...}, traits: [...]}.
List Openstack Hypervisors
Retrieve
HTTPie Python TypeScript Path Parameters Responses
http \
GET \
https://api.example.com/api/openstack-hypervisors/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
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_hypervisors import openstack_hypervisors_retrieve # (1)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
response = openstack_hypervisors_retrieve . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client
)
print ( response )
API Source: openstack_hypervisors_retrieve
1
2
3
4
5
6
7
8
9
10
11
12
13 import { openstackHypervisorsRetrieve } from 'waldur-js-client' ;
try {
const response = await openstackHypervisorsRetrieve ({
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
Description
url
string (uri)
uuid
string (uuid)
name
string
settings
string (uri)
backend_id
string
hypervisor_type
string
Hypervisor type, e.g. KVM, QEMU, VMware
vcpus
integer
Total vCPUs
vcpus_used
integer
Used vCPUs
memory_mb
integer
Total RAM in MiB
memory_mb_used
integer
Used RAM in MiB
local_gb
integer
Total disk in GiB
local_gb_used
integer
Used disk in GiB
running_vms
integer
Number of running VMs
state
string
Hypervisor state, e.g. up or down
status
string
Hypervisor status, e.g. enabled or disabled
traits
array of strings
Get hypervisor summary statistics
Return aggregated vCPU, RAM and disk totals across all hypervisors matching the current filter (e.g. settings_uuid).
List listeners
Get a list of load balancer listeners.
Get listener details
Retrieve details of a specific listener.
List load balancers
Get a list of load balancers.
Get load balancer details
Retrieve details of a specific load balancer.
List pool members
Get a list of pool members.
Get pool member details
Retrieve details of a specific pool member.
List pools
Get a list of load balancer pools.
Get pool details
Retrieve details of a specific pool.
Create
Discover available external networks
Discover available external networks.
HTTPie Python TypeScript Query Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/discover_external_networks/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.discover_external_networks_request_request import DiscoverExternalNetworksRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_discover_external_networks # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverExternalNetworksRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_discover_external_networks . sync (
client = client ,
body = body_data
)
for item in response :
print ( item )
Model Source: DiscoverExternalNetworksRequestRequest
API Source: openstack_discovery_discover_external_networks
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryDiscoverExternalNetworks } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryDiscoverExternalNetworks ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
The response body is an array of objects, where each object has the following structure:
Field
Type
id
string
name
string
is_shared
boolean
subnets
array of objects
subnets.id
string
subnets.name
string
subnets.cidr
string
subnets.gateway_ip
string
subnets.ip_version
integer
Discover available flavors
Discover available flavors.
HTTPie Python TypeScript Query Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/discover_flavors/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.discover_flavors_request_request import DiscoverFlavorsRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_discover_flavors # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverFlavorsRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_discover_flavors . sync (
client = client ,
body = body_data
)
for item in response :
print ( item )
Model Source: DiscoverFlavorsRequestRequest
API Source: openstack_discovery_discover_flavors
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryDiscoverFlavors } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryDiscoverFlavors ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
The response body is an array of objects, where each object has the following structure:
Field
Type
Description
id
string
name
string
vcpus
integer
ram
integer
RAM in MB
disk
integer
Disk in GB
Discover available Nova instance availability zones
Discover available Nova instance availability zones.
HTTPie Python TypeScript Query Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/discover_instance_availability_zones/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.discover_instance_availability_zones_request_request import DiscoverInstanceAvailabilityZonesRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_discover_instance_availability_zones # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverInstanceAvailabilityZonesRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_discover_instance_availability_zones . sync (
client = client ,
body = body_data
)
for item in response :
print ( item )
Model Source: DiscoverInstanceAvailabilityZonesRequestRequest
API Source: openstack_discovery_discover_instance_availability_zones
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryDiscoverInstanceAvailabilityZones } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryDiscoverInstanceAvailabilityZones ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
The response body is an array of objects, where each object has the following structure:
Field
Type
name
string
state
string
Discover available Cinder volume availability zones
Discover available Cinder volume availability zones.
HTTPie Python TypeScript Query Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/discover_volume_availability_zones/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.discover_volume_availability_zones_request_request import DiscoverVolumeAvailabilityZonesRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_discover_volume_availability_zones # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverVolumeAvailabilityZonesRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_discover_volume_availability_zones . sync (
client = client ,
body = body_data
)
for item in response :
print ( item )
Model Source: DiscoverVolumeAvailabilityZonesRequestRequest
API Source: openstack_discovery_discover_volume_availability_zones
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryDiscoverVolumeAvailabilityZones } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryDiscoverVolumeAvailabilityZones ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
The response body is an array of objects, where each object has the following structure:
Field
Type
name
string
state
string
Discover available volume types
Discover available volume types.
HTTPie Python TypeScript Query Parameters Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/discover_volume_types/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.discover_volume_types_request_request import DiscoverVolumeTypesRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_discover_volume_types # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverVolumeTypesRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_discover_volume_types . sync (
client = client ,
body = body_data
)
for item in response :
print ( item )
Model Source: DiscoverVolumeTypesRequestRequest
API Source: openstack_discovery_discover_volume_types
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryDiscoverVolumeTypes } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryDiscoverVolumeTypes ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Description
page
integer
A page number within the paginated result set.
page_size
integer
Number of results to return per page.
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
The response body is an array of objects, where each object has the following structure:
Field
Type
id
string
name
string
description
string
Build service_attributes and plugin_options from selected values
Build service_attributes and plugin_options from selected values.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/preview_service_attributes/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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.preview_service_attributes_request_request import PreviewServiceAttributesRequestRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_preview_service_attributes # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = PreviewServiceAttributesRequestRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_preview_service_attributes . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: PreviewServiceAttributesRequestRequest
API Source: openstack_discovery_preview_service_attributes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryPreviewServiceAttributes } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryPreviewServiceAttributes ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
external_network_id
string
Selected external network IDConstraints: default: ``
instance_availability_zone
string
Selected instance availability zone nameConstraints: default: ``
volume_availability_zone
string
Selected volume availability zone nameConstraints: default: ``
200 -
Field
Type
service_attributes
object (free-form)
plugin_options
object (free-form)
Validate OpenStack credentials without saving them
Validate OpenStack credentials without saving them.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack/discovery/validate_credentials/ \
Authorization:"Token YOUR_API_TOKEN" \
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
username = "alice" \
password = "********"
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_credentials_request import OpenStackCredentialsRequest # (1)
from waldur_api_client.api.openstack import openstack_discovery_validate_credentials # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = OpenStackCredentialsRequest (
auth_url = "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
username = "alice" ,
password = "********"
)
response = openstack_discovery_validate_credentials . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: OpenStackCredentialsRequest
API Source: openstack_discovery_validate_credentials
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackDiscoveryValidateCredentials } from 'waldur-js-client' ;
try {
const response = await openstackDiscoveryValidateCredentials ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"auth_url" : "https://api.example.com/api/auth-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"username" : "alice" ,
"password" : "********"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
auth_url
string (uri)
✓
Keystone auth URL (e.g., https://cloud.example.com:5000/v3)
username
string
✓
password
string
✓
Constraints: write-only
user_domain_name
string
Keystone user domain nameConstraints: default: Default
project_domain_name
string
Keystone project domain nameConstraints: default: Default
project_name
string
Keystone project (tenant) nameConstraints: default: admin
auth_type
any
Authentication method: password or v3applicationcredentialConstraints: default: password
verify_ssl
boolean
Constraints: default: False
certificate
string
PEM-encoded CA certificate for SSL verificationConstraints: write-only
200 -
Field
Type
valid
boolean
message
string
error
string
server_info
any
Create health monitor
Create a new health monitor for a pool.
Pull health monitor
Synchronize health monitor state from the OpenStack backend. Also pulls the associated pool and load balancer.
Create listener
Create a new listener for a load balancer.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack-listeners/ \
Authorization:"Token YOUR_API_TOKEN" \
load_balancer = "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
protocol = "TCP" \
protocol_port = 8080
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.create_listener_request import CreateListenerRequest # (1)
from waldur_api_client.api.openstack_listeners import openstack_listeners_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = CreateListenerRequest (
load_balancer = "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
protocol = "TCP" ,
protocol_port = 8080
)
response = openstack_listeners_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: CreateListenerRequest
API Source: openstack_listeners_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackListenersCreate } from 'waldur-js-client' ;
try {
const response = await openstackListenersCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"load_balancer" : "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"protocol" : "TCP" ,
"protocol_port" : 8080
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
name
string
default_pool
string (uri)
load_balancer
string (uri)
✓
Load balancer this listener belongs to
protocol
string
✓
Enum: TCP, UDP
protocol_port
integer
✓
Port on which the listener listens
201 -
Field
Type
Description
name
string
default_pool
string (uri)
url
string (uri)
uuid
string (uuid)
load_balancer
string (uri)
Load balancer this listener belongs to
protocol
string
Enum: TCP, UDP
protocol_port
integer
Port on which the listener listens
Pull listener
Synchronize listener state from the OpenStack backend. Also pulls pools of the load balancer and the load balancer itself.
Attach floating IP to VIP
Attach a floating IP to the load balancer VIP port.
Create load balancer
Create a new load balancer.
Detach floating IP from VIP
Detach floating IP from the load balancer VIP port.
Pull load balancer
Synchronize load balancer state from the OpenStack backend.
Set security groups on VIP port
Set security groups on the load balancer VIP port to control access.
Unlink load balancer
Delete the load balancer from the Waldur database without scheduling operations on the OpenStack backend and without checking resource state. Staff-only; intended for cleaning up records stuck in transitional states.
Create pool member
Create a new member for a pool.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack-pool-members/ \
Authorization:"Token YOUR_API_TOKEN" \
pool = "https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
address = null \
protocol_port = 8080 \
subnet = "https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
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.create_pool_member_request import CreatePoolMemberRequest # (1)
from waldur_api_client.api.openstack_pool_members import openstack_pool_members_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = CreatePoolMemberRequest (
pool = "https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
address = null ,
protocol_port = 8080 ,
subnet = "https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_pool_members_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: CreatePoolMemberRequest
API Source: openstack_pool_members_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import { openstackPoolMembersCreate } from 'waldur-js-client' ;
try {
const response = await openstackPoolMembersCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"pool" : "https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"address" : null ,
"protocol_port" : 8080 ,
"subnet" : "https://api.example.com/api/subnet/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
name
string
weight
integer
Constraints: default: 1
pool
string (uri)
✓
Pool this member belongs to
address
any
✓
An IPv4 or IPv6 address.
protocol_port
integer
✓
Port on the backend server
subnet
string (uri)
✓
201 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
name
string
weight
integer
pool
string (uri)
Pool this member belongs to
address
any
An IPv4 or IPv6 address.
protocol_port
integer
Port on the backend server
subnet
string (uri)
Pull pool member
Synchronize pool member state from the OpenStack backend. Also pulls the associated pool and load balancer.
Create pool
Create a new pool for a load balancer.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/openstack-pools/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-openstack-pool" \
load_balancer = "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
protocol = "TCP"
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.create_pool_request import CreatePoolRequest # (1)
from waldur_api_client.api.openstack_pools import openstack_pools_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = CreatePoolRequest (
name = "my-awesome-openstack-pool" ,
load_balancer = "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
protocol = "TCP"
)
response = openstack_pools_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: CreatePoolRequest
API Source: openstack_pools_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import { openstackPoolsCreate } from 'waldur-js-client' ;
try {
const response = await openstackPoolsCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"name" : "my-awesome-openstack-pool" ,
"load_balancer" : "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"protocol" : "TCP"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
name
string
✓
load_balancer
string (uri)
✓
Load balancer this pool belongs to
protocol
string
✓
Enum: TCP, UDP
lb_algorithm
any
Constraints: default: SOURCE_IP_PORT
201 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
name
string
load_balancer
string (uri)
Load balancer this pool belongs to
protocol
string
Enum: TCP, UDP
lb_algorithm
any
Pull pool
Synchronize pool state from the OpenStack backend. Also pulls the associated load balancer.
Update
Update health monitor
Update an existing health monitor.
Update listener
Update an existing listener.
Update load balancer
Update an existing load balancer.
Update pool member
Update an existing pool member.
Update pool
Update an existing pool.
Partial Update
Partially update health monitor
Update specific fields of a health monitor.
Partially update listener
Update specific fields of a listener.
Partially update load balancer
Update specific fields of a load balancer.
Partially update pool member
Update specific fields of a pool member.
Partially update pool
Update specific fields of a pool.
Delete
Delete health monitor
Delete a health monitor.
Delete listener
Delete a listener.
Delete load balancer
Delete a load balancer.
Delete pool member
Delete a pool member.
Delete pool
Delete a pool.