package
0.1.0
Repository: https://github.com/emc-cmd/libstorage.git
Documentation: pkg.go.dev

# Functions

BackCompat ensures keys can be used from old configurations.
MustNewUUID is like NewUUID but panics if it encounters an error when creating a new UUID.
NewTransaction returns a new transaction.
NewUUID returns a new UUID.
ParseDeviceScanType parses a device scan type.
ParseUUID is a helper function on top of UnmarshalText.

# Constants

Block is block storage.
ConfigClient is a config key.
ConfigClientCacheInstanceID is a config key.
ConfigDeviceAttachTimeout is a config key.
ConfigDeviceScanType is a config key.
ConfigEmbedded is a config key.
ConfigEndpoints is a config key.
ConfigExecutorNoDownload is a config key.
ConfigExecutorPath is a config key.
ConfigHost is a config key.
ConfigHTTPDisableKeepAlive is a config key.
ConfigHTTPReadTimeout is a config key.
ConfigHTTPWriteTimeout is a config key.
ConfigIg is a config key.
ConfigIgVol is a config key.
ConfigIgVolOps is a config key.
ConfigIgVolOpsCreate is a config key.
ConfigIgVolOpsCreateDefault is a config key.
ConfigIgVolOpsCreateDefaultAZ is a config key.
ConfigIgVolOpsCreateDefaultFsType is a config key.
ConfigIgVolOpsCreateDefaultIOPS is a config key.
ConfigIgVolOpsCreateDefaultSize is a config key.
ConfigIgVolOpsCreateDefaultType is a config key.
ConfigIgVolOpsCreateDisable is a config key.
ConfigIgVolOpsCreateImplicit is a config key.
ConfigIgVolOpsMount is a config key.
ConfigIgVolOpsMountPath is a config key.
ConfigIgVolOpsMountPreempt is a config key.
ConfigIgVolOpsMountRootPath is a config key.
ConfigIgVolOpsPath is a config key.
ConfigIgVolOpsPathCache is a config key.
ConfigIgVolOpsRemove is a config key.
ConfigIgVolOpsRemoveDisable is a config key.
ConfigIgVolOpsUnmount is a config key.
ConfigIgVolOpsUnmountIgnoreUsed is a config key.
ConfigIntegrationDriver is a config key.
ConfigLogHTTPRequests is a config key.
ConfigLogHTTPResponses is a config key.
ConfigLogLevel is a config key.
ConfigLogStderr is a config key.
ConfigLogStdout is a config key.
ConfigOldDocker is a config key.
ConfigOldDockerAvailabilityZone is a config key.
ConfigOldDockerFsType is a config key.
ConfigOldDockerIOPS is a config key.
ConfigOldDockerLinuxVolumeRootPath is a config key.
ConfigOldDockerMountDirPath is a config key.
ConfigOldDockerSize is a config key.
ConfigOldDockerVolumeType is a config key.
ConfigOldIntegrationVolCreateDisable is a config key.
ConfigOldIntegrationVolMountPreempt is a config key.
ConfigOldIntegrationVolPathCache is a config key.
ConfigOldIntegrationVolRemoveDisable is a config key.
ConfigOldIntegrationVolUnmountIgnoreUsed is a config key.
ConfigOldRoot is a config key.
ConfigOSDriver is a config key.
ConfigRoot is a config key.
ConfigServer is a config key.
ConfigService is a config key.
ConfigServices is a config key.
ConfigStorageDriver is a config key.
ConfigTLS is a config key.
ConfigTLSCertFile is a config key.
ConfigTLSClientCertRequired is a config key.
ConfigTLSDisabled is a config key.
ConfigTLSKeyFile is a config key.
ConfigTLSServerName is a config key.
ConfigTLSTrustedCertsFile is a config key.
DebugLevel level.
DeviceScanDeep performs a deep, longer scan.
DeviceScanQuick performs a shallow, quick scan.
ErrorLevel level.
FatalLevel level.
FilterAnd is the & operator.
FilterApproxMatch is the ~= operator.
FilterEqualityMatch is the = operator.
FilterGreaterOrEqual is the >= operator.
FilterLessOrEqual is the <= operator.
FilterNot is the ! operator.
FilterOr is the | operator.
FilterPresent is the =* operator.
FilterSubstrings is the = operator in conjunction with a string that has leading and trailing * characters.
FilterSubstringsPostfix is the = operator in conjunction with a string that has a trailing * character.
FilterSubstringsPrefix is the = operator in conjunction with a string that has a leading * character.
InfoLevel level.
InstanceIDHeader is the HTTP header that contains an InstanceID.
LibStorageDriverName is the name of the libStorage storage driver.
LocalDevicesHeader is the HTTP header that contains a local device pair.
NAS is network attached storage.
Object is object-backed storage.
PanicLevel level, highest level of severity.
ServerNameHeader is the HTTP header that contains the randomly generated name the server creates for unique identification when the server starts for the first time.
TaskStateError is the state for a task that has completed with an error.
TaskStateQueued is the state for a task that has been enqueued but not yet started.
TaskStateRunning is the state for a task that is running.
TaskStateSuccess is the state for a task that has completed successfully.
TraceLevel level.
TransactionHeader is the HTTP header that contains the transaction sent from the client.
WarnLevel level.

