# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# Functions

CreateVolume creates a volume from parameters, including the policy to copy.
NewGlobal constructs a new global object.
NewPolicy creates a policy struct with the required parameters for using it.
NewRuntimeOptions creates a new runtime options struct with a path so it can be found or written to.
NewVolume constructs a new volume given the policy and volume parameters.

# Constants

DefaultFilesystem is the default filesystem in volplugin.
DefaultGlobalTTL is the TTL used when no TTL exists.
DefaultMountPath is the standard mount path for all mounts.
DefaultTimeout is the standard command timeout when none is provided.
GlobalConfigName is the path to the global configuration under the db prefix.
TimeoutFixBase is our base timeout -- timeouts supplied to the user are multiplied against this for storage and evaluation.
TTLFixBase is our base TTL.

# Variables

DefaultDrivers are macro type definitions for backend drivers.
DefaultFilesystems is a map of our default supported filesystems.
PolicySchema defines the json schema for policy.
RuntimeSchema defines json schema for runtime configuration.
VolumeSchema defines the json schema for volume.

# Structs

BackendDrivers is a struct containing all the drivers used under this policy.
CreateOptions are the set of options used by apiserver during the volume create operation.
Global is the global configuration.
Hooks for CRUD operations.
Policy is the configuration of the policy.
RateLimitConfig is the configuration for limiting the rate of disk access.
RuntimeOptions are the set of options used by volplugin when mounting the volume, and by volsupervisor for calculating periodic work.
SnapshotConfig is the configuration for snapshots.
UseMount is the mount locking mechanism for users.
UseSnapshot is similar to UseMount in that it is a locking mechanism, just for snapshots this time.
Volume is the configuration of the policy.
VolumeRequest provides a request structure for communicating volumes to the apiserver or internally.

# Interfaces

Client provides a method of hooking into our data stores.
Entity provides an abstraction on our types and how they are persisted to k/v stores.
UseLocker is an interface to locks controlled in etcd, or what we call "users".

# Type aliases

Hook is the type that represents a client hook in our entities system.