scope

package
v2.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2025 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProviderClient

func NewProviderClient(cloud clientconfig.Cloud, caCert []byte, logger logr.Logger) (*gophercloud.ProviderClient, *clientconfig.ClientOpts, error)

Types

type CredentialsProvider

type CredentialsProvider interface {
	// Return the name of a secret holding cloud credentials
	GetSecretName() *string

	// Return the name of the cloud to use, which is defined in the associated credentials
	GetCloudName() *string
}

type Factory

type Factory interface {
	// NewClientScopeFromObject creates a new scope from the first object which returns an OpenStackIdentityRef
	NewClientScopeFromObject(ctx context.Context, ctrlClient client.Client, logger logr.Logger, objects ...orcv1alpha1.CloudCredentialsRefProvider) (Scope, error)
}

Factory instantiates a new Scope using credentials from an IdentityRefProvider.

func NewFactory

func NewFactory(maxCacheSize int, defaultCACert []byte) Factory

NewFactory creates the default scope factory. It generates service clients which make OpenStack API calls against a running cloud.

type MockScopeFactory

type MockScopeFactory struct {
	ComputeClient  *mock.MockComputeClient
	NetworkClient  *mock.MockNetworkClient
	ImageClient    *mock.MockImageClient
	IdentityClient *mock.MockIdentityClient
	// contains filtered or unexported fields
}

MockScopeFactory implements both the ScopeFactory and ClientScope interfaces. It can be used in place of the default ProviderScopeFactory when we want to use mocked service clients which do not attempt to connect to a running OpenStack cloud.

func NewMockScopeFactory

func NewMockScopeFactory(mockCtrl *gomock.Controller) *MockScopeFactory

func (*MockScopeFactory) ExtractToken

func (f *MockScopeFactory) ExtractToken() (*tokens.Token, error)

func (*MockScopeFactory) NewClientScopeFromObject

func (*MockScopeFactory) NewComputeClient

func (f *MockScopeFactory) NewComputeClient() (osclients.ComputeClient, error)

func (*MockScopeFactory) NewIdentityClient added in v2.1.0

func (f *MockScopeFactory) NewIdentityClient() (osclients.IdentityClient, error)

func (*MockScopeFactory) NewImageClient

func (f *MockScopeFactory) NewImageClient() (osclients.ImageClient, error)

func (*MockScopeFactory) NewNetworkClient

func (f *MockScopeFactory) NewNetworkClient() (osclients.NetworkClient, error)

func (*MockScopeFactory) SetClientScopeCreateError

func (f *MockScopeFactory) SetClientScopeCreateError(err error)

type RoundTripper added in v2.1.0

type RoundTripper struct {
	// Default http.RoundTripper
	http.RoundTripper
}

RoundTripper satisfies the http.RoundTripper interface and is used to customize the default http client RoundTripper

func (*RoundTripper) RoundTrip added in v2.1.0

func (rt *RoundTripper) RoundTrip(request *http.Request) (*http.Response, error)

RoundTrip performs a round-trip HTTP request, injecting the OpenStack Request ID header when appropriate

type Scope

type Scope interface {
	NewComputeClient() (osclients.ComputeClient, error)
	NewImageClient() (osclients.ImageClient, error)
	NewNetworkClient() (osclients.NetworkClient, error)
	NewIdentityClient() (osclients.IdentityClient, error)
	ExtractToken() (*tokens.Token, error)
}

Scope contains arguments common to most operations.

func NewCachedProviderScope

func NewCachedProviderScope(cache *cache.LRUExpireCache, cloud clientconfig.Cloud, caCert []byte, logger logr.Logger) (Scope, error)

func NewProviderScope

func NewProviderScope(cloud clientconfig.Cloud, caCert []byte, logger logr.Logger) (Scope, error)

type WithLogger

type WithLogger struct {
	Scope
	// contains filtered or unexported fields
}

WithLogger extends Scope with a logger.

func NewWithLogger

func NewWithLogger(scope Scope, logger logr.Logger) *WithLogger

func (*WithLogger) Logger

func (s *WithLogger) Logger() logr.Logger

Jump to

Keyboard shortcuts

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