ironic.api.controllers.v1.volume_target module

class ironic.api.controllers.v1.volume_target.VolumeTargetsController(*args, **kwargs)[source]

Bases: pecan.rest.RestController

REST controller for VolumeTargets.

delete(target_uuid)[source]

Delete a volume target.

Parameters

target_uuid – UUID of a volume target.

Raises

OperationNotPermitted if accessed with specifying a parent node.

Raises

NodeLocked if node is locked by another conductor

Raises

NodeNotFound if the node associated with the target does not exist

Raises

VolumeTargetNotFound if the volume target cannot be found

Raises

InvalidStateRequested If a node associated with the volume target is not powered off.

get_all(node=None, marker=None, limit=None, sort_key='id', sort_dir='asc', fields=None, detail=None, project=None)[source]

Retrieve a list of volume targets.

Parameters
  • node – UUID or name of a node, to get only volume targets for that node.

  • marker – pagination marker for large data sets.

  • limit – maximum number of resources to return in a single result. This value cannot be larger than the value of max_limit in the [api] section of the ironic configuration, or only max_limit resources will be returned.

  • sort_key – column to sort results by. Default: id.

  • sort_dir – direction to sort. “asc” or “desc”. Default: “asc”.

  • fields – Optional, a list with a specified set of fields of the resource to be returned.

  • detail – Optional, whether to retrieve with detail.

  • project – Optional, an associated node project (owner, or lessee) to filter the query upon.

Returns

a list of volume targets, or an empty list if no volume target is found.

Raises

InvalidParameterValue if sort_key does not exist

Raises

InvalidParameterValue if sort key is invalid for sorting.

Raises

InvalidParameterValue if both fields and detail are specified.

get_one(target_uuid, fields=None)[source]

Retrieve information about the given volume target.

Parameters
  • target_uuid – UUID of a volume target.

  • fields – Optional, a list with a specified set of fields of the resource to be returned.

Returns

API-serializable volume target object.

Raises

OperationNotPermitted if accessed with specifying a parent node.

Raises

VolumeTargetNotFound if no volume target with this UUID exists

invalid_sort_key_list = ['extra', 'properties']
patch(target_uuid, patch)[source]

Update an existing volume target.

Parameters
  • target_uuid – UUID of a volume target.

  • patch – a json PATCH document to apply to this volume target.

Returns

API-serializable volume target object.

Raises

OperationNotPermitted if accessed with specifying a parent node.

Raises

PatchError if a given patch can not be applied.

Raises

InvalidParameterValue if the volume target’s UUID is being changed

Raises

NodeLocked if the node is already locked

Raises

NodeNotFound if the node associated with the volume target does not exist

Raises

VolumeTargetNotFound if the volume target cannot be found

Raises

VolumeTargetBootIndexAlreadyExists if a volume target already exists with the same node ID and boot index values

Raises

InvalidUUID if invalid node UUID is passed in the patch.

Raises

InvalidStateRequested If a node associated with the volume target is not powered off.

post(target)[source]

Create a new volume target.

Parameters

target – a volume target within the request body.

Returns

API-serializable volume target object.

Raises

OperationNotPermitted if accessed with specifying a parent node.

Raises

VolumeTargetBootIndexAlreadyExists if a volume target already exists with the same node ID and boot index

Raises

VolumeTargetAlreadyExists if a volume target with the same UUID exists