Skip to content

Backend Resources

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/backend-resources/ List Backend Resources
GET /api/backend-resources/{uuid}/ Retrieve
POST /api/backend-resources/ Create
DELETE /api/backend-resources/{uuid}/ Delete
Other Actions
POST /api/backend-resources/{uuid}/import_resource/ Import resource

Core CRUD

List Backend Resources

1
2
3
4
http \
  GET \
  https://api.example.com/api/backend-resources/ \
  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.backend_resources import backend_resources_list # (1)

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

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

try {
  const response = await backendResourcesList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
backend_id string Backend ID
created string (date-time) Created after
modified string (date-time) Modified after
name string
name_exact string
o array Ordering

offering_uuid string (uuid)
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
project_uuid string (uuid)

200 -

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

Field Type
url string (uri)
uuid string (uuid)
name string
created string (date-time)
modified string (date-time)
project string (uuid)
project_name string
project_url string (uri)
offering string (uuid)
offering_name string
offering_url string (uri)
backend_id string
backend_metadata any

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/backend-resources/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.backend_resources import backend_resources_retrieve # (1)

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

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

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

200 -

Field Type
url string (uri)
uuid string (uuid)
name string
created string (date-time)
modified string (date-time)
project string (uuid)
project_name string
project_url string (uri)
offering string (uuid)
offering_name string
offering_url string (uri)
backend_id string
backend_metadata any

Create

1
2
3
4
5
6
7
http \
  POST \
  https://api.example.com/api/backend-resources/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-backend-resource" \
  project="a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  offering="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.backend_resource_request import BackendResourceRequest # (1)
from waldur_api_client.api.backend_resources import backend_resources_create # (2)

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

body_data = BackendResourceRequest(
    name="my-awesome-backend-resource",
    project="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    offering="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)
response = backend_resources_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await backendResourcesCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-backend-resource",
    "project": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "offering": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required
name string
project string (uuid)
offering string (uuid)
backend_id string
backend_metadata any

201 -

Field Type
url string (uri)
uuid string (uuid)
name string
created string (date-time)
modified string (date-time)
project string (uuid)
project_name string
project_url string (uri)
offering string (uuid)
offering_name string
offering_url string (uri)
backend_id string
backend_metadata any

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/backend-resources/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.backend_resources import backend_resources_destroy # (1)

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

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

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

Import resource

1
2
3
4
http \
  POST \
  https://api.example.com/api/backend-resources/a1b2c3d4-e5f6-7890-abcd-ef1234567890/import_resource/ \
  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.backend_resource_import_request import BackendResourceImportRequest # (1)
from waldur_api_client.api.backend_resources import backend_resources_import_resource # (2)

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

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

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

try {
  const response = await backendResourcesImportResource({
  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
plan string (uuid)

201 -

Field Type Description
offering string (uri)
offering_name string
offering_uuid string (uuid)
offering_description string
offering_image string (uri)
offering_thumbnail string (uri)
offering_type string
offering_shared boolean Accessible to all customers.
offering_billable boolean Purchase and usage is invoiced.
offering_plugin_options any Public data used by specific plugin, such as storage mode for OpenStack.
provider_name string
provider_uuid string (uuid)
provider_slug string
category_title string
category_uuid string (uuid)
category_icon string (uri)
plan string (uri)
plan_unit any
plan_name string
plan_uuid string (uuid)
plan_description string
attributes object (free-form)
limits object (free-form)
uuid string (uuid)
created string (date-time)
modified string (date-time)
url string (uri)
scope string
description string
state any
resource_uuid string (uuid)
backend_id string
effective_id string
resource_type string
project string (uri)
project_uuid string (uuid)
project_name string
project_description string
project_end_date string (date) The date is inclusive. Once reached, all project resource will be scheduled for termination.
project_end_date_requested_by string (uri)
customer_uuid string (uuid)
customer_name string
offering_slug string
parent_offering_uuid string (uuid)
parent_offering_name string
parent_offering_slug string
parent_uuid string (uuid)
parent_name string
backend_metadata any
is_usage_based boolean
is_limit_based boolean
name string
slug string
current_usages object (free-form)
can_terminate boolean
report array of objects
report.header string
report.body string
end_date string (date) The date is inclusive. Once reached, a resource will be scheduled for termination.
end_date_requested_by string (uri)
username string
limit_usage object (free-form)
downscaled boolean
restrict_member_access boolean
paused boolean
endpoints array of objects
endpoints.uuid string (uuid)
endpoints.name string
endpoints.url string
error_message string
error_traceback string
options any
available_actions array of strings
last_sync string (date-time)
order_in_progress any
creation_order any
service_settings_uuid string (uuid)
project_slug string
customer_slug string
user_requires_reconsent boolean Check if the current user needs to re-consent for this resource's offering.
renewal_date object (free-form)