Skip to content

Openstack Tenants

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/openstack-tenants/ List Openstack Tenants
GET /api/openstack-tenants/{uuid}/ Retrieve
POST /api/openstack-tenants/ Create
POST /api/openstack-tenants/{uuid}/pull/ Synchronize resource state
POST /api/openstack-tenants/{uuid}/unlink/ Unlink resource
PUT /api/openstack-tenants/{uuid}/ Update
PATCH /api/openstack-tenants/{uuid}/ Partial Update
DELETE /api/openstack-tenants/{uuid}/ Delete
Configuration & Updates
POST /api/openstack-tenants/{uuid}/change_password/ Change password for tenant user
POST /api/openstack-tenants/{uuid}/set_quotas/ A quota can be set for a particular tenant. Only staff users can do that
Sub-Resource Creation
POST /api/openstack-tenants/{uuid}/create_floating_ip/ Create floating IP for tenant
POST /api/openstack-tenants/{uuid}/create_network/ Create network for tenant
POST /api/openstack-tenants/{uuid}/create_security_group/ Create security group
POST /api/openstack-tenants/{uuid}/create_server_group/ Create server group
Data & Reporting
GET /api/openstack-tenants/{uuid}/backend_instances/ Return a list of volumes from backend
GET /api/openstack-tenants/{uuid}/backend_volumes/ Return a list of volumes from backend
Remote Actions & Sync
POST /api/openstack-tenants/{uuid}/pull_floating_ips/ Trigger job to pull floating IPs from remote VPC
POST /api/openstack-tenants/{uuid}/pull_quotas/ It triggers celery job to pull quotas from remote VPC
POST /api/openstack-tenants/{uuid}/pull_security_groups/ Trigger job to pull security groups from remote VPC
POST /api/openstack-tenants/{uuid}/pull_server_groups/ Trigger job to pull server groups from remote VPC

Core CRUD

List Openstack Tenants

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-tenants/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.openstack_tenants import openstack_tenants_list # (1)

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

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

try {
  const response = await openstackTenantsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
backend_id string
can_manage boolean Can manage
customer string (uuid)
customer_abbreviation string
customer_name string
customer_native_name string
customer_uuid string (uuid)
description string
external_ip string
field array
name string
name_exact string
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid)
project_name string
project_uuid string (uuid)
service_settings_name string
service_settings_uuid string (uuid)
state array
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)
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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-tenants/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_tenants import openstack_tenants_retrieve # (1)

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

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

