gcp

package
v19.10.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MinimumVolumeSizeBytes    = 1000000000    // 1 GB
	MinimumCVSVolumeSizeBytes = 1099511627776 // 1 TiB
	MinimumAPIVersion         = "1.1.4"
	MinimumSDEVersion         = "1.130.11"

	// Constants for internal pool attributes
	Size            = "size"
	ServiceLevel    = "serviceLevel"
	SnapshotDir     = "snapshotDir"
	SnapshotReserve = "snapshotReserve"
	ExportRule      = "exportRule"
	Network         = "network"
	Region          = "region"
	Zone            = "zone"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type NFSStorageDriver

type NFSStorageDriver struct {
	Config drivers.GCPNFSStorageDriverConfig
	API    *api.Client
	// contains filtered or unexported fields
}

NFSStorageDriver is for storage provisioning using Cloud Volumes Service in GCP

func (*NFSStorageDriver) Create

func (d *NFSStorageDriver) Create(
	volConfig *storage.VolumeConfig, storagePool *storage.Pool, volAttributes map[string]sa.Request,
) error

Create a volume with the specified options

func (*NFSStorageDriver) CreateClone

func (d *NFSStorageDriver) CreateClone(volConfig *storage.VolumeConfig) error

CreateClone clones an existing volume. If a snapshot is not specified, one is created.

func (*NFSStorageDriver) CreateFollowup

func (d *NFSStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error

func (*NFSStorageDriver) CreatePrepare

func (d *NFSStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) error

func (*NFSStorageDriver) CreateSnapshot

func (d *NFSStorageDriver) CreateSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)

CreateSnapshot creates a snapshot for the given volume

func (*NFSStorageDriver) DeleteSnapshot

func (d *NFSStorageDriver) DeleteSnapshot(snapConfig *storage.SnapshotConfig) error

DeleteSnapshot creates a snapshot of a volume.

func (*NFSStorageDriver) Destroy

func (d *NFSStorageDriver) Destroy(name string) error

Destroy deletes a volume.

func (*NFSStorageDriver) Get

func (d *NFSStorageDriver) Get(name string) error

Test for the existence of a volume

func (*NFSStorageDriver) GetAPI

func (d *NFSStorageDriver) GetAPI() *api.Client

func (*NFSStorageDriver) GetConfig

func (*NFSStorageDriver) GetExternalConfig

func (d *NFSStorageDriver) GetExternalConfig() interface{}

func (*NFSStorageDriver) GetInternalVolumeName

func (d *NFSStorageDriver) GetInternalVolumeName(name string) string

func (*NFSStorageDriver) GetProtocol

func (d *NFSStorageDriver) GetProtocol() tridentconfig.Protocol

func (*NFSStorageDriver) GetSnapshot

func (d *NFSStorageDriver) GetSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)

GetSnapshot gets a snapshot. To distinguish between an API error reading the snapshot and a non-existent snapshot, this method may return (nil, nil).

func (*NFSStorageDriver) GetSnapshots

func (d *NFSStorageDriver) GetSnapshots(volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)

Return the list of snapshots associated with the specified volume

func (*NFSStorageDriver) GetStorageBackendSpecs

func (d *NFSStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error

Retrieve storage capabilities and register pools with specified backend.

func (*NFSStorageDriver) GetUpdateType

func (d *NFSStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap

GetUpdateType returns a bitmap populated with updates to the driver

func (*NFSStorageDriver) GetVolumeExternal

func (d *NFSStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)

GetVolumeExternal queries the storage backend for all relevant info about a single container volume managed by this driver and returns a VolumeExternal representation of the volume.

func (*NFSStorageDriver) GetVolumeExternalWrappers

func (d *NFSStorageDriver) GetVolumeExternalWrappers(
	channel chan *storage.VolumeExternalWrapper)

GetVolumeExternalWrappers queries the storage backend for all relevant info about container volumes managed by this driver. It then writes a VolumeExternal representation of each volume to the supplied channel, closing the channel when finished.

func (*NFSStorageDriver) Import

func (d *NFSStorageDriver) Import(volConfig *storage.VolumeConfig, originalName string) error

func (*NFSStorageDriver) Initialize

func (d *NFSStorageDriver) Initialize(
	context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig,
) error

Initialize initializes this driver from the provided config

func (*NFSStorageDriver) Initialized

func (d *NFSStorageDriver) Initialized() bool

Initialized returns whether this driver has been initialized (and not terminated)

func (*NFSStorageDriver) List

func (d *NFSStorageDriver) List() ([]string, error)

Return the list of volumes associated with this tenant

func (*NFSStorageDriver) Name

func (d *NFSStorageDriver) Name() string

Name returns the name of this driver

func (*NFSStorageDriver) Publish

func (d *NFSStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error

Publish the volume to the host specified in publishInfo. This method may or may not be running on the host where the volume will be mounted, so it should limit itself to updating access rules, initiator groups, etc. that require some host identity (but not locality) as well as storage controller API access.

func (*NFSStorageDriver) Rename

func (d *NFSStorageDriver) Rename(name string, newName string) error

func (*NFSStorageDriver) Resize

func (d *NFSStorageDriver) Resize(volConfig *storage.VolumeConfig, sizeBytes uint64) error

func (*NFSStorageDriver) RestoreSnapshot

func (d *NFSStorageDriver) RestoreSnapshot(snapConfig *storage.SnapshotConfig) error

RestoreSnapshot restores a volume (in place) from a snapshot.

func (*NFSStorageDriver) StoreConfig

func (*NFSStorageDriver) Terminate

func (d *NFSStorageDriver) Terminate()

Terminate stops the driver prior to its being unloaded

type Telemetry

type Telemetry struct {
	tridentconfig.Telemetry
	Plugin string `json:"plugin"`
}

Directories

Path Synopsis
This package provides a high-level interface to the NetApp GCP Cloud Volumes NFS REST API.
This package provides a high-level interface to the NetApp GCP Cloud Volumes NFS REST API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL