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 ...
Package provider ...
Package provider ...
Package provider ...
Package provider ...
Package provider ...
Index ¶
- Constants
- func FromLibToProviderProfile(vpcProfile *models.ProfileDetails, logger *zap.Logger) (libProfile *provider.Profile)
- func FromProviderToLibSnapshot(sourceVolumeID string, vpcSnapshot *models.Snapshot, logger *zap.Logger) (libSnapshot *provider.Snapshot)
- 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 GiBToBytes(volumeSizeGiB int64) int64
- 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 WaitForSnapshotDeletion(vpcs *VPCSession, volumeID string, snapshotID string) (err error)
- 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) CreateSnapshot(sourceVolumeID string, snapshotParameters provider.SnapshotParameters) (*provider.Snapshot, error)
- 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) DeleteSnapshot(snapshot *provider.Snapshot) 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) GetSnapshot(snapshotID string, sourceVolumeID ...string) (*provider.Snapshot, error)
- func (vpcs *VPCSession) GetSnapshotByName(name string, sourceVolumeID ...string) (respSnap *provider.Snapshot, err 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) GetVolumeProfileByName(name string) (*provider.Profile, error)
- func (vpcs *VPCSession) ListSnapshots(limit int, start string, filters map[string]string) (*provider.SnapshotList, 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" SnapshotNotFound = "shares_snapshot_not_found" )
ConstantRetryGap ...
const (
GiB = 1024 * 1024 * 1024
)
GiB ...
Variables ¶
This section is empty.
Functions ¶
func FromLibToProviderProfile ¶ added in v1.2.11
func FromLibToProviderProfile(vpcProfile *models.ProfileDetails, logger *zap.Logger) (libProfile *provider.Profile)
FromLibToProviderProfile converting vpc provider volume profile type from generic lib share profile type
func FromProviderToLibSnapshot ¶ added in v1.2.16
func FromProviderToLibSnapshot(sourceVolumeID string, vpcSnapshot *models.Snapshot, logger *zap.Logger) (libSnapshot *provider.Snapshot)
FromProviderToLibSnapshot converting vpc provider snapshot type to generic lib snapshot type
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 GiBToBytes ¶ added in v1.2.16
GiBToBytes converts GiB to Bytes
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 WaitForSnapshotDeletion ¶ added in v1.2.16
func WaitForSnapshotDeletion(vpcs *VPCSession, volumeID string, snapshotID string) (err error)
WaitForSnapshotDeletion checks the snapshot for valid status
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) CreateSnapshot ¶ added in v1.2.16
func (vpcs *VPCSession) CreateSnapshot(sourceVolumeID string, snapshotParameters provider.SnapshotParameters) (*provider.Snapshot, error)
CreateSnapshot creates snapshot
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) DeleteSnapshot ¶ added in v1.2.16
func (vpcs *VPCSession) DeleteSnapshot(snapshot *provider.Snapshot) error
DeleteSnapshot delete snapshot
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) GetSnapshot ¶ added in v1.2.16
func (vpcs *VPCSession) GetSnapshot(snapshotID string, sourceVolumeID ...string) (*provider.Snapshot, error)
GetSnapshot get snapshot
func (*VPCSession) GetSnapshotByName ¶ added in v1.2.16
func (vpcs *VPCSession) GetSnapshotByName(name string, sourceVolumeID ...string) (respSnap *provider.Snapshot, err error)
GetSnapshotByName ...
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) GetVolumeProfileByName ¶ added in v1.2.11
func (vpcs *VPCSession) GetVolumeProfileByName(name string) (*provider.Profile, error)
GetVolumeProfileByName ...
func (*VPCSession) ListSnapshots ¶ added in v1.2.16
func (vpcs *VPCSession) ListSnapshots(limit int, start string, filters map[string]string) (*provider.SnapshotList, error)
ListSnapshots list all snapshots
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_snapshot.go
- create_volume.go
- create_volume_access_point.go
- delete_snapshot.go
- delete_volume.go
- delete_volume_access_point.go
- expand_volume.go
- get_security_group.go
- get_snapshot.go
- get_subnet.go
- get_volume.access_point.go
- get_volume.go
- get_volume_profile.go
- list_snapshots.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