plugin

package
v1.60.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EbsCsiPlugin

type EbsCsiPlugin interface {
	// Init is called extremely early to get CLI flags, before Init
	// Do not use for any non-CLI initialization - do that in Init()
	InitFlags(fs *pflag.FlagSet)
	// Init is called on startup, use to perform initialization
	// Returning an error will cause the driver process to exit
	//
	// NOTE: registry can be nil if the user did not enable metrics,
	// plugins must handle this case gracefully
	Init(region string, registry *prometheus.Registry) error

	// GetEC2Client replaces the AWS EC2 client the driver uses
	GetEC2Client(cfg aws.Config, optFns ...func(*ec2.Options)) util.EC2API
	// GetSageMakerClient replaces the AWS SageMaker client the driver uses
	GetSageMakerClient(cfg aws.Config, optFns ...func(*sagemaker.Options)) util.SageMakerAPI

	// GetDriverName replaces the driver name in use (normally "ebs.csi.aws.com")
	// This function can be called before Init and should not depend on it
	GetDriverName() string

	// GetDiskTopologySegments provides a set of additional topology segments that should be applied to volumes created by
	// the driver. These segments are merged with the existing topology segments applied by the base driver. Segments
	// provided by the plugin take precedent.
	GetDiskTopologySegments() map[string]string
	// GetNodeTopologySegments provides a set of additional topology segments that should be resolved for nodes running
	// the driver. These segments are merged with the existing topology segments resolved by the base driver. Segments
	// provided by the plugin take precedent.
	GetNodeTopologySegments() map[string]string
}

EbsCsiPlugin is the common plugin interface all plugins implement.

func GetPlugin

func GetPlugin() EbsCsiPlugin

GetPlugin returns the currently loaded plugin. It will return nil if no plugin is loaded.

Jump to

Keyboard shortcuts

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