Documentation ¶
Overview ¶
The storage command provides a storage management interface, for manipulating and inspecting storage entities (volumes, filesystems, charm storage).
Index ¶
- func NewAddCommand() cmd.Command
- func NewAttachStorageCommand(new NewEntityAttacherCloserFunc) cmd.Command
- func NewAttachStorageCommandWithAPI() cmd.Command
- func NewDetachStorageCommand(new NewEntityDetacherCloserFunc) cmd.Command
- func NewDetachStorageCommandWithAPI() cmd.Command
- func NewListCommand() cmd.Command
- func NewPoolCreateCommand() cmd.Command
- func NewPoolListCommand() cmd.Command
- func NewRemoveStorageCommand(new NewEntityDestroyerCloserFunc) cmd.Command
- func NewRemoveStorageCommandWithAPI() cmd.Command
- func NewShowCommand() cmd.Command
- type EntityAttacher
- type EntityAttacherCloser
- type EntityDestroyer
- type EntityDestroyerCloser
- type EntityDetacher
- type EntityDetacherCloser
- type EntityStatus
- type FilesystemAttachments
- type FilesystemCommandBase
- type FilesystemInfo
- type MachineFilesystemAttachment
- type MachineVolumeAttachment
- type NewEntityAttacherCloserFunc
- type NewEntityDestroyerCloserFunc
- type NewEntityDetacherCloserFunc
- type PoolCommandBase
- type PoolCreateAPI
- type PoolInfo
- type PoolListAPI
- type StorageAddAPI
- type StorageAttachments
- type StorageCommandBase
- type StorageInfo
- type StorageListAPI
- type StorageShowAPI
- type UnitStorageAttachment
- type VolumeAttachments
- type VolumeInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAddCommand ¶
NewAddCommand returns a command used to add unit storage.
func NewAttachStorageCommand ¶
func NewAttachStorageCommand(new NewEntityAttacherCloserFunc) cmd.Command
NewAttachStorageCommand returns a command used to attach storage to application units.
func NewAttachStorageCommandWithAPI ¶
NewAttachStorageCommandWithAPI returns a command used to attach storage to application units.
func NewDetachStorageCommand ¶
func NewDetachStorageCommand(new NewEntityDetacherCloserFunc) cmd.Command
NewDetachStorageCommand returns a command used to detach storage from application units.
func NewDetachStorageCommandWithAPI ¶
NewDetachStorageCommandWithAPI returns a command used to detach storage from application units.
func NewListCommand ¶
NewListCommand returns a command for listing storage instances.
func NewPoolCreateCommand ¶
NewPoolCreateCommand returns a command that creates or defines a storage pool
func NewPoolListCommand ¶
NewPoolListCommand returns a command that lists storage pools on a model
func NewRemoveStorageCommand ¶
func NewRemoveStorageCommand(new NewEntityDestroyerCloserFunc) cmd.Command
NewRemoveStorageCommand returns a command used to remove storage from the model.
func NewRemoveStorageCommandWithAPI ¶
NewRemoveStorageCommandWithAPI returns a command used to remove storage from the model.
func NewShowCommand ¶
NewShowCommand returns a command that shows storage details on the specified machine
Types ¶
type EntityAttacher ¶
type EntityAttacher interface {
Attach(string, []string) ([]params.ErrorResult, error)
}
EntityAttacher defines an interface for attaching storage with the specified IDs to a unit.
type EntityAttacherCloser ¶
type EntityAttacherCloser interface { EntityAttacher Close() error }
EntityAttacherCloser extends EntityAttacher with a Closer method.
type EntityDestroyer ¶
type EntityDestroyer interface {
Destroy([]string) ([]params.ErrorResult, error)
}
EntityDestroyer defines an interface for destroying storage instances with the specified IDs.
type EntityDestroyerCloser ¶
type EntityDestroyerCloser interface { EntityDestroyer Close() error }
EntityDestroyerCloser extends EntityDestroyer with a Closer method.
type EntityDetacher ¶
type EntityDetacher interface {
Detach([]string) ([]params.ErrorResult, error)
}
EntityDetacher defines an interface for detaching storage with the specified IDs.
type EntityDetacherCloser ¶
type EntityDetacherCloser interface { EntityDetacher Close() error }
EntityDetacherCloser extends EntityDetacher with a Closer method.
type EntityStatus ¶
type FilesystemAttachments ¶
type FilesystemAttachments struct { Machines map[string]MachineFilesystemAttachment `yaml:"machines,omitempty" json:"machines,omitempty"` Units map[string]UnitStorageAttachment `yaml:"units,omitempty" json:"units,omitempty"` }
type FilesystemCommandBase ¶
type FilesystemCommandBase struct {
StorageCommandBase
}
FilesystemCommandBase is a helper base structure for filesystem commands.
type FilesystemInfo ¶
type FilesystemInfo struct { // from params.Filesystem. This is provider-supplied unique filesystem id. ProviderFilesystemId string `yaml:"provider-id,omitempty" json:"provider-id,omitempty"` // Volume is the ID of the volume that the filesystem is backed by, if any. Volume string `yaml:"volume,omitempty" json:"volume,omitempty"` // Storage is the ID of the storage instance that the filesystem is // assigned to, if any. Storage string `yaml:"storage,omitempty" json:"storage,omitempty"` // Attachments is the set of entities attached to the filesystem. Attachments *FilesystemAttachments // Pool is the name of the storage pool that the filesystem came from. Pool string `yaml:"pool,omitempty" json:"pool,omitempty"` // from params.FilesystemInfo Size uint64 `yaml:"size" json:"size"` // Life is the lifecycle state of the filesystem. Life string `yaml:"life,omitempty" json:"life,omitempty"` // from params.FilesystemInfo. Status EntityStatus `yaml:"status,omitempty" json:"status,omitempty"` }
FilesystemInfo defines the serialization behaviour for storage filesystem.
type MachineVolumeAttachment ¶
type MachineVolumeAttachment struct { DeviceName string `yaml:"device,omitempty" json:"device,omitempty"` DeviceLink string `yaml:"device-link,omitempty" json:"device-link,omitempty"` BusAddress string `yaml:"bus-address,omitempty" json:"bus-address,omitempty"` ReadOnly bool `yaml:"read-only" json:"read-only"` Life string `yaml:"life,omitempty" json:"life,omitempty"` }
type NewEntityAttacherCloserFunc ¶
type NewEntityAttacherCloserFunc func() (EntityAttacherCloser, error)
NewEntityAttacherCloser is the type of a function that returns an EntityAttacherCloser.
type NewEntityDestroyerCloserFunc ¶
type NewEntityDestroyerCloserFunc func() (EntityDestroyerCloser, error)
NewEntityDestroyerCloserFunc is the type of a function that returns an EntityDestroyerCloser.
type NewEntityDetacherCloserFunc ¶
type NewEntityDetacherCloserFunc func() (EntityDetacherCloser, error)
NewEntityDetacherCloser is the type of a function that returns an EntityDetacherCloser.
type PoolCommandBase ¶
type PoolCommandBase struct {
StorageCommandBase
}
PoolCommandBase is a helper base structure for pool commands.
type PoolCreateAPI ¶
type PoolCreateAPI interface { Close() error CreatePool(pname, ptype string, pconfig map[string]interface{}) error }
PoolCreateAPI defines the API methods that pool create command uses.
type PoolInfo ¶
type PoolInfo struct { Provider string `yaml:"provider" json:"provider"` Attrs map[string]interface{} `yaml:"attrs,omitempty" json:"attrs,omitempty"` }
PoolInfo defines the serialization behaviour of the storage pool information.
type PoolListAPI ¶
type PoolListAPI interface { Close() error ListPools(providers, names []string) ([]params.StoragePool, error) }
PoolListAPI defines the API methods that the storage commands use.
type StorageAddAPI ¶
type StorageAddAPI interface { Close() error AddToUnit(storages []params.StorageAddParams) ([]params.ErrorResult, error) }
StorageAddAPI defines the API methods that the storage commands use.
type StorageAttachments ¶
type StorageAttachments struct { // Units is a mapping from unit ID to unit storage attachment details. Units map[string]UnitStorageAttachment `yaml:"units" json:"units"` }
StorageAttachments contains details about all attachments to a storage instance.
type StorageCommandBase ¶
type StorageCommandBase struct {
modelcmd.ModelCommandBase
}
StorageCommandBase is a helper base structure that has a method to get the storage managing client.
func (*StorageCommandBase) NewStorageAPI ¶
func (c *StorageCommandBase) NewStorageAPI() (*storage.Client, error)
NewStorageAPI returns a storage api for the root api endpoint that the environment command returns.
type StorageInfo ¶
type StorageInfo struct { Kind string `yaml:"kind" json:"kind"` Life string `yaml:"life,omitempty" json:"life,omitempty"` Status EntityStatus `yaml:"status" json:"status"` Persistent bool `yaml:"persistent" json:"persistent"` Attachments *StorageAttachments `yaml:"attachments" json:"attachments"` }
StorageInfo defines the serialization behaviour of the storage information.
type StorageListAPI ¶
type StorageListAPI interface { Close() error ListStorageDetails() ([]params.StorageDetails, error) ListFilesystems(machines []string) ([]params.FilesystemDetailsListResult, error) ListVolumes(machines []string) ([]params.VolumeDetailsListResult, error) }
StorageAPI defines the API methods that the storage commands use.
type StorageShowAPI ¶
type StorageShowAPI interface { Close() error StorageDetails(tags []names.StorageTag) ([]params.StorageDetailsResult, error) }
StorageAPI defines the API methods that the storage commands use.
type UnitStorageAttachment ¶
type UnitStorageAttachment struct { // MachineId is the ID of the machine that the unit is assigned to. // // This is omitempty to cater for legacy results, where the machine // information is not available. MachineId string `yaml:"machine,omitempty" json:"machine,omitempty"` // Location is the location of the storage attachment. Location string `yaml:"location,omitempty" json:"location,omitempty"` // Life is the lifecycle state of the storage attachment. Life string `yaml:"life,omitempty" json:"life,omitempty"` }
UnitStorageAttachment contains details of a unit storage attachment.
type VolumeAttachments ¶
type VolumeAttachments struct { Machines map[string]MachineVolumeAttachment `yaml:"machines,omitempty" json:"machines,omitempty"` Units map[string]UnitStorageAttachment `yaml:"units,omitempty" json:"units,omitempty"` }
type VolumeInfo ¶
type VolumeInfo struct { // from params.Volume. This is provider-supplied unique volume id. ProviderVolumeId string `yaml:"provider-id,omitempty" json:"provider-id,omitempty"` // Storage is the ID of the storage instance that the volume is // assigned to, if any. Storage string `yaml:"storage,omitempty" json:"storage,omitempty"` // Attachments is the set of entities attached to the volume. Attachments *VolumeAttachments `yaml:"attachments,omitempty" json:"attachments,omitempty"` // Pool is the name of the storage pool that the volume came from. Pool string `yaml:"pool,omitempty" json:"pool,omitempty"` // from params.Volume HardwareId string `yaml:"hardware-id,omitempty" json:"hardware-id,omitempty"` // from params.Volume Size uint64 `yaml:"size" json:"size"` // from params.Volume Persistent bool `yaml:"persistent" json:"persistent"` // Life is the lifecycle state of the volume. Life string `yaml:"life,omitempty" json:"life,omitempty"` // from params.Volume Status EntityStatus `yaml:"status,omitempty" json:"status,omitempty"` }
VolumeInfo defines the serialization behaviour for storage volume.