Skip to content

Aws Volumes

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/aws-volumes/ List Aws Volumes
GET /api/aws-volumes/{uuid}/ Retrieve
POST /api/aws-volumes/ Create
POST /api/aws-volumes/{uuid}/pull/ Synchronize resource state
POST /api/aws-volumes/{uuid}/unlink/ Unlink resource
PUT /api/aws-volumes/{uuid}/ Update
PATCH /api/aws-volumes/{uuid}/ Partial Update
DELETE /api/aws-volumes/{uuid}/ Delete
Other Actions
POST /api/aws-volumes/{uuid}/attach/ Attach
POST /api/aws-volumes/{uuid}/detach/ Detach

Core CRUD

List Aws Volumes

1
2
3
4
http \
  GET \
  https://api.example.com/api/aws-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.aws_volumes import aws_volumes_list # (1)

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

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

try {
  const response = await awsVolumesList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
field array
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.

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
size integer Size of volume in gigabytes
volume_type string
Enum: gp2, io1, standard
device string
instance string (uri)
runtime_state 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

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/aws-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.aws_volumes import aws_volumes_retrieve # (1)

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

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

try {
  const response = await awsVolumesRetrieve({
  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
size integer Size of volume in gigabytes
volume_type string
Enum: gp2, io1, standard
device string
instance string (uri)
runtime_state 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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
http \
  POST \
  https://api.example.com/api/aws-volumes/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-aws-volume" \
  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/" \
  size=100 \
  region="https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  volume_type="gp2"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.aws_volume_request import AwsVolumeRequest # (1)
from waldur_api_client.api.aws_volumes import aws_volumes_create # (2)

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

body_data = AwsVolumeRequest(
    name="my-awesome-aws-volume",
    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/",
    size=100,
    region="https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    volume_type="gp2"
)
response = aws_volumes_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await awsVolumesCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-aws-volume",
    "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/",
    "size": 100,
    "region": "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "volume_type": "gp2"
  }
});
  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)
size integer Size of volume in gigabytes
region string (uri)
Constraints: write-only
volume_type string
Enum: gp2, io1, standard

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
size integer Size of volume in gigabytes
volume_type string
Enum: gp2, io1, standard
device string
instance string (uri)
runtime_state 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

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/aws-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.aws_volumes import aws_volumes_pull # (1)

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

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

try {
  const response = await awsVolumesPull({
  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/aws-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.aws_volumes import aws_volumes_unlink # (1)

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

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

try {
  const response = await awsVolumesUnlink({
  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
 8
 9
10
http \
  PUT \
  https://api.example.com/api/aws-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-aws-volume" \
  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/" \
  size=100 \
  region="https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  volume_type="gp2"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.aws_volume_request import AwsVolumeRequest # (1)
from waldur_api_client.api.aws_volumes import aws_volumes_update # (2)

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

body_data = AwsVolumeRequest(
    name="my-awesome-aws-volume",
    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/",
    size=100,
    region="https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    volume_type="gp2"
)
response = aws_volumes_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await awsVolumesUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-aws-volume",
    "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/",
    "size": 100,
    "region": "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "volume_type": "gp2"
  }
});
  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)
size integer Size of volume in gigabytes
region string (uri)
Constraints: write-only
volume_type string
Enum: gp2, io1, standard

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
size integer Size of volume in gigabytes
volume_type string
Enum: gp2, io1, standard
device string
instance string (uri)
runtime_state 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

Partial Update

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/aws-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.aws_volumes import aws_volumes_partial_update # (1)

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

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

try {
  const response = await awsVolumesPartialUpdate({
  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
size integer Size of volume in gigabytes
volume_type string
Enum: gp2, io1, standard
device string
instance string (uri)
runtime_state 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

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/aws-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.aws_volumes import aws_volumes_destroy # (1)

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

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

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

Attach

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/aws-volumes/a1b2c3d4-e5f6-7890-abcd-ef1234567890/attach/ \
  Authorization:"Token YOUR_API_TOKEN" \
  instance="https://api.example.com/api/instance/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  device="string-value"
 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.aws_volume_attach_request import AwsVolumeAttachRequest # (1)
from waldur_api_client.api.aws_volumes import aws_volumes_attach # (2)

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

body_data = AwsVolumeAttachRequest(
    instance="https://api.example.com/api/instance/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    device="string-value"
)
response = aws_volumes_attach.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

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

try {
  const response = await awsVolumesAttach({
  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/",
    "device": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
instance string (uri)
device string The device name for attachment. For example, use /dev/sd[f-p] for Linux instances.

200 -

Field Type Description
instance string (uri)
device string The device name for attachment. For example, use /dev/sd[f-p] for Linux instances.

Detach

1
2
3
4
http \
  POST \
  https://api.example.com/api/aws-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.aws_volumes import aws_volumes_detach # (1)

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

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

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