Skip to content

Openstack Volumes

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/openstack-volumes/ List volumes
GET /api/openstack-volumes/{uuid}/ Get volume details
POST /api/openstack-volumes/{uuid}/pull/ Synchronize resource state
POST /api/openstack-volumes/{uuid}/unlink/ Unlink resource
PUT /api/openstack-volumes/{uuid}/ Update volume
PATCH /api/openstack-volumes/{uuid}/ Partially update volume
Other Actions
POST /api/openstack-volumes/{uuid}/attach/ Attach volume to instance
POST /api/openstack-volumes/{uuid}/detach/ Detach volume from instance
POST /api/openstack-volumes/{uuid}/extend/ Extend volume size
POST /api/openstack-volumes/{uuid}/retype/ Change volume type
POST /api/openstack-volumes/{uuid}/snapshot/ Create volume snapshot

Core CRUD

List volumes

Get a list of volumes.

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

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

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

try {
  const response = await openstackVolumesList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
attach_instance_uuid string (uuid) Filter for attachment to instance UUID
availability_zone_name string Availability zone name
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
external_ip string External IP
field array
instance string Instance URL
instance_uuid string (uuid) Instance UUID
name string Name
name_exact string Name (exact)
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
runtime_state string
service_settings_name string Service settings name
service_settings_uuid string (uuid) Service settings UUID
snapshot string Snapshot URL
snapshot_uuid string (uuid) Snapshot 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 Volume ID in the OpenStack backend
access_url string
source_snapshot string (uri) Snapshot that this volume was created from, if any
size integer Size in MiB
bootable boolean Indicates if this volume can be used to boot an instance
metadata any
image string (uri) Image that this volume was created from, if any
image_metadata string Metadata of the image this volume was created from
image_name string Name of the image this volume was created from
type string (uri) Type of the volume (e.g. SSD, HDD)
type_name string
runtime_state string
availability_zone string (uri) Availability zone where this volume is located
availability_zone_name string
device string Name of volume as instance device e.g. /dev/vdb.
action string
action_details any
instance string (uri) Instance that this volume is attached to, if any
instance_name string
instance_marketplace_uuid string (uuid)
tenant string (uri)
tenant_uuid string (uuid)
extend_enabled boolean
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 volume details

Retrieve details of a specific volume.

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

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

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

try {
  const response = await openstackVolumesRetrieve({
  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 Volume ID in the OpenStack backend
access_url string
source_snapshot string (uri) Snapshot that this volume was created from, if any
size integer Size in MiB
bootable boolean Indicates if this volume can be used to boot an instance
metadata any
image string (uri) Image that this volume was created from, if any
image_metadata string Metadata of the image this volume was created from
image_name string Name of the image this volume was created from
type string (uri) Type of the volume (e.g. SSD, HDD)
type_name string
runtime_state string
availability_zone string (uri) Availability zone where this volume is located
availability_zone_name string
device string Name of volume as instance device e.g. /dev/vdb.
action string
action_details any
instance string (uri) Instance that this volume is attached to, if any
instance_name string
instance_marketplace_uuid string (uuid)
tenant string (uri)
tenant_uuid string (uuid)
extend_enabled boolean
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-volumes/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_volumes import openstack_volumes_pull # (1)

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

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

try {
  const response = await openstackVolumesPull({
  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-volumes/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_volumes import openstack_volumes_unlink # (1)

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

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

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

Update an existing volume.

1
2
3
4
5
http \
  PUT \
  https://api.example.com/api/openstack-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-volume"
 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_volume_request import OpenStackVolumeRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_update # (2)

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

body_data = OpenStackVolumeRequest(
    name="my-awesome-openstack-volume"
)
response = openstack_volumes_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackVolumesUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-volume"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
bootable boolean Indicates if this volume can be used to boot an instance

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 Volume ID in the OpenStack backend
access_url string
source_snapshot string (uri) Snapshot that this volume was created from, if any
size integer Size in MiB
bootable boolean Indicates if this volume can be used to boot an instance
metadata any
image string (uri) Image that this volume was created from, if any
image_metadata string Metadata of the image this volume was created from
image_name string Name of the image this volume was created from
type string (uri) Type of the volume (e.g. SSD, HDD)
type_name string
runtime_state string
availability_zone string (uri) Availability zone where this volume is located
availability_zone_name string
device string Name of volume as instance device e.g. /dev/vdb.
action string
action_details any
instance string (uri) Instance that this volume is attached to, if any
instance_name string
instance_marketplace_uuid string (uuid)
tenant string (uri)
tenant_uuid string (uuid)
extend_enabled boolean
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 volume

Update specific fields of a volume.

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/openstack-volumes/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_volume_request import PatchedOpenStackVolumeRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_partial_update # (2)

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

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

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

try {
  const response = await openstackVolumesPartialUpdate({
  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
bootable boolean Indicates if this volume can be used to boot an instance

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 Volume ID in the OpenStack backend
access_url string
source_snapshot string (uri) Snapshot that this volume was created from, if any
size integer Size in MiB
bootable boolean Indicates if this volume can be used to boot an instance
metadata any
image string (uri) Image that this volume was created from, if any
image_metadata string Metadata of the image this volume was created from
image_name string Name of the image this volume was created from
type string (uri) Type of the volume (e.g. SSD, HDD)
type_name string
runtime_state string
availability_zone string (uri) Availability zone where this volume is located
availability_zone_name string
device string Name of volume as instance device e.g. /dev/vdb.
action string
action_details any
instance string (uri) Instance that this volume is attached to, if any
instance_name string
instance_marketplace_uuid string (uuid)
tenant string (uri)
tenant_uuid string (uuid)
extend_enabled boolean
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

Other Actions

Attach volume to instance

Attach volume to instance

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/attach/ \
  Authorization:"Token YOUR_API_TOKEN" \
  instance="https://api.example.com/api/instance/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 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.volume_attach_request import VolumeAttachRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_attach # (2)

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

body_data = VolumeAttachRequest(
    instance="https://api.example.com/api/instance/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_volumes_attach.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackVolumesAttach({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "instance": "https://api.example.com/api/instance/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
instance string (uri) Instance that this volume is attached to, if any

200 - No response body


Detach volume from instance

Detach instance from volume

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

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

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

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


Extend volume size

Increase volume size

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/extend/ \
  Authorization:"Token YOUR_API_TOKEN" \
  disk_size=20480
 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_volume_extend_request import OpenStackVolumeExtendRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_extend # (2)

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

body_data = OpenStackVolumeExtendRequest(
    disk_size=20480
)
response = openstack_volumes_extend.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

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

200 - No response body


Change volume type

Retype detached volume

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/retype/ \
  Authorization:"Token YOUR_API_TOKEN" \
  type="https://api.example.com/api/type/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
 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_volume_retype_request import OpenStackVolumeRetypeRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_retype # (2)

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

body_data = OpenStackVolumeRetypeRequest(
    type="https://api.example.com/api/type/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = openstack_volumes_retype.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackVolumesRetype({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "type": "https://api.example.com/api/type/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required
type string (uri)

200 - No response body


Create volume snapshot

Create snapshot from volume

1
2
3
4
5
http \
  POST \
  https://api.example.com/api/openstack-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/snapshot/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openstack-volume"
 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_snapshot_request import OpenStackSnapshotRequest # (1)
from waldur_api_client.api.openstack_volumes import openstack_volumes_snapshot # (2)

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

body_data = OpenStackSnapshotRequest(
    name="my-awesome-openstack-volume"
)
response = openstack_volumes_snapshot.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await openstackVolumesSnapshot({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openstack-volume"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
description string
metadata any
kept_until string (date-time) Guaranteed time of snapshot retention. If null - keep forever.

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 Snapshot ID in the OpenStack backend
access_url string
source_volume string (uri) Volume from which this snapshot was created
size integer Size in MiB
metadata any
runtime_state string
source_volume_name string
source_volume_marketplace_uuid string (uuid)
action string
action_details any
restorations array of objects
restorations.uuid string (uuid)
restorations.created string (date-time)
restorations.description string New volume description.
restorations.volume string (uri) Volume that is being restored from the snapshot
restorations.volume_name string
restorations.volume_state string
restorations.volume_runtime_state string
restorations.volume_size integer Size in MiB
restorations.volume_device string Name of volume as instance device e.g. /dev/vdb.
kept_until string (date-time) Guaranteed time of snapshot retention. If null - keep forever.
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