type(string: "") - Specifies the type of volume to
query. Currently only supports csi. This is specified as a query
string parameter. Returns an empty list if omitted.
node_id(string: "") - Specifies a string to filter volumes
based on an Node ID prefix. Because the value is decoded to bytes,
the prefix must have an even number of hexadecimal characters
(0-9a-f). This is specified as a query string parameter.
plugin_id(string: "") - Specifies a string to filter volumes
based on a plugin ID prefix. Because the value is decoded to bytes,
the prefix must have an even number of hexadecimal characters
(0-9a-f). This is specified as a query string parameter.
next_token(string: "") - This endpoint supports paging. The next_token
parameter accepts a string which identifies the next expected volume. This
value can be obtained from the X-Nomad-NextToken header from the previous
response.
per_page(int: 0) - Specifies a maximum number of volumes to return for
this request. If omitted, the response is not paginated. The value of the
X-Nomad-NextToken header of the last response can be used as the
next_token of the next request to fetch additional pages.
filter(string: "") - Specifies the expression
used to filter the results. Consider using pagination or a query parameter to
reduce resource used to serve the request.
This endpoint registers an external volume with Nomad. The volume must exist
in the external storage provider (see Create Volume below). It is an error
to register an already registered volume.
This endpoint creates a volume in an external storage provider and registers
it with Nomad. It is an error to create an already-registered volume. Only CSI
plugins that implement the Controller interface with
the CREATE_DELETE_VOLUME capability support this endpoint.
:volume_id(string: <required>) - Specifies the ID of the
volume. This must be the full ID. This is specified as part of the
path.
force(bool: false) - Force deregistration of the volume and immediately
drop claims for terminal allocations. Returns an error if the volume has
running allocations. This does not detach the volume from client nodes.
This is specified as a query string parameter.
This endpoint deletes an external volume from the storage provider, and
deregisters it from Nomad. It is an error to delete a volume that is in
use. Only CSI plugins that implement the Controller
interface with the CREATE_DELETE_VOLUME capability support this endpoint.
This endpoint accepts a X-Nomad-CSI-Secrets header to set secrets
for deleting the volume as comma-separated key-value pairs (see the
example below). These secrets will be merged with any secrets already
stored when the CSI volume was created.
This endpoint lists storage volumes that are known to the external storage
provider but may not be registered with Nomad. Only CSI plugins that
implement the Controller interface with the
LIST_VOLUMES capability support this endpoint.
plugin_id(string: "") - Specifies a string to filter volumes
based on a plugin ID prefix. Because the value is decoded to bytes,
the prefix must have an even number of hexadecimal characters
(0-9a-f). This is specified as a query string parameter.
next_token(string: "") - This endpoint supports paging. The
next_token parameter accepts a string returned in a previous response's
NextToken field to request the next page of results.
per_page(int: <required>) - Specifies a maximum number of snapshots to
return for this request. The response will include a NextToken field that
can be passed to the next request to fetch additional pages.
{"NextToken":"eyJ2IjoiMiIsImMiOiJLZ","Volumes":[{"ExternalID":"vol-37ac485e","CapacityBytes":1000000,"SnapshotID":"snap-12345","PublishedExternalNodeIDs":["i-12345","i-abcde"],"IsAbnormal":false,"Status":""},{"ExternalID":"vol-10ac4879","CapacityBytes":1000000,"SnapshotID":"snap-abcdef","PublishedExternalNodeIDs":["i-12345","i-abcde"],"IsAbnormal":true,"Status":"example error message from provider"}]}
{"NextToken":"eyJ2IjoiMiIsImMiOiJLZ","Volumes":[{"ExternalID":"vol-37ac485e","CapacityBytes":1000000,"SnapshotID":"snap-12345","PublishedExternalNodeIDs":["i-12345","i-abcde"],"IsAbnormal":false,"Status":""},{"ExternalID":"vol-10ac4879","CapacityBytes":1000000,"SnapshotID":"snap-abcdef","PublishedExternalNodeIDs":["i-12345","i-abcde"],"IsAbnormal":true,"Status":"example error message from provider"}]}
This endpoint creates a snapshot of a volume on the external storage
provider. Only CSI plugins that implement the
Controller interface with the
CREATE_DELETE_SNAPSHOT capability support this endpoint.
This endpoint deletes a volume snapshot from the external storage
provider. Only CSI plugins that implement the
Controller interface with the
CREATE_DELETE_SNAPSHOT capability support this endpoint.
This endpoint accepts a X-Nomad-CSI-Secrets header to set secrets
for deleting the snapshot as comma-separated key-value pairs (see the
example below). These secrets will be merged with any secrets already
stored when the CSI snapshot was created.
plugin_id(string: <required>) - Specifies the prefix of a CSI plugin ID
to perform the delete. Because the value is decoded to bytes, the prefix
must have an even number of hexadecimal characters (0-9a-f). This is
specified as a query string parameter.
snapshot_id(string: <required>) - Specifies the snapshot ID to
delete. This is specified as a query parameter.
This endpoint lists volume snapshots on the external storage provider. Only
CSI plugins that implement the Controller interface
with the LIST_SNAPSHOTS capability support this endpoint.
This endpoint accepts a X-Nomad-CSI-Secrets header to set secrets
for deleting the snapshot as comma-separated key-value pairs (see the
example below). These secrets will be merged with any secrets already
stored when the CSI snapshot was created.
plugin_id(string: <required>) - Specifies the prefix of a CSI plugin ID
to perform the list. Because the value is decoded to bytes, the prefix must
have an even number of hexadecimal characters (0-9a-f). This is specified as
a query string parameter.
next_token(string: "") - This endpoint supports paging. The
next_token parameter accepts a string returned in a previous response's
NextToken field to request the next page of results.
per_page(int: <required>) - Specifies a maximum number of snapshots to
return for this request. The response will include a NextToken field that
can be passed to the next request to fetch additional pages.