package
0.1.5
Repository: https://github.com/acquia/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.
ParseClientType parses a new client type.
ParseDeviceScanType parses a device scan type.
ParseEndpointType parses the endpoint 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.
ConfigClientType 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.
ConfigIgVolOpsPathCacheAsync is a config key.
ConfigIgVolOpsPathCacheEnabled 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.
ConfigLogging 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.
ConfigSchemaResponseValidationEnabled is a config key.
ConfigServer is a config key.
ConfigServerAutoEndpointMode is a config key.
ConfigServerTasks is a config key.
ConfigServerTasksExeTimeout is a config key.
ConfigServerTasksLogTimeout 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.
ControllerClient is a libStorage client that has no interaction with the local host, removing any need for access to libStorage executors.
DebugLevel level.
DeviceScanDeep performs a deep, longer scan.
DeviceScanQuick performs a shallow, quick scan.
ErrorLevel level.
Etc is the application etc directory.
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.
Home is the application home directory.
InfoLevel level.
InstanceIDHeader is the HTTP header that contains an InstanceID.
IntegrationClient is the default client type -- a client that both communicates with a remote libStorage endpoint as well as interacts with the local host.
Lib is the application lib directory.
LibStorageDriverName is the name of the libStorage storage driver.
LocalDevicesHeader is the HTTP header that contains a local device pair.
Log is the application log directory.
LSX is the path to the libStorage executor.
LSXCmdInstanceID is the command to execute to get the instance ID.
LSXCmdLocalDevices is the command to execute to get the local devices map.
LSXCmdNextDevice is the command to execute to get the next device.
LSXCmdWaitForDevice is the command to execute to wait until a device, identified by volume ID, is presented to the system.
NAS is network attached storage.
Object is object-backed storage.
PanicLevel level, highest level of severity.
Run is the application run directory.
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.
TCPEndpoint is a TCP endpoint.
TraceLevel level.
TransactionHeader is the HTTP header that contains the transaction sent from the client.
UnixEndpoint is a UNIX socket endpoint.
UnknownClientType is an unknown client type.
UnknownEndpointType is an unknown endpoint type.
WarnLevel level.

# Variables

Debug is a flag that indicates whether or not the environment variable `LIBSTORAGE_DEBUG` is set to a boolean true value.
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.

# Structs

DeviceFormatOpts are options when formatting a device.
DeviceMountOpts are options when mounting a device.
DriverInfo is information about a driver.
ErrBadAdminToken occurs when a bad admin token is provided.
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.
ErrUnsupportedForClientType is the error that occurs when an operation is invoked that is unsupported for the current client type.
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.
VersionInfo provides information about the libStorage version.
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.
FieldLogger interface generalizes the Entry and Logger types.
IntegrationDriver is the interface implemented to integrate external storage consumers, such as Docker, with libStorage.
IntegrationDriverManager is the management wrapper for an IntegrationDriver.
LogEntry is collected data to be emitted as a log entry.
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.
ClientType is a client's type.
ConfigKey is a configuration key.
DeviceScanType is a type of device scan algorithm.
EndpointType is a type of endpoint.
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.
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.