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
- func FromProviderToLibVolume(vpcVolume *models.Share, logger *zap.Logger) (libVolume *provider.Volume)
- func FromProviderToLibVolumeAccessPoint(vpcShareTarget *models.ShareTarget, logger *zap.Logger) (libVolumeAccessPoint *provider.VolumeAccessPoint)
- func GetEtcPath() string
- func IsValidVolumeIDFormat(volID string) bool
- func NewProvider(conf *vpcconfig.VPCFileConfig, k8sClient *k8s_utils.KubernetesClient, ...) (local.Provider, error)
- func SetRetryParameters(maxAttempts int, maxGap int)
- func SkipRetryForIKS(err error) bool
- func ToInt(valueInInt string) int
- func ToInt64(valueInInt string) int64
- func WaitForValidVolumeState(vpcs *VPCSession, volumeID string) (err error)
- func WaitForVolumeDeletion(vpcs *VPCSession, volumeID string) (err error)
- type FlexyRetry
- type VPCFileProvider
- type VPCSession
- func (*VPCSession) Close()
- func (vpcs *VPCSession) CreateVolume(volumeRequest provider.Volume) (volumeResponse *provider.Volume, err error)
- func (vpcs *VPCSession) CreateVolumeAccessPoint(volumeAccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)
- func (vpcs *VPCSession) DeleteVolume(volume *provider.Volume) (err error)
- func (vpcs *VPCSession) DeleteVolumeAccessPoint(deleteAccessPointRequest provider.VolumeAccessPointRequest) (*http.Response, error)
- func (vpcs *VPCSession) ExpandVolume(expandVolumeRequest provider.ExpandVolumeRequest) (size int64, err error)
- func (vpcs *VPCSession) GetProviderDisplayName() provider.VolumeProvider
- func (vpcs *VPCSession) GetSecurityGroupForVolumeAccessPoint(securityGroupRequest provider.SecurityGroupRequest) (string, error)
- func (vpcs *VPCSession) GetSubnetForVolumeAccessPoint(subnetRequest provider.SubnetRequest) (string, error)
- func (vpcs *VPCSession) GetVolume(id string) (respVolume *provider.Volume, err error)
- func (vpcs *VPCSession) GetVolumeAccessPoint(volumeAccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)
- func (vpcs *VPCSession) GetVolumeByName(name string) (respVolume *provider.Volume, err error)
- func (vpcs *VPCSession) ListVolumes(limit int, start string, tags map[string]string) (*provider.VolumeList, error)
- func (vpcs *VPCSession) ProviderName() provider.VolumeProvider
- func (vpcs *VPCSession) Type() provider.VolumeType
- func (vpcs *VPCSession) UpdateVolume(volumeTemplate provider.Volume) error
- func (vpcs *VPCSession) WaitForCreateVolumeAccessPoint(AccessPointRequest provider.VolumeAccessPointRequest) (*provider.VolumeAccessPointResponse, error)
- func (vpcs *VPCSession) WaitForDeleteVolumeAccessPoint(deleteAccessPointRequest provider.VolumeAccessPointRequest) error
Constants ¶
const ( StatusStable = "stable" StatusDeleting = "deleting" StatusDeleted = "deleted" )
VpcVolumeAccessPoint ...
const ( // VPCNextGen ... VPCNextGen = "g2" // PrivatePrefix ... PrivatePrefix = "private-" // BasePrivateURL ... BasePrivateURL = "https://" + PrivatePrefix // HTTPSLength ... HTTPSLength = 8 // NEXTGenProvider ... NEXTGenProvider = 2 )
const ( // VPC storage provider VPC = provider.VolumeProvider("VPC-SHARE") // VolumeType ... VolumeType = provider.VolumeType("vpc-share") )
const ( ConstantRetryGap = 10 // seconds SecurityGroup = "security_group" EncryptionTrasitMode = "user_managed" )
ConstantRetryGap ...
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 IsValidVolumeIDFormat ¶
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 ¶
SetRetryParameters sets the retry logic parameters
func SkipRetryForIKS ¶ added in v1.2.2
SkipRetryForIKS skip retry as per listed error codes
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 (*FlexyRetry) FlexyRetry ¶
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 SessionError error }
VPCSession implements lib.Session
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) UpdateVolume ¶
func (vpcs *VPCSession) UpdateVolume(volumeTemplate provider.Volume) error
UpdateVolume PATCH 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
Source Files
¶
- create_volume.go
- create_volume_access_point.go
- delete_volume.go
- delete_volume_access_point.go
- expand_volume.go
- get_security_group.go
- get_subnet.go
- get_volume.access_point.go
- get_volume.go
- list_volumes.go
- provider.go
- session.go
- token_generator.go
- update_volume.go
- util.go
- wait_for_create_volume_access_point.go
- wait_for_delete_volume_access_point.go
- wait_for_valid_volume_state.go