Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin interface { // Init inits volume plugin Init(cloudprovider.Interface) // SnapshotCreate creates a VolumeSnapshot from a PersistentVolumeSpec SnapshotCreate(*crdv1.VolumeSnapshot, *v1.PersistentVolume, *map[string]string) (*crdv1.VolumeSnapshotDataSource, *[]crdv1.VolumeSnapshotCondition, error) // SnapshotDelete deletes a VolumeSnapshot // PersistentVolume is provided for volume types, if any, that need PV Spec to delete snapshot SnapshotDelete(*crdv1.VolumeSnapshotDataSource, *v1.PersistentVolume) error // SnapshotRestore restores (promotes) a volume snapshot into a volume SnapshotRestore(*crdv1.VolumeSnapshotData, *v1.PersistentVolumeClaim, string, map[string]string) (*v1.PersistentVolumeSource, map[string]string, error) // Describe an EBS volume snapshot status for create or delete. // return status (completed or pending or error), and error DescribeSnapshot(snapshotData *crdv1.VolumeSnapshotData) (snapConditions *[]crdv1.VolumeSnapshotCondition, isCompleted bool, err error) // FindSnapshot finds a VolumeSnapshot by matching metadata FindSnapshot(tags *map[string]string) (*crdv1.VolumeSnapshotDataSource, *[]crdv1.VolumeSnapshotCondition, error) // VolumeDelete deletes a PV // TODO in the future pass kubernetes client for certain volumes (e.g. rbd) so they can access storage class to retrieve secret VolumeDelete(pv *v1.PersistentVolume) error }
Plugin defines functions that should be implemented by the volume plugin
Click to show internal directories.
Click to hide internal directories.