# Variables

ErrIIDMetadataNil is returned by *InstanceID.UnmarshalMetadata when the InstanceID's metadata is empty or nil.
ErrIIDMetadataNilData is returned by *InstanceID.MarshalMetadata when the provided object to marshal is nil.
ErrIIDMetadataNilDest is returned by *InstanceID.UnmarshalMetadata when the provided destination into which the metadata should be unmarshaled is nil.
ErrNotImplemented is the error that Driver implementations should return if a function is not implemented.
LSX is the default name of the libStorage executor for the current OS.

# Structs

DeviceFormatOpts are options when formatting a device.
DeviceMountOpts are options when mounting a device.
DriverInfo is information about a driver.
ErrBadFilter occurs when a bad filter is supplied via the filter query string.
ErrBatchProcess occurs when a batch process is interrupted by an error before the process is complete.
ErrContextKey occurs when no value exists for a specified context key.
ErrContextType occurs when a value exists in the context but is not the expected typed.
ErrDriverTypeErr occurs when a Driver is constructed with an invalid type.
ErrMissingInstanceID occurs when an operation requires the instance ID for the configured service to be avaialble.
ErrNotFound occurs when a Driver inspects or sends an operation to a resource that cannot be found.
ErrStoreKey occurs when no value exists for a specified store key.
ExecutorInfo contains information about a client-side executor, such as its name and MD5 checksum.
Filter is an LDAP-style filter string.
Instance provides information about a storage object.
InstanceID identifies a host to a remote storage platform.
LocalDevices is a wrapper for a map of volume to device mappings.
LocalDevicesOpts are options when getting a list of local devices.
MountInfo reveals information about a particular mounted filesystem.
NextDeviceInfo assists the libStorage client in determining the next available device name by providing the driver's device prefix and optional pattern.
ServiceInfo is information about a service.
Snapshot provides information about a storage-layer snapshot.
SnapshotCopyRequest is the JSON body for copying a snapshot.
SnapshotRemoveRequest is the JSON body for removing a snapshot.
Task is a representation of an asynchronous, long-running task.
Transaction contains transaction information.
Volume provides information about a storage volume.
VolumeAttachment provides information about an object attached to a storage volume.
VolumeAttachOpts are options for attaching a volume.
VolumeAttachRequest is the JSON body for attaching a volume to an instance.
VolumeAttachResponse is the JSON response for attaching a volume to an instance.
VolumeCopyRequest is the JSON body for copying a volume.
VolumeCreateOpts are options when creating a new volume.
VolumeCreateRequest is the JSON body for creating a new volume.
VolumeDetachOpts are options for detaching a volume.
VolumeDetachRequest is the JSON body for detaching a volume from an instance.
VolumeDevice provides information about a volume's backing storage device.
VolumeInspectOpts are options when inspecting a volume.
VolumeMountOpts are options for mounting a volume.
VolumeSnapshotRequest is the JSON body for snapshotting a volume.
VolumesOpts are options when inspecting a volume.
WaitForDeviceOpts are options when waiting on specific local device to appear.