try {
  const response = await openstackTenantsRetrieve({
  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)
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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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

Create

1
2
3
4
5
6
7
http \
  POST \
  https://api.example.com/api/openstack-tenants/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-tenant" \
  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/"
 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_tenant_request import OpenStackTenantRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_create # (2)

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

body_data = OpenStackTenantRequest(
    name="my-awesome-openstack-tenant",
    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/"
)
response = openstack_tenants_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-openstack-tenant",
    "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/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
name string
description string
service_settings string (uri)
project string (uri)
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
subnet_cidr string
Constraints: write-only, default: 192.168.42.0/24
default_volume_type_name string Volume type name to use when creating volumes.

201 -

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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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-tenants/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_tenants import openstack_tenants_pull # (1)

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

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

try {
  const response = await openstackTenantsPull({
  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 - No response body


409 - No response body


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-tenants/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_tenants import openstack_tenants_unlink # (1)

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

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

try {
  const response = await openstackTenantsUnlink({
  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

1
2
3
4
5
6
7
http \
  PUT \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-tenant" \
  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/"
 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_tenant_request import OpenStackTenantRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_update # (2)

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

body_data = OpenStackTenantRequest(
    name="my-awesome-openstack-tenant",
    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/"
)
response = openstack_tenants_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-tenant",
    "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/"
  }
});
  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)
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
subnet_cidr string
Constraints: write-only, default: 192.168.42.0/24
default_volume_type_name string Volume type name to use when creating volumes.

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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/openstack-tenants/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_tenant_request import PatchedOpenStackTenantRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_partial_update # (2)

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

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

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

try {
  const response = await openstackTenantsPartialUpdate({
  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
name string
description string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
default_volume_type_name string Volume type name to use when creating volumes.

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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/openstack-tenants/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_tenants import openstack_tenants_destroy # (1)

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

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

try {
  const response = await openstackTenantsDestroy({
  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


Configuration & Updates

Change password for tenant user

Change password for tenant user

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/change_password/ \
  Authorization:"Token YOUR_API_TOKEN" \
  user_password="********"
 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_tenant_change_password_request import OpenStackTenantChangePasswordRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_change_password # (2)

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

body_data = OpenStackTenantChangePasswordRequest(
    user_password="********"
)
response = openstack_tenants_change_password.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsChangePassword({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "user_password": "********"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
user_password string New tenant user password.

200 - No response body


A quota can be set for a particular tenant. Only staff users can do that

A quota can be set for a particular tenant. Only staff users can do that. In order to set quota submit POST request to /api/openstack-tenants//set_quotas/. The quota values are propagated to the backend.

The following quotas are supported. All values are expected to be integers:

  • instances - maximal number of created instances.
  • ram - maximal size of ram for allocation. In MiB_.
  • storage - maximal size of storage for allocation. In MiB_.
  • vcpu - maximal number of virtual cores for allocation.
  • security_group_count - maximal number of created security groups.
  • security_group_rule_count - maximal number of created security groups rules.
  • volumes - maximal number of created volumes.
  • snapshots - maximal number of created snapshots.

It is possible to update quotas by one or by submitting all the fields in one request. Waldur will attempt to update the provided quotas. Please note, that if provided quotas are conflicting with the backend (e.g. requested number of instances is below of the already existing ones), some quotas might not be applied.

.. _MiB: http://en.wikipedia.org/wiki/Mebibyte

Response code of a successful request is 202 ACCEPTED. In case tenant is in a non-stable status, the response would be 409 CONFLICT. In this case REST client is advised to repeat the request after some time. On successful completion the task will synchronize quotas with the backend.

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/set_quotas/ \
  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_tenant_quota_request import OpenStackTenantQuotaRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_set_quotas # (2)

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

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

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

try {
  const response = await openstackTenantsSetQuotas({
  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
instances integer
volumes integer
snapshots integer
ram integer
vcpu integer
storage integer
security_group_count integer
security_group_rule_count integer

200 -

Field Type
instances integer
volumes integer
snapshots integer
ram integer
vcpu integer
storage integer
security_group_count integer
security_group_rule_count integer

Sub-Resource Creation

Create floating IP for tenant

Create floating IP for tenant

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/create_floating_ip/ \
  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_tenants import openstack_tenants_create_floating_ip # (1)

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

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

try {
  const response = await openstackTenantsCreateFloatingIp({
  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
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 string
runtime_state string
address any The public IPv4 address of the floating IP
backend_network_id string ID of network in OpenStack where this floating IP is allocated
tenant string (uri) OpenStack tenant this floating IP belongs to
tenant_name string
tenant_uuid string (uuid)
port string (uri)
external_address any Optional address that maps to floating IP's address in external networks
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
instance_uuid string
instance_name string
instance_url string
marketplace_offering_uuid string
marketplace_offering_name 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

Create network for tenant

Create network for tenant

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/create_network/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-tenant"
 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_network_request import OpenStackNetworkRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_create_network # (2)

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

body_data = OpenStackNetworkRequest(
    name="my-awesome-openstack-tenant"
)
response = openstack_tenants_create_network.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsCreateNetwork({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-tenant"
  }
});
  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)
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 string
tenant string (uri) OpenStack tenant this network belongs to
tenant_name string
tenant_uuid string (uuid)
is_external boolean Defines whether this network is external (public) or internal (private)
type string Network type, such as local, flat, vlan, vxlan, or gre
segmentation_id integer VLAN ID for VLAN networks or tunnel ID for VXLAN/GRE networks
subnets array of objects
subnets.uuid string (uuid)
subnets.name string
subnets.description string
subnets.cidr string IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
subnets.gateway_ip any IP address of the gateway for this subnet
subnets.allocation_pools array of objects
subnets.allocation_pools.start any An IPv4 or IPv6 address.
subnets.allocation_pools.end any An IPv4 or IPv6 address.
subnets.ip_version integer IP protocol version (4 or 6)
subnets.enable_dhcp boolean If True, DHCP service will be enabled on this subnet
mtu integer The maximum transmission unit (MTU) value to address fragmentation.
rbac_policies array of objects
rbac_policies.url string (uri)
rbac_policies.uuid string (uuid)
rbac_policies.network string (uri)
rbac_policies.network_name string
rbac_policies.target_tenant string (uri)
rbac_policies.target_tenant_name string
rbac_policies.backend_id string
rbac_policies.policy_type any Type of access granted - either shared access or external network access
rbac_policies.created string (date-time)
marketplace_offering_uuid string
marketplace_offering_name 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

Create security group

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/create_security_group/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-tenant" \
  rules:='[]'
 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_security_group_request import OpenStackSecurityGroupRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_create_security_group # (2)

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

body_data = OpenStackSecurityGroupRequest(
    name="my-awesome-openstack-tenant",
    rules=[]
)
response = openstack_tenants_create_security_group.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsCreateSecurityGroup({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-tenant",
    "rules": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
rules array of objects
rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
rules.protocol any The network protocol (TCP, UDP, ICMP, or empty for any protocol)
rules.from_port integer Starting port number in the range (1-65535)
rules.to_port integer Ending port number in the range (1-65535)
rules.cidr string CIDR notation for the source/destination network address range
rules.description string
rules.remote_group string (uri) Remote security group that this rule references, if any

201 -

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 string
tenant string (uri)
tenant_name string
tenant_uuid string (uuid)
rules array of objects
rules.ethertype any IP protocol version - either 'IPv4' or 'IPv6'
rules.direction any Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)
rules.protocol any The network protocol (TCP, UDP, ICMP, or empty for any protocol)
rules.from_port integer Starting port number in the range (1-65535)
rules.to_port integer Ending port number in the range (1-65535)
rules.cidr string CIDR notation for the source/destination network address range
rules.description string
rules.remote_group_name string
rules.remote_group_uuid string (uuid)
rules.id integer
rules.remote_group string (uri) Remote security group that this rule references, if any
marketplace_offering_uuid string
marketplace_offering_name 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

Create server group

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/create_server_group/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-tenant"
 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_server_group_request import OpenStackServerGroupRequest # (1)
from waldur_api_client.api.openstack_tenants import openstack_tenants_create_server_group # (2)

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

body_data = OpenStackServerGroupRequest(
    name="my-awesome-openstack-tenant"
)
response = openstack_tenants_create_server_group.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackTenantsCreateServerGroup({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-tenant"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
policy any Server group policy determining the rules for scheduling servers in this group

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 string
tenant string (uri)
tenant_name string
tenant_uuid string (uuid)
policy any Server group policy determining the rules for scheduling servers in this group
display_name string
instances array of objects
instances.backend_id string Instance ID in the OpenStack backend
instances.name string
instances.uuid string (uuid)
marketplace_offering_uuid string
marketplace_offering_name 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

Data & Reporting

Return a list of volumes from backend

Return a list of volumes from backend

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/backend_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.api.openstack_tenants import openstack_tenants_backend_instances_list # (1)

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

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

try {
  const response = await openstackTenantsBackendInstancesList({
  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
backend_id string
can_manage boolean Can manage
customer string (uuid)
customer_abbreviation string
customer_name string
customer_native_name string
customer_uuid string (uuid)
description string
external_ip string
name string
name_exact string
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid)
project_name string
project_uuid string (uuid)
service_settings_name string
service_settings_uuid string (uuid)
state array
uuid string (uuid)

200 -

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

Field Type Description
name string
key_name string
start_time string (date-time)
state string
runtime_state string
created string (date-time)
backend_id string Instance ID in the OpenStack backend
availability_zone string
hypervisor_hostname string Name of the hypervisor hosting this instance

Return a list of volumes from backend

Return a list of volumes from backend

1
2
3
4
http \
  GET \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/backend_volumes/ \
  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_tenants import openstack_tenants_backend_volumes_list # (1)

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

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

try {
  const response = await openstackTenantsBackendVolumesList({
  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
backend_id string
can_manage boolean Can manage
customer string (uuid)
customer_abbreviation string
customer_name string
customer_native_name string
customer_uuid string (uuid)
description string
external_ip string
name string
name_exact string
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid)
project_name string
project_uuid string (uuid)
service_settings_name string
service_settings_uuid string (uuid)
state array
uuid string (uuid)

200 -

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

Field Type Description
name string
description string
size integer Size in MiB
metadata string Arbitrary key-value pairs associated with the volume
backend_id string Volume ID in the OpenStack backend
type string
bootable boolean Indicates if this volume can be used to boot an instance
runtime_state string
state string
availability_zone string

Remote Actions & Sync

Trigger job to pull floating IPs from remote VPC

Trigger job to pull floating IPs from remote VPC

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_floating_ips/ \
  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_tenants import openstack_tenants_pull_floating_ips # (1)

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

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

try {
  const response = await openstackTenantsPullFloatingIps({
  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 - No response body


It triggers celery job to pull quotas from remote VPC

It triggers celery job to pull quotas from remote VPC

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_quotas/ \
  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_tenants import openstack_tenants_pull_quotas # (1)

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

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

try {
  const response = await openstackTenantsPullQuotas({
  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 - No response body


Trigger job to pull security groups from remote VPC

Trigger job to pull security groups from remote VPC

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_security_groups/ \
  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_tenants import openstack_tenants_pull_security_groups # (1)

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

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

try {
  const response = await openstackTenantsPullSecurityGroups({
  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
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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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

Trigger job to pull server groups from remote VPC

Trigger job to pull server groups from remote VPC

1
2
3
4
http \
  POST \
  https://api.example.com/api/openstack-tenants/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pull_server_groups/ \
  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_tenants import openstack_tenants_pull_server_groups # (1)

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

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

try {
  const response = await openstackTenantsPullServerGroups({
  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
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 ID of tenant in the OpenStack backend
access_url string
availability_zone string Optional availability group. Will be used for all instances provisioned in this tenant
internal_network_id string ID of internal network in OpenStack tenant
external_network_id string ID of external network connected to OpenStack tenant
user_username string Username of the tenant user
user_password string Password of the tenant user
quotas array of objects
quotas.name string
quotas.usage integer
quotas.limit integer
default_volume_type_name string Volume type name to use when creating volumes.
marketplace_offering_uuid string
marketplace_offering_name 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