scope

package
v3.0.0-...-cbcec11 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2026 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 {
	AddressScope                *mock.MockAddressScopeClient
	ApplicationCredentialClient *mock.MockApplicationCredentialClient
	ComputeClient               *mock.MockComputeClient
	DomainClient                *mock.MockDomainClient
	EndpointClient              *mock.MockEndpointClient
	GroupClient                 *mock.MockGroupClient
	IdentityClient              *mock.MockIdentityClient
	ImageClient                 *mock.MockImageClient
	KeyPairClient               *mock.MockKeyPairClient
	NetworkClient               *mock.MockNetworkClient
	RegionClient                *mock.MockRegionClient
	RegisteredLimitClient       *mock.MockRegisteredLimitClient
	RoleClient                  *mock.MockRoleClient
	RoleAssignmentClient        *mock.MockRoleAssignmentClient
	ServiceClient               *mock.MockServiceClient
	UserClient                  *mock.MockUserClient
	VolumeClient                *mock.MockVolumeClient
	VolumeTypeClient            *mock.MockVolumeTypeClient
	ShareNetworkClient          *mock.MockShareNetworkClient
	SubnetPoolClient            *mock.MockSubnetPoolClient
	LimitClient                 *mock.MockLimitClient
	// 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) NewAddressScopeClient

func (f *MockScopeFactory) NewAddressScopeClient() (osclients.AddressScopeClient, error)

func (*MockScopeFactory) NewApplicationCredentialClient

func (f *MockScopeFactory) NewApplicationCredentialClient() (osclients.ApplicationCredentialClient, error)

func (*MockScopeFactory) NewClientScopeFromObject

func (*MockScopeFactory) NewComputeClient

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

func (*MockScopeFactory) NewDomainClient

func (f *MockScopeFactory) NewDomainClient() (osclients.DomainClient, error)

func (*MockScopeFactory) NewEndpointClient

func (f *MockScopeFactory) NewEndpointClient() (osclients.EndpointClient, error)

func (*MockScopeFactory) NewGroupClient

func (f *MockScopeFactory) NewGroupClient() (osclients.GroupClient, error)

func (*MockScopeFactory) NewIdentityClient

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

func (*MockScopeFactory) NewImageClient

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

func (*MockScopeFactory) NewKeyPairClient

func (f *MockScopeFactory) NewKeyPairClient() (osclients.KeyPairClient, error)

func (*MockScopeFactory) NewLimitClient

func (f *MockScopeFactory) NewLimitClient() (osclients.LimitClient, error)

func (*MockScopeFactory) NewNetworkClient

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

func (*MockScopeFactory) NewRegionClient

func (f *MockScopeFactory) NewRegionClient() (osclients.RegionClient, error)

func (*MockScopeFactory) NewRegisteredLimitClient

func (f *MockScopeFactory) NewRegisteredLimitClient() (osclients.RegisteredLimitClient, error)

func (*MockScopeFactory) NewRoleAssignmentClient

func (f *MockScopeFactory) NewRoleAssignmentClient() (osclients.RoleAssignmentClient, error)

func (*MockScopeFactory) NewRoleClient

func (f *MockScopeFactory) NewRoleClient() (osclients.RoleClient, error)

func (*MockScopeFactory) NewServiceClient

func (f *MockScopeFactory) NewServiceClient() (osclients.ServiceClient, error)

func (*MockScopeFactory) NewShareNetworkClient

func (f *MockScopeFactory) NewShareNetworkClient() (osclients.ShareNetworkClient, error)

func (*MockScopeFactory) NewSubnetPoolClient

func (f *MockScopeFactory) NewSubnetPoolClient() (osclients.SubnetPoolClient, error)

func (*MockScopeFactory) NewUserClient

func (f *MockScopeFactory) NewUserClient() (osclients.UserClient, error)

func (*MockScopeFactory) NewVolumeClient

func (f *MockScopeFactory) NewVolumeClient() (osclients.VolumeClient, error)

func (*MockScopeFactory) NewVolumeTypeClient

func (f *MockScopeFactory) NewVolumeTypeClient() (osclients.VolumeTypeClient, error)

func (*MockScopeFactory) SetClientScopeCreateError

func (f *MockScopeFactory) SetClientScopeCreateError(err error)

type RoundTripper

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

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 {
	NewAddressScopeClient() (osclients.AddressScopeClient, error)
	NewApplicationCredentialClient() (osclients.ApplicationCredentialClient, error)
	NewComputeClient() (osclients.ComputeClient, error)
	NewDomainClient() (osclients.DomainClient, error)
	NewEndpointClient() (osclients.EndpointClient, error)
	NewGroupClient() (osclients.GroupClient, error)
	NewIdentityClient() (osclients.IdentityClient, error)
	NewImageClient() (osclients.ImageClient, error)
	NewKeyPairClient() (osclients.KeyPairClient, error)
	NewNetworkClient() (osclients.NetworkClient, error)
	NewRegionClient() (osclients.RegionClient, error)
	NewRegisteredLimitClient() (osclients.RegisteredLimitClient, error)
	NewRoleClient() (osclients.RoleClient, error)
	NewRoleAssignmentClient() (osclients.RoleAssignmentClient, error)
	NewServiceClient() (osclients.ServiceClient, error)
	NewShareNetworkClient() (osclients.ShareNetworkClient, error)
	NewSubnetPoolClient() (osclients.SubnetPoolClient, error)
	NewUserClient() (osclients.UserClient, error)
	NewVolumeClient() (osclients.VolumeClient, error)
	NewVolumeTypeClient() (osclients.VolumeTypeClient, error)
	ExtractToken() (*tokens.Token, error)
	NewLimitClient() (osclients.LimitClient, 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