file

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 22 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyFilter added in v0.6.1

func ApplyFilter(ops []*filev1beta1.Operation, uri string, opType string, done bool) ([]*filev1beta1.Operation, error)

func CheckBackupExists added in v1.5.14

func CheckBackupExists(backupInfo *Backup, err error) (bool, error)

func CompareInstances

func CompareInstances(a, b *ServiceInstance) error

func CompareMultishareInstances added in v1.2.0

func CompareMultishareInstances(a, b *MultishareInstance) error

func CompareShares added in v1.2.0

func CompareShares(a, b *Share) error

func CreateBackupURI added in v1.3.19

func CreateBackupURI(serviceLocation, project, backupName, backupLocation string) (string, string, error)

This function returns the backup URI, the region that was picked to be the backup resource location and error.

func GenerateMultishareInstanceURI added in v1.2.0

func GenerateMultishareInstanceURI(m *MultishareInstance) (string, error)

func GenerateShareURI added in v1.2.0

func GenerateShareURI(s *Share) (string, error)

func GetInstanceNameFromURI added in v1.5.0

func GetInstanceNameFromURI(uri string) (project, location, name string, err error)

func GetMultishareInstanceHandle added in v1.2.0

func GetMultishareInstanceHandle(m *MultishareInstance) (string, error)

func IsInstanceTarget added in v1.2.0

func IsInstanceTarget(target string) bool

func IsNotFoundErr added in v0.2.0

func IsNotFoundErr(err error) bool

func IsShareTarget added in v1.2.0

func IsShareTarget(target string) bool

func ParseShare added in v1.2.0

func ParseShare(s *Share) (string, string, string, string, error)

func ProcessExistingBackup added in v1.5.14

func ProcessExistingBackup(ctx context.Context, backup *Backup, volumeID string, mode string) (*csi.Snapshot, error)

This function will process an existing backup

func StatusError added in v1.5.7

func StatusError(err error) error

Status error returns the error as a grpc status error, and sets the grpc error code according to CodeForError.

Types

type Backup added in v1.5.14

type Backup struct {
	Backup         *filev1beta1.Backup
	SourceInstance string
	SourceShare    string
}

type BackupInfo added in v0.3.1

type BackupInfo struct {
	Name               string
	SourceVolumeId     string
	BackupURI          string
	SourceInstance     string
	SourceInstanceName string
	SourceShare        string
	Project            string
	Location           string
	Tier               string
	Labels             map[string]string
}

func (*BackupInfo) BackupSource added in v1.5.14

func (bi *BackupInfo) BackupSource() string

func (*BackupInfo) SourceVolumeLocation added in v1.5.14

func (bi *BackupInfo) SourceVolumeLocation() string

type ListFilter added in v1.2.0

type ListFilter struct {
	Project      string
	Location     string
	InstanceName string
}

type MultishareInstance added in v1.2.0

type MultishareInstance struct {
	Project            string
	Name               string
	Location           string
	Tier               string
	Network            Network
	CapacityBytes      int64
	MaxCapacityBytes   int64
	CapacityStepSizeGb int64
	Labels             map[string]string
	State              string
	KmsKeyName         string
	Description        string
	MaxShareCount      int
}

func (*MultishareInstance) String added in v1.2.0

func (i *MultishareInstance) String() string

type Network

type Network struct {
	Name            string
	ConnectMode     string
	ReservedIpRange string
	Ip              string
}

type NfsExportOptions added in v1.6.13

type NfsExportOptions struct {
	AccessMode string   `json:"accessMode,omitempty"`
	AnonGid    int64    `json:"anonGid,omitempty,string"`
	AnonUid    int64    `json:"anonUid,omitempty,string"`
	IpRanges   []string `json:"ipRanges,omitempty"`
	SquashMode string   `json:"squashMode,omitempty"`
}

type PollOpts added in v1.2.0

type PollOpts struct {
	Interval time.Duration
	Timeout  time.Duration
}

type Service

