Skip to content

Openstack Subnets

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/openstack-subnets/ List subnets
GET /api/openstack-subnets/{uuid}/ Get subnet details
POST /api/openstack-subnets/{uuid}/pull/ Synchronize resource state
POST /api/openstack-subnets/{uuid}/unlink/ Unlink resource
PUT /api/openstack-subnets/{uuid}/ Update subnet
PATCH /api/openstack-subnets/{uuid}/ Partially update subnet
DELETE /api/openstack-subnets/{uuid}/ Delete subnet
Other Actions
POST /api/openstack-subnets/{uuid}/connect/ Connect subnet to router
POST /api/openstack-subnets/{uuid}/disconnect/ Disconnect subnet from router

Core CRUD

List subnets

Get a list of subnets.

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

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

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

try {
  const response = await openstackSubnetsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
backend_id string Backend ID
can_manage boolean Can manage
customer string (uuid) Customer UUID
customer_abbreviation string Customer abbreviation
customer_name string Customer name
customer_native_name string Customer native name
customer_uuid string (uuid) Customer UUID
description string Description
direct_only boolean Direct only
enable_dhcp boolean
external_ip string External IP
field array
ip_version integer
name string Name
name_exact string Name (exact)
network string Network URL
network_uuid string (uuid) Network UUID
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project string (uuid) Project UUID
project_name string Project name
project_uuid string (uuid) Project UUID
rbac_only boolean RBAC only
service_settings_name string Service settings name
service_settings_uuid string (uuid) Service settings UUID
state array State

tenant string Tenant URL
tenant_uuid string (uuid) Tenant UUID
uuid string (uuid) 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
access_url string
tenant string (uri)
tenant_name string
network string (uri) Network to which this subnet belongs
network_name string
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
ip_version integer IP protocol version (4 or 6)
enable_dhcp boolean If True, DHCP service will be enabled on this subnet
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.
is_connected boolean Is subnet connected to the default tenant router.
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

Get subnet details

Retrieve details of a specific subnet.

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

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

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

try {
  const response = await openstackSubnetsRetrieve({
  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
access_url string
tenant string (uri)
tenant_name string
network string (uri) Network to which this subnet belongs
network_name string
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
ip_version integer IP protocol version (4 or 6)
enable_dhcp boolean If True, DHCP service will be enabled on this subnet
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.
is_connected boolean Is subnet connected to the default tenant router.
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-subnets/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_subnets import openstack_subnets_pull # (1)

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

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

try {
  const response = await openstackSubnetsPull({
  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-subnets/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_subnets import openstack_subnets_unlink # (1)

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

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

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

Update an existing subnet.

1
2
3
4
5
http \
  PUT \
  https://api.example.com/api/openstack-subnets/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-subnet"
 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_sub_net_request import OpenStackSubNetRequest # (1)
from waldur_api_client.api.openstack_subnets import openstack_subnets_update # (2)

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

body_data = OpenStackSubNetRequest(
    name="my-awesome-openstack-subnet"
)
response = openstack_subnets_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackSubnetsUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-subnet"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.

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
network string (uri) Network to which this subnet belongs
network_name string
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
ip_version integer IP protocol version (4 or 6)
enable_dhcp boolean If True, DHCP service will be enabled on this subnet
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.
is_connected boolean Is subnet connected to the default tenant router.
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

Partially update subnet

Update specific fields of a subnet.

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/openstack-subnets/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_sub_net_request import PatchedOpenStackSubNetRequest # (1)
from waldur_api_client.api.openstack_subnets import openstack_subnets_partial_update # (2)

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

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

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

try {
  const response = await openstackSubnetsPartialUpdate({
  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
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.

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
network string (uri) Network to which this subnet belongs
network_name string
cidr string
gateway_ip any IP address of the gateway for this subnet
disable_gateway boolean If True, no gateway IP address will be allocated
allocation_pools array of objects
allocation_pools.start any An IPv4 or IPv6 address.
allocation_pools.end any An IPv4 or IPv6 address.
ip_version integer IP protocol version (4 or 6)
enable_dhcp boolean If True, DHCP service will be enabled on this subnet
dns_nameservers array of anys
host_routes array of objects
host_routes.destination string
host_routes.nexthop any An IPv4 or IPv6 address.
is_connected boolean Is subnet connected to the default tenant router.
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 subnet

Delete a subnet.

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

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

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

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


Other Actions

Connect subnet to router

Connect the subnet to the default tenant router.

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

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

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

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


Disconnect subnet from router

Disconnect the subnet from the default tenant router.

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

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

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

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