ironic.api.controllers.v1.volume_target module

class ironic.api.controllers.v1.volume_target.VolumeTarget(**kwargs)[source]

Bases: ironic.api.controllers.base.APIBase

API representation of a volume target.

This class enforces type checking and value constraints, and converts between the internal object model and the API representation of a volume target.

boot_index

The boot_index of volume target

created_at

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
extra

The metadata for this volume target

A list containing a self link and associated volume target links

property node_uuid

The UUID of the node this volume target belongs to

properties

The properties for this volume target

classmethod sample(expand=True)[source]
sanitize(fields=None)[source]

Removes sensitive and unrequested data.

Will only keep the fields specified in the fields parameter.

Parameters

fields (list of str) – list of fields to preserve, or None to preserve them all

updated_at

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
uuid

Unique UUID for this volume target

volume_id

The volume_id for this volume target

volume_type

The volume_type of volume target

class ironic.api.controllers.v1.volume_target.VolumeTargetCollection(**kwargs)[source]

Bases: ironic.api.controllers.v1.collection.Collection

API representation of a collection of volume targets.

next

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
classmethod sample()[source]
targets

A list containing volume target objects

class ironic.api.controllers.v1.volume_target.VolumeTargetPatchType(**kw)[source]

Bases: ironic.api.controllers.v1.types.JsonPatchType

op

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
path

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
value

Complex type attribute definition.

Example:

class MyComplexType(wsme.types.Base):
    optionalvalue = int
    mandatoryvalue = wsattr(int, mandatory=True)
    named_value = wsattr(int, name='named.value')

After inspection, the non-wsattr attributes will be replaced, and the above class will be equivalent to:

class MyComplexType(wsme.types.Base):
    optionalvalue = wsattr(int)
    mandatoryvalue = wsattr(int, mandatory=True)
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)[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.

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