The ironic.objects.volume_target Module

class ironic.objects.volume_target.VolumeTarget(context=None, **kwargs)[source]

Bases: ironic.objects.base.IronicObject, oslo_versionedobjects.base.VersionedObjectDictCompat

create(context=None)[source]

Create a VolumeTarget record in the DB.

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: VolumeTarget(context).
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
destroy(context=None)[source]

Delete the VolumeTarget from the DB.

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: VolumeTarget(context).
Raises:VolumeTargetNotFound if the volume target cannot be found
classmethod get(context, ident)[source]

Find a volume target based on its ID or UUID.

Parameters:
  • context – security context
  • ident – the database primary key ID or the UUID of a volume target
Returns:

a VolumeTarget object

Raises:

InvalidIdentity if ident is neither an integer ID nor a UUID

Raises:

VolumeTargetNotFound if no volume target with this ident exists

classmethod get_by_id(context, db_id)[source]

Find a volume target based on its database ID.

Parameters:
  • context – security context
  • db_id – the database primary key (integer) ID of a volume target
Returns:

a VolumeTarget object

Raises:

VolumeTargetNotFound if no volume target with this ID exists

classmethod get_by_uuid(context, uuid)[source]

Find a volume target based on its UUID.

Parameters:
  • context – security context
  • uuid – the UUID of a volume target
Returns:

a VolumeTarget object

Raises:

VolumeTargetNotFound if no volume target with this UUID exists

classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of VolumeTarget objects.

Parameters:
  • context – security context
  • limit – maximum number of resources to return in a single result
  • marker – pagination marker for large data sets
  • sort_key – column to sort results by
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of VolumeTarget objects

Raises:

InvalidParameterValue if sort_key does not exist

classmethod list_by_node_id(context, node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of VolumeTarget objects related to a given node ID.

Parameters:
  • context – security context
  • node_id – the integer ID of the node
  • limit – maximum number of resources to return in a single result
  • marker – pagination marker for large data sets
  • sort_key – column to sort results by
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of VolumeTarget objects

Raises:

InvalidParameterValue if sort_key does not exist

refresh(context=None)[source]

Loads updates for this VolumeTarget.

Load a volume target with the same UUID from the database and check for updated attributes. If there are any updates, they are applied from the loaded volume target, column by column.

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: VolumeTarget(context).
Raises:VolumeTargetNotFound if the volume target cannot be found
save(context=None)[source]

Save updates to this VolumeTarget.

Updates will be made column by column based on the result of self.obj_get_changes().

Parameters:context – security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: VolumeTarget(context).
Raises:InvalidParameterValue if the UUID is being changed
Raises:VolumeTargetBootIndexAlreadyExists if a volume target already exists with the same node ID and boot index values
Raises:VolumeTargetNotFound if the volume target cannot be found