volumes

package
v0.0.0-...-f6e1a93 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EBSVolumeResizer

type EBSVolumeResizer struct {
	AWSRegion string
	// contains filtered or unexported fields
}

EBSVolumeResizer implements volume resizing interface for AWS EBS volumes.

func (*EBSVolumeResizer) ConnectToProvider

func (r *EBSVolumeResizer) ConnectToProvider() error

ConnectToProvider connects to AWS.

func (*EBSVolumeResizer) DescribeVolumes

func (r *EBSVolumeResizer) DescribeVolumes(volumeIds []string) ([]VolumeProperties, error)

DescribeVolumes ...

func (*EBSVolumeResizer) DisconnectFromProvider

func (r *EBSVolumeResizer) DisconnectFromProvider() error

DisconnectFromProvider closes connection to the EC2 instance

func (*EBSVolumeResizer) ExtractVolumeID

func (r *EBSVolumeResizer) ExtractVolumeID(volumeID string) (string, error)

ExtractVolumeID extracts volumeID

func (*EBSVolumeResizer) GetProviderVolumeID

func (r *EBSVolumeResizer) GetProviderVolumeID(pv *v1.PersistentVolume) (string, error)

GetProviderVolumeID converts aws://eu-central-1b/vol-00f93d4827217c629 to vol-00f93d4827217c629 for EBS volumes

func (*EBSVolumeResizer) IsConnectedToProvider

func (r *EBSVolumeResizer) IsConnectedToProvider() bool

IsConnectedToProvider checks if AWS connection is established.

func (*EBSVolumeResizer) ModifyVolume

func (r *EBSVolumeResizer) ModifyVolume(volumeID string, newType *string, newSize *int64, iops *int64, throughput *int64) error

ModifyVolume Modify EBS volume

func (*EBSVolumeResizer) ResizeVolume

func (r *EBSVolumeResizer) ResizeVolume(volumeID string, newSize int64) error

ResizeVolume actually calls AWS API to resize the EBS volume if necessary.

func (*EBSVolumeResizer) VolumeBelongsToProvider

func (r *EBSVolumeResizer) VolumeBelongsToProvider(pv *v1.PersistentVolume) bool

VolumeBelongsToProvider checks if the given persistent volume is backed by EBS.

type VolumeProperties

type VolumeProperties struct {
	VolumeID   string
	VolumeType string
	Size       int64
	Iops       int64
	Throughput int64
}

VolumeProperties ...

type VolumeResizer

type VolumeResizer interface {
	ConnectToProvider() error
	IsConnectedToProvider() bool
	VolumeBelongsToProvider(pv *v1.PersistentVolume) bool
	GetProviderVolumeID(pv *v1.PersistentVolume) (string, error)
	ExtractVolumeID(volumeID string) (string, error)
	ResizeVolume(providerVolumeID string, newSize int64) error
	ModifyVolume(providerVolumeID string, newType *string, newSize *int64, iops *int64, throughput *int64) error
	DisconnectFromProvider() error
	DescribeVolumes(providerVolumesID []string) ([]VolumeProperties, error)
}

VolumeResizer defines the set of methods used to implememnt provider-specific resizing of persistent volumes.

Jump to

Keyboard shortcuts

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