type Service interface {
	CreateInstance(ctx context.Context, obj *ServiceInstance) (*ServiceInstance, error)
	DeleteInstance(ctx context.Context, obj *ServiceInstance) error
	GetInstance(ctx context.Context, obj *ServiceInstance) (*ServiceInstance, error)
	ListInstances(ctx context.Context, obj *ServiceInstance) ([]*ServiceInstance, error)
	ResizeInstance(ctx context.Context, obj *ServiceInstance) (*ServiceInstance, error)
	GetBackup(ctx context.Context, backupUri string) (*Backup, error)
	CreateBackup(ctx context.Context, backupInfo *BackupInfo) (*filev1beta1.Backup, error)
	DeleteBackup(ctx context.Context, backupId string) error
	HasOperations(ctx context.Context, obj *ServiceInstance, operationType string, done bool) (bool, error)
	// Multishare ops
	GetMultishareInstance(ctx context.Context, obj *MultishareInstance) (*MultishareInstance, error)
	ListMultishareInstances(ctx context.Context, filter *ListFilter) ([]*MultishareInstance, error)
	StartCreateMultishareInstanceOp(ctx context.Context, obj *MultishareInstance) (*filev1beta1multishare.Operation, error)
	StartDeleteMultishareInstanceOp(ctx context.Context, obj *MultishareInstance) (*filev1beta1multishare.Operation, error)
	StartResizeMultishareInstanceOp(ctx context.Context, obj *MultishareInstance) (*filev1beta1multishare.Operation, error)
	ListShares(ctx context.Context, filter *ListFilter) ([]*Share, error)
	GetShare(ctx context.Context, obj *Share) (*Share, error)
	StartCreateShareOp(ctx context.Context, obj *Share) (*filev1beta1multishare.Operation, error)
	StartDeleteShareOp(ctx context.Context, obj *Share) (*filev1beta1multishare.Operation, error)
	StartResizeShareOp(ctx context.Context, obj *Share) (*filev1beta1multishare.Operation, error)
	WaitForOpWithOpts(ctx context.Context, op string, opts PollOpts) error
	GetOp(ctx context.Context, op string) (*filev1beta1multishare.Operation, error)
	IsOpDone(op *filev1beta1multishare.Operation) (bool, error)
	ListOps(ctx context.Context, resource *ListFilter) ([]*filev1beta1multishare.Operation, error)
}

func NewFakeBlockingService added in v0.5.0

func NewFakeBlockingService(operationUnblocker chan chan struct{}) (Service, error)

func NewFakeBlockingServiceForMultishare added in v1.2.0

func NewFakeBlockingServiceForMultishare(unblocker chan chan Signal) (Service, error)

func NewFakeService

func NewFakeService() (Service, error)

func NewFakeServiceForMultishare added in v1.2.0

func NewFakeServiceForMultishare(instances []*MultishareInstance, shares []*Share, ops []*filev1beta1multishare.Operation) (Service, error)

func NewGCFSService

func NewGCFSService(version string, client *http.Client, primaryFilestoreServiceEndpoint, testFilestoreServiceEndpoint string) (Service, error)

type ServiceInstance added in v0.2.0

type ServiceInstance struct {
	Project          string
	Name             string
	Location         string
	Tier             string
	Network          Network
	Volume           Volume
	Labels           map[string]string
	State            string
	KmsKeyName       string
	BackupSource     string
	NfsExportOptions []*NfsExportOptions
}

type Share added in v1.2.0

type Share struct {
	Name             string              // only the share name
	Parent           *MultishareInstance // parent captures the project, location details.
	State            string
	MountPointName   string
	Labels           map[string]string
	CapacityBytes    int64
	BackupId         string
	NfsExportOptions []*NfsExportOptions
}

type Signal added in v1.2.0

type Signal struct {
	ReportError             bool
	ReportNotFoundError     bool
	ReportRunning           bool
	ReportOpWithErrorStatus bool
}

type Volume

type Volume struct {
	Name      string
	SizeBytes int64
}

Jump to

Keyboard shortcuts

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