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 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: write-only |
external_network_id |
string |
|
Selected external network ID Constraints: default: `` |
instance_availability_zone |
string |
|
Selected instance availability zone name Constraints: default: `` |
volume_availability_zone |
string |
|
Selected volume availability zone name Constraints: 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.
| 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 name Constraints: default: Default |
project_domain_name |
string |
|
Keystone project domain name Constraints: default: Default |
project_name |
string |
|
Keystone project (tenant) name Constraints: default: admin |
auth_type |
any |
|
Authentication method: password or v3applicationcredential Constraints: default: password |
verify_ssl |
boolean |
|
Constraints: default: False |
certificate |
string |
|
PEM-encoded CA certificate for SSL verification Constraints: 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.
| http \
POST \
https://api.example.com/api/openstack-health-monitors/ \
Authorization:"Token YOUR_API_TOKEN" \
pool="https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
type="TCP" \
delay=123 \
timeout=123 \
max_retries=123
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.create_health_monitor_request import CreateHealthMonitorRequest # (1)
from waldur_api_client.api.openstack_health_monitors import openstack_health_monitors_create # (2)
client = AuthenticatedClient(
base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
body_data = CreateHealthMonitorRequest(
pool="https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
type="TCP",
delay=123,
timeout=123,
max_retries=123
)
response = openstack_health_monitors_create.sync(
client=client,
body=body_data
)
print(response)
|
- Model Source:
CreateHealthMonitorRequest
- API Source:
openstack_health_monitors_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | import { openstackHealthMonitorsCreate } from 'waldur-js-client';
try {
const response = await openstackHealthMonitorsCreate({
auth: "Token YOUR_API_TOKEN",
body: {
"pool": "https://api.example.com/api/pool/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"type": "TCP",
"delay": 123,
"timeout": 123,
"max_retries": 123
}
});
console.log('Success:', response);
} catch (error) {
console.error('Error:', error);
}
|
| Field |
Type |
Required |
Description |
pool |
string (uri) |
✓ |
Pool this health monitor belongs to |
name |
string |
|
|
type |
string |
✓ |
Enum: TCP, UDP |
delay |
integer |
✓ |
Interval between health checks in seconds |
timeout |
integer |
✓ |
Time in seconds to timeout a health check |
max_retries |
integer |
✓ |
Number of retries before marking member as down |
201 -
| Field |
Type |
Description |
url |
string (uri) |
|
uuid |
string (uuid) |
|
pool |
string (uri) |
Pool this health monitor belongs to |
name |
string |
|
type |
string |
Enum: TCP, UDP |
delay |
integer |
Interval between health checks in seconds |
timeout |
integer |
Time in seconds to timeout a health check |
max_retries |
integer |
Number of retries before marking member as down |
project |
string (uri) |
|
service_settings |
string (uri) |
|
Create listener
Create a new listener for a load balancer.
| 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/" \
name="my-awesome-openstack-listener" \
protocol="TCP" \
protocol_port=8080
|
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_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/",
name="my-awesome-openstack-listener",
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
16 | 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/",
"name": "my-awesome-openstack-listener",
"protocol": "TCP",
"protocol_port": 8080
}
});
console.log('Success:', response);
} catch (error) {
console.error('Error:', error);
}
|
| Field |
Type |
Required |
Description |
load_balancer |
string (uri) |
✓ |
Load balancer this listener belongs to |
name |
string |
✓ |
|
protocol |
string |
✓ |
Enum: TCP, UDP |
protocol_port |
integer |
✓ |
Port on which the listener listens |
default_pool |
string (uri) |
|
|
201 -
| Field |
Type |
Description |
url |
string (uri) |
|
uuid |
string (uuid) |
|
load_balancer |
string (uri) |
Load balancer this listener belongs to |
name |
string |
|
protocol |
string |
Enum: TCP, UDP |
protocol_port |
integer |
Port on which the listener listens |
default_pool |
string (uri) |
|
project |
string (uri) |
|
service_settings |
string (uri) |
|
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.
Update VIP security groups
Update security groups on the load balancer VIP port.
Create pool member
Create a new member for a pool.
| 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_id="string-value"
|
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_id="string-value"
)
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_id": "string-value"
}
});
console.log('Success:', response);
} catch (error) {
console.error('Error:', error);
}
|
| Field |
Type |
Required |
Description |
pool |
string (uri) |
✓ |
Pool this member belongs to |
name |
string |
|
|
address |
any |
✓ |
An IPv4 or IPv6 address. |
protocol_port |
integer |
✓ |
Port on the backend server |
subnet_id |
string |
✓ |
|
weight |
integer |
|
Constraints: default: 1 |
201 -
| Field |
Type |
Description |
url |
string (uri) |
|
uuid |
string (uuid) |
|
pool |
string (uri) |
Pool this member belongs to |
name |
string |
|
address |
any |
An IPv4 or IPv6 address. |
protocol_port |
integer |
Port on the backend server |
subnet_id |
string |
|
weight |
integer |
|
project |
string (uri) |
|
service_settings |
string (uri) |
|
Create pool
Create a new pool for a load balancer.
| http \
POST \
https://api.example.com/api/openstack-pools/ \
Authorization:"Token YOUR_API_TOKEN" \
load_balancer="https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
name="my-awesome-openstack-pool" \
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(
load_balancer="https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
name="my-awesome-openstack-pool",
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: {
"load_balancer": "https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"name": "my-awesome-openstack-pool",
"protocol": "TCP"
}
});
console.log('Success:', response);
} catch (error) {
console.error('Error:', error);
}
|
| Field |
Type |
Required |
Description |
load_balancer |
string (uri) |
✓ |
Load balancer this pool belongs to |
name |
string |
✓ |
|
protocol |
string |
✓ |
Enum: TCP, UDP |
lb_algorithm |
any |
|
Constraints: default: SOURCE_IP_PORT |
201 -
| Field |
Type |
Description |
url |
string (uri) |
|
uuid |
string (uuid) |
|
load_balancer |
string (uri) |
Load balancer this pool belongs to |
name |
string |
|
protocol |
string |
Enum: TCP, UDP |
lb_algorithm |
any |
|
project |
string (uri) |
|
service_settings |
string (uri) |
|
Update
Update health monitor
Update an existing health monitor.
Update listener
Update an existing listener.
Update load balancer
Update an existing load balancer.
| http \
PUT \
https://api.example.com/api/openstack-loadbalancers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
Authorization:"Token YOUR_API_TOKEN" \
name="my-awesome-openstack-loadbalancer" \
service_settings="https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
project="https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
tenant="https://api.example.com/api/tenant/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
21 | from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_load_balancer_request import OpenStackLoadBalancerRequest # (1)
from waldur_api_client.api.openstack_loadbalancers import openstack_loadbalancers_update # (2)
client = AuthenticatedClient(
base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
body_data = OpenStackLoadBalancerRequest(
name="my-awesome-openstack-loadbalancer",
service_settings="https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
project="https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
tenant="https://api.example.com/api/tenant/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_loadbalancers_update.sync(
uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
client=client,
body=body_data
)
print(response)
|
- Model Source:
OpenStackLoadBalancerRequest
- API Source:
openstack_loadbalancers_update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | import { openstackLoadbalancersUpdate } from 'waldur-js-client';
try {
const response = await openstackLoadbalancersUpdate({
auth: "Token YOUR_API_TOKEN",
path: {
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
body: {
"name": "my-awesome-openstack-loadbalancer",
"service_settings": "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"project": "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"tenant": "https://api.example.com/api/tenant/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 |
name |
string |
✓ |
|
description |
string |
|
|
service_settings |
string (uri) |
✓ |
|
project |
string (uri) |
✓ |
|
error_message |
string |
|
|
error_traceback |
string |
|
|
backend_id |
string |
|
Load balancer ID in Octavia |
tenant |
string (uri) |
✓ |
OpenStack tenant this load balancer belongs to |
attached_floating_ip |
string (uri) |
|
Floating IP attached to the VIP port |
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 |
Load balancer ID in Octavia |
access_url |
string |
|
tenant |
string (uri) |
OpenStack tenant this load balancer belongs to |
tenant_name |
string |
|
tenant_uuid |
string (uuid) |
|
vip_address |
any |
An IPv4 or IPv6 address. |
vip_subnet_id |
string |
|
vip_port_id |
string |
|
attached_floating_ip |
string (uri) |
Floating IP attached to the VIP port |
provider |
string |
|
provisioning_status |
string |
|
operating_status |
string |
|
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 pool member
Update an existing pool member.
Update pool
Update an existing pool.
| http \
PUT \
https://api.example.com/api/openstack-pools/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
Authorization:"Token YOUR_API_TOKEN" \
name="my-awesome-openstack-pool" \
service_settings="https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
project="https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
load_balancer="https://api.example.com/api/load-balancer/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
21 | from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.open_stack_pool_request import OpenStackPoolRequest # (1)
from waldur_api_client.api.openstack_pools import openstack_pools_update # (2)
client = AuthenticatedClient(
base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
body_data = OpenStackPoolRequest(
name="my-awesome-openstack-pool",
service_settings="https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
project="https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
load_balancer="https://api.example.com/api/load-balancer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_pools_update.sync(
uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
client=client,
body=body_data
)
print(response)
|
- Model Source:
OpenStackPoolRequest
- API Source:
openstack_pools_update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | import { openstackPoolsUpdate } from 'waldur-js-client';
try {
const response = await openstackPoolsUpdate({
auth: "Token YOUR_API_TOKEN",
path: {
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
body: {
"name": "my-awesome-openstack-pool",
"service_settings": "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"project": "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
"load_balancer": "https://api.example.com/api/load-balancer/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 |
name |
string |
✓ |
|
description |
string |
|
|
service_settings |
string (uri) |
✓ |
|
project |
string (uri) |
✓ |
|
error_message |
string |
|
|
error_traceback |
string |
|
|
backend_id |
string |
|
Pool ID in Octavia |
load_balancer |
string (uri) |
✓ |
Load balancer this pool belongs to |
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 |
Pool ID in Octavia |
access_url |
string |
|
load_balancer |
string (uri) |
Load balancer this pool belongs to |
load_balancer_name |
string |
|
load_balancer_uuid |
string (uuid) |
|
protocol |
string |
|
lb_algorithm |
string |
|
provisioning_status |
string |
|
operating_status |
string |
|
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 |
|
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.