Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ErrVolDetached is code for a volume is detached on the instance ErrVolDetached // ErrVolInval is the code for a invalid volume ErrVolInval // ErrVolAttachedOnRemoteNode is code when a volume is not attached locally // but attached on a remote node ErrVolAttachedOnRemoteNode // ErrVolNotFound is code when a volume is not found ErrVolNotFound // ErrInvalidDevicePath is code when a volume/disk has invalid device path ErrInvalidDevicePath )
Custom storage operation error codes.
View Source
const ProviderOpsMaxRetries = 10
ProviderOpsMaxRetries is the number of retries to use for provider ops
ProviderOpsRetryInterval is the time to wait before each retry of provider ops
ProviderOpsTimeout is the default timeout of storage provider ops
View Source
const ( // SetIdentifierNone is a default identifier to group all disks from a // particular set SetIdentifierNone = "None" )
Variables ¶
ErrNotSupported is returned when a particular operation is not supported
Functions ¶
func AddElementToMap ¶
AddElementToMap adds to the given 'elem' to the 'sets' map with given 'key'
func GetEnvValueStrict ¶
GetEnvValueStrict fetches value for env variable "key". Returns error if not found or empty
Types ¶
type Ops ¶
type Ops interface { // Name returns name of the storage operations driver Name() string // InstanceID returns the ID of the instance of the default instance the operations are performed on InstanceID() string // Create volume based on input template volume and also apply given labels. Create(template interface{}, labels map[string]string) (interface{}, error) // GetDeviceID returns ID/Name of the given device/disk or snapshot GetDeviceID(template interface{}) (string, error) // Attach volumeID. // Return attach path. Attach(volumeID string) (string, error) // Detach volumeID. Detach(volumeID string) error // DetachFrom detaches the disk/volume with given ID from the given instance ID DetachFrom(volumeID, instanceID string) error // Delete volumeID. Delete(volumeID string) error // DeleteFrom deletes the given volume/disk from the given instanceID DeleteFrom(volumeID, instanceID string) error // Desribe an instance Describe() (interface{}, error) // FreeDevices returns free block devices on the instance. // blockDeviceMappings is a data structure that contains all block devices on // the instance and where they are mapped to FreeDevices(blockDeviceMappings []interface{}, rootDeviceName string) ([]string, error) // Inspect volumes specified by volumeID Inspect(volumeIds []*string) ([]interface{}, error) // DeviceMappings returns map[local_attached_volume_path]->volume ID/NAME DeviceMappings() (map[string]string, error) // Enumerate volumes that match given filters. Organize them into // sets identified by setIdentifier. // labels can be nil, setIdentifier can be empty string. Enumerate(volumeIds []*string, labels map[string]string, setIdentifier string, ) (map[string][]interface{}, error) // DevicePath for the given volume i.e path where it's attached DevicePath(volumeID string) (string, error) // Snapshot the volume with given volumeID Snapshot(volumeID string, readonly bool) (interface{}, error) // SnapshotDelete deletes the snapshot with given ID SnapshotDelete(snapID string) error // ApplyTags will apply given labels/tags on the given volume ApplyTags(volumeID string, labels map[string]string) error // RemoveTags removes labels/tags from the given volume RemoveTags(volumeID string, labels map[string]string) error // Tags will list the existing labels/tags on the given volume Tags(volumeID string) (map[string]string, error) }
Ops interface to perform basic storage operations.
type StorageError ¶
type StorageError struct { // Code is one of storage operation driver error codes. Code int // Msg is human understandable error message. Msg string // Instance provides more information on the error. Instance string }
StorageError error returned for storage operations
func (*StorageError) Error ¶
func (e *StorageError) Error() string
Click to show internal directories.
Click to hide internal directories.