provider

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Package provider ...

Index

Constants

View Source
const (
	StatusStable   = "stable"
	StatusDeleting = "deleting"
	StatusDeleted  = "deleted"
)

VpcVolumeAccessPoint ...

View Source
const (
	// VPCNextGen ...
	VPCNextGen = "g2"
	// PrivatePrefix ...
	PrivatePrefix = "private-"
	// BasePrivateURL ...
	BasePrivateURL = "https://" + PrivatePrefix
	// HTTPSLength ...
	HTTPSLength = 8
	// NEXTGenProvider ...
	NEXTGenProvider = 2
)
View Source
const (

	// VPC storage provider
	VPC = provider.VolumeProvider("VPC-SHARE")
	// VolumeType ...
	VolumeType = provider.VolumeType("vpc-share")
)
View Source
const (
	ConstantRetryGap = 10 // seconds
	SecurityGroup    = "security_group"
)

ConstantRetryGap ...

View Source
const (
	GiB = 1024 * 1024 * 1024
)

GiB ...

Variables

This section is empty.

Functions

func FromProviderToLibVolume

func FromProviderToLibVolume(vpcVolume *models.Share, logger *zap.Logger) (libVolume *provider.Volume)

FromProviderToLibVolume converting vpc provider share type to generic lib volume type

func FromProviderToLibVolumeAccessPoint

func FromProviderToLibVolumeAccessPoint(vpcShareTarget *models.ShareTarget, logger *zap.Logger) (libVolumeAccessPoint *provider.VolumeAccessPoint)

FromProviderToLibVolumeAccessPoint converting vpc provider share target type to generic lib volume accessPoint Type

func GetEtcPath

func GetEtcPath() string

GetEtcPath returns the path to the etc directory

func IsValidVolumeIDFormat

func IsValidVolumeIDFormat(volID string) bool

IsValidVolumeIDFormat validating(gc has 5 parts and NG has 6 parts)

func NewProvider

func NewProvider(conf *vpcconfig.VPCFileConfig, k8sClient *k8s_utils.KubernetesClient, logger *zap.Logger) (local.Provider, error)

NewProvider initialises an instance of an IaaS provider.

func SetRetryParameters

func SetRetryParameters(maxAttempts int, maxGap int)

SetRetryParameters sets the retry logic parameters

func ToInt

func ToInt(valueInInt string) int

ToInt ...

func ToInt64

func ToInt64(valueInInt string) int64

ToInt64 ...

func WaitForValidVolumeState

func WaitForValidVolumeState(vpcs *VPCSession, volumeID string) (err error)

WaitForValidVolumeState checks the file share for valid status

func WaitForVolumeDeletion

func WaitForVolumeDeletion(vpcs *VPCSession, volumeID string) (err error)

WaitForVolumeDeletion checks the volume for valid status

Types

type FlexyRetry

type FlexyRetry struct {
	// contains filtered or unexported fields
}

FlexyRetry ...

func NewFlexyRetry

func NewFlexyRetry(maxRtyAtmpt int, maxrRtyGap int) FlexyRetry

NewFlexyRetry ...

func NewFlexyRetryDefault

func NewFlexyRetryDefault() FlexyRetry

NewFlexyRetryDefault ...

func (*FlexyRetry) FlexyRetry

func (fRetry *FlexyRetry) FlexyRetry(logger *zap.Logger, funcToRetry func() (error, bool)) error

FlexyRetry ...

func (*FlexyRetry) FlexyRetryWithConstGap

func (fRetry *FlexyRetry) FlexyRetryWithConstGap(logger *zap.Logger, funcToRetry func() (error, bool)) error

FlexyRetryWithConstGap ...

type VPCFileProvider

type VPCFileProvider struct {
	Config *vpcconfig.VPCFileConfig

	ContextCF local.ContextCredentialsFactory

	ClientProvider riaas.RegionalAPIClientProvider

	APIConfig riaas.Config
	// contains filtered or unexported fields
}

VPCFileProvider implements provider.Provider

func (*VPCFileProvider) ContextCredentialsFactory

func (vpcp *VPCFileProvider) ContextCredentialsFactory(zone *string) (local.ContextCredentialsFactory, error)

ContextCredentialsFactory ...

func (*VPCFileProvider) OpenSession

func (vpcp *VPCFileProvider) OpenSession(ctx context.Context, contextCredentials provider.ContextCredentials, ctxLogger *zap.Logger) (provider.Session, error)

OpenSession opens a session on the provider

type VPCSession

type VPCSession struct {
	provider.DefaultVolumeProvider
	VPCAccountID       string
	Config             *vpcconfig.VPCFileConfig
	ContextCredentials provider.ContextCredentials
	VolumeType         provider.VolumeType
	Provider           provider.VolumeProvider
	Apiclient          riaas.RegionalAPI
	APIVersion         string
	Logger             *zap.Logger
	APIRetry           FlexyRetry
}

VPCSession implements lib.Session

func (*VPCSession) Close

func (*VPCSession) Close()

Close at present does nothing

func (*VPCSession) CreateVolume

func (vpcs *VPCSession) CreateVolume(volumeRequest provider.Volume) (volumeResponse *provider.Volume, err error)

CreateVolume creates file share

func (*VPCSession) CreateVolumeAccessPoint

func (vpcs *VPCSession) CreateVolumeAccessPoint(volumeAccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)

VolumeAccessPoint create volume target based on given volume accessPoint request

func (*VPCSession) DeleteVolume

func (vpcs *VPCSession) DeleteVolume(volume *provider.Volume) (err error)

DeleteVolume deletes the file share

func (*VPCSession) DeleteVolumeAccessPoint

func (vpcs *VPCSession) DeleteVolumeAccessPoint(deleteAccessPointRequest provider.VolumeAccessPointRequest) (*http.Response, error)

DeleteVolumeAccessPoint deletes file share target for given volume VolumeAccessPoint request

func (*VPCSession) ExpandVolume

func (vpcs *VPCSession) ExpandVolume(expandVolumeRequest provider.ExpandVolumeRequest) (size int64, err error)

func (*VPCSession) GetProviderDisplayName

func (vpcs *VPCSession) GetProviderDisplayName() provider.VolumeProvider

GetProviderDisplayName returns the name of the VPC provider

func (*VPCSession) GetSecurityGroupForVolumeAccessPoint

func (vpcs *VPCSession) GetSecurityGroupForVolumeAccessPoint(securityGroupRequest provider.SecurityGroupRequest) (string, error)

GetSecurityGroupForVolumeAccessPoint get the SecurityGroup based on the request

func (*VPCSession) GetSubnetForVolumeAccessPoint

func (vpcs *VPCSession) GetSubnetForVolumeAccessPoint(subnetRequest provider.SubnetRequest) (string, error)

/ GetSubnet get the subnet based on the request

func (*VPCSession) GetVolume

func (vpcs *VPCSession) GetVolume(id string) (respVolume *provider.Volume, err error)

GetVolume gets the file share by using ID

func (*VPCSession) GetVolumeAccessPoint

func (vpcs *VPCSession) GetVolumeAccessPoint(volumeAccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)

GetVolumeAccessPoint get the file share target based on the request

func (*VPCSession) GetVolumeByName

func (vpcs *VPCSession) GetVolumeByName(name string) (respVolume *provider.Volume, err error)

GetVolumeByName ...

func (*VPCSession) ListVolumes

func (vpcs *VPCSession) ListVolumes(limit int, start string, tags map[string]string) (*provider.VolumeList, error)

ListVolumes list all file shares

func (*VPCSession) ProviderName

func (vpcs *VPCSession) ProviderName() provider.VolumeProvider

ProviderName ...

func (*VPCSession) Type

func (vpcs *VPCSession) Type() provider.VolumeType

Type ...

func (*VPCSession) UpdateVolume

func (vpc *VPCSession) UpdateVolume(volumeTemplate provider.Volume) error

UpdateVolume POSTs to /volumes

func (*VPCSession) WaitForCreateVolumeAccessPoint

func (vpcs *VPCSession) WaitForCreateVolumeAccessPoint(AccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)

WaitForCreateVolumeAccessPoint checks if file share target is created and is stable state

func (*VPCSession) WaitForDeleteVolumeAccessPoint

func (vpcs *VPCSession) WaitForDeleteVolumeAccessPoint(deleteAccessPointRequest provider.VolumeAccessPointRequest) error

WaitForDeleteVolumeAccessPoint waits for file share target to be deleted. e.g waits till no file share target is found

Jump to

Keyboard shortcuts

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