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"


This section is empty.


This section is empty.


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 {
                                          	Plugin string `json:"plugin"`

                                          Source Files


                                          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.