Class: SM

Last published : Oct 01, 2026
A storage manager plugin

Fields for class: SM

Field Type Qualifier Description
capabilities string set RO/runtime Deprecated. capabilities of the SM plugin
configuration (string -> string) map RO/runtime names and descriptions of device config keys
copyright string RO/runtime Entity which owns the copyright of this plugin
driver_filename string RO/runtime filename of the storage driver
features (string -> int) map RO/runtime capabilities of the SM plugin, with capability version numbers
name_description string RO/runtime a notes field containing human-readable description
name_label string RO/runtime a human-readable name
other_config (string -> string) map RW additional configuration
required_api_version string RO/runtime Minimum SM API version required on the server
required_cluster_stack string set RO/runtime The storage plugin requires that one of these cluster stacks is configured and running.
supported_image_formats image_format_type set RO/runtime Image formats supported by the SR: raw, vhd, qcow2
type string RO/runtime SR.type
uuid string RO/runtime Unique identifier/object reference
vendor string RO/runtime Vendor who created this plugin
version string RO/runtime Version of the plugin

RPCs associated with class: SM

RPC name: addtootherconfig

Overview:
Add the given keyvalue pair to the otherconfig field of the given SM.
Signature:
void add_to_other_config (session ref session_ref, SM ref self, string key, string value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
string key Key to add
string value Value to add
Minimum Role: pool-operator
Return Type: void

RPC name: getall

Overview:
Return a list of all the SMs known to the system.
Signature:
SM ref set get_all (session ref session_ref)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
Minimum Role: read-only
Return Type: SM ref set
references to all objects

RPC name: getallrecords

Overview:
Return a map of SM references to SM records for all SMs known to the system.
Signature:
(SM ref -> SM record) map get_all_records (session ref session_ref)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
Minimum Role: read-only
Return Type: (SM ref -> SM record) map
records of all objects

RPC name: getbynamelabel

Overview:
Get all the SM instances with the given label.
Signature:
SM ref set get_by_name_label (session ref session_ref, string label)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
string label label of object to return
Minimum Role: read-only
Return Type: SM ref set
references to objects with matching names

RPC name: getbyuuid

Overview:
Get a reference to the SM instance with the specified UUID.
Signature:
SM ref get_by_uuid (session ref session_ref, string uuid)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
string uuid UUID of object to return
Minimum Role: read-only
Return Type: SM ref
reference to the object

RPC name: getcapabilities

This message is deprecated.
Overview:
Get the capabilities field of the given SM.
Signature:
string set get_capabilities (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string set
value of the field

RPC name: getconfiguration

Overview:
Get the configuration field of the given SM.
Signature:
(string -> string) map get_configuration (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: (string -> string) map
value of the field

RPC name: getdriverfilename

Overview:
Get the driverfilename field of the given SM.
Signature:
string get_driver_filename (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getfeatures

Overview:
Get the features field of the given SM.
Signature:
(string -> int) map get_features (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: (string -> int) map
value of the field

RPC name: getnamedescription

Overview:
Get the name/description field of the given SM.
Signature:
string get_name_description (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getnamelabel

Overview:
Get the name/label field of the given SM.
Signature:
string get_name_label (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getotherconfig

Overview:
Get the otherconfig field of the given SM.
Signature:
(string -> string) map get_other_config (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: (string -> string) map
value of the field

RPC name: getrecord

Overview:
Get a record containing the current state of the given SM.
Signature:
SM record get_record (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: SM record
all fields from the object

RPC name: getrequiredapiversion

Overview:
Get the requiredapiversion field of the given SM.
Signature:
string get_required_api_version (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getrequiredclusterstack

Overview:
Get the requiredclusterstack field of the given SM.
Signature:
string set get_required_cluster_stack (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string set
value of the field

RPC name: getsupportedimageformats

Overview:
Get the supportedimageformats field of the given SM.
Signature:
image_format_type set get_supported_image_formats (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: image_format_type set
value of the field

RPC name: gettype

Overview:
Get the type field of the given SM.
Signature:
string get_type (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getuuid

Overview:
Get the uuid field of the given SM.
Signature:
string get_uuid (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getvendor

Overview:
Get the vendor field of the given SM.
Signature:
string get_vendor (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: getversion

Overview:
Get the version field of the given SM.
Signature:
string get_version (session ref session_ref, SM ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: removefromotherconfig

Overview:
Remove the given key and its corresponding value from the otherconfig field of the given SM. If the key is not in that Map, then do nothing.
Signature:
void remove_from_other_config (session ref session_ref, SM ref self, string key)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
string key Key to remove
Minimum Role: pool-operator
Return Type: void

RPC name: setotherconfig

Overview:
Set the otherconfig field of the given SM.
Signature:
void set_other_config (session ref session_ref, SM ref self, (string -> string) map value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
SM ref self reference to the object
(string -> string) map value New value to set
Minimum Role: pool-operator
Return Type: void