# Interfaces

APIClient is the libStorage API client used for communicating with a remote libStorage endpoint.
Client is the libStorage client.
ClientDriver is the client-side driver that is able to inspect methods before and after they are invoked in order to both prevent their execution as well as mutate the results.
Context is a libStorage context.
ContextLoggerFieldAware is used by types that will be logged by the Context logger.
ContextLoggerFieldsAware is used by types that will be logged by the Context logger.
Driver is the base interface for a libStorage driver.
IntegrationDriver is the interface implemented to integrate external storage consumers, such as Docker, with libStorage.
IntegrationDriverManager is the management wrapper for an IntegrationDriver.
Middleware is middleware for a route.
OSDriver is the interface implemented by types that provide OS introspection and management.
OSDriverManager is the management wrapper for an OSDriver.
ProvidesAPIClient is any type that provides the API client.
ProvidesStorageExecutorCLI is a type that provides the StorageExecutorCLI.
Route defines an individual API route in the server.
Router defines an interface to specify a group of routes to add the the server.
Server is the interface for a libStorage server.
Service is the base type for services.
Services is a service's container.
StorageDriver is a libStorage driver used by the routes to implement the backend functionality.
StorageDriverManager is the management wrapper for a StorageDriver.
StorageExecutor is the part of a storage driver that is downloaded at runtime by the libStorage client.
StorageExecutorCLI provides a way to interact with the CLI tool built with the driver implementations of the StorageExecutor interface.
StorageExecutorFunctions is the collection of functions that are required of a StorageExecutor.
StorageService is a service that provides the interaction with StorageDrivers.
Store is a key/value store with case-insensitive keys.
TaskExecutionService is a service for executing tasks.
TaskTrackingService a service for tracking tasks.
VolumeMapping is a volume's name and the path to which it is mounted.

# Type aliases

APIFunc is an adapter to allow the use of ordinary functions as API endpoints.
ConfigKey is a configuration key.
DeviceScanType is a type of device scan algorithm.
ExecutorsMap is the response when getting one to many ExecutorInfos.
FilterOperator is a filter operator.
InstanceIDMap is a map of InstanceID objects.
Level is a log level.
LocalDevicesMap is a map of LocalDevices objects.
MiddlewareFunc is an adapter to allow the use of ordinary functions as API filters.
NewClientDriver is a function that constructs a new ClientDriver.
NewIntegrationDriver is a function that constructs a new IntegrationDriver.
NewOSDriver is a function that constructs a new OSDriver.
NewRequestObjFunc is a function that creates a new instance of the type to which the request body is serialized.
NewRouteFunc returns a new route.
NewStorageDriver is a function that constructs a new StorageDriver.
NewStorageExecutor is a function that constructs a new StorageExecutors.
ServicesMap is the response when getting one to many ServiceInfos.
ServiceSnapshotMap is the response for listing snapshots for multiple services.
ServiceVolumeMap is the response for listing volumes for multiple services.
SnapshotMap is the response for listing snapshots for a single service.
StorageTaskRunFunc is a function responsible for a storage-service task's execution.
StorageType is the type of storage a driver provides.
TaskRunFunc is a function responsible for a task's execution.
TaskState is the possible state of a task.
TxTimestamp is a transaction's timestamp.
UUID is a UUID.
VolumeMap is the response for listing volumes for a single service.