class Volume extends OperatorResource implements Creatable, Listable, Updateable, Deletable, Retrievable, HasMetadata

Traits

Contains reusable functionality for resources that have long operations which require waiting in order to reach a particular state.

Properties

$id string
$size int
$status string
$name string
$attachments array
$availabilityZone string
$createdAt DateTimeImmutable
$description string
$volumeTypeName string
$snapshotId string
$sourceVolumeId string
$tenantId string
$host string
$metadata array
$volumeImageMetadata array

Methods

populateFromResponse (ResponseInterface $response) : AbstractResource

All models which represent an API resource should be able to be populated from a {see ResponseInterface} object.

retrieve () : void

Retrieve details of the current resource from the remote API.

create (array $userOptions) : Creatable

Create a new resource according to the configuration set in the options.

update () : void

Update the current resource with the configuration set out in the user options.

delete () : void

Permanently delete this resource.

getMetadata () : array

Retrieves the metadata for the resource in the form of an associative array or hash. Each key represents the metadata item's name, and each value represents the metadata item's remote value.

mergeMetadata (array $metadata) : void

Merges a set of new values with those which already exist (on the remote API) for a resource. For example, if the resource has this metadata already set:

resetMetadata (array $metadata) : void

Replaces all of the existing metadata items for a resource with a new set of values. Any metadata items which are not provided in the call are removed from the resource. For example, if the resource has this metadata already set:

parseMetadata (ResponseInterface $response) : array

Extracts metadata from a response object and returns it in the form of an associative array.

Details

populateFromResponse(ResponseInterface $response)

All models which represent an API resource should be able to be populated from a {see ResponseInterface} object.

Parameters

$response ResponseInterface

Return value

AbstractResource

Example code

$abstractResource = $volume->populateFromResponse($response);

retrieve()

Retrieve details of the current resource from the remote API.

Return value

void

Example code

$volume->retrieve();

create(array $userOptions)

Create a new resource according to the configuration set in the options.

Parameters

$userOptions array {see \OpenStack\BlockStorage\v2\Api::postVolumes}

Return value

Creatable

Example code

$creatable = $volume->create($userOptions);

update()

Update the current resource with the configuration set out in the user options.

Return value

void

Example code

$volume->update();

delete()

Permanently delete this resource.

Return value

void

Example code

$volume->delete();

getMetadata()

Retrieves the metadata for the resource in the form of an associative array or hash. Each key represents the metadata item's name, and each value represents the metadata item's remote value.

Return value

array

Example code

$array = $volume->getMetadata();

mergeMetadata(array $metadata)

Merges a set of new values with those which already exist (on the remote API) for a resource. For example, if the resource has this metadata already set:

Foo: val1 Bar: val2

and mergeMetadata(['Foo' => 'val3', 'Baz' => 'val4']); is called, then the resource will have the following metadata:

Foo: val3 Bar: val2 Baz: val4

You will notice that any metadata items which are not specified in the call are preserved.

Parameters

$metadata array The new metadata items

Return value

void

Example code

$volume->mergeMetadata($metadata);

resetMetadata(array $metadata)

Replaces all of the existing metadata items for a resource with a new set of values. Any metadata items which are not provided in the call are removed from the resource. For example, if the resource has this metadata already set:

Foo: val1 Bar: val2

and resetMetadata(['Foo' => 'val3', 'Baz' => 'val4']); is called, then the resource will have the following metadata:

Foo: val3 Baz: val4

Parameters

$metadata array The new metadata items

Return value

void

Example code

$volume->resetMetadata($metadata);

parseMetadata(ResponseInterface $response)

Extracts metadata from a response object and returns it in the form of an associative array.

Parameters

$response ResponseInterface

Return value

array

Example code

$array = $volume->parseMetadata($response);