adapters

package
v0.0.0-...-e080771 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CredentialService

type CredentialService interface {
	ListOpenStackCredentials(session types.Session) ([]service.CredentialModel, error)
}

CredentialService provides access to credential service

func NewCredentialService

func NewCredentialService(queryConn messaging2.QueryConnection) CredentialService

NewCredentialService ...

type CredentialSvc

type CredentialSvc struct {
	// contains filtered or unexported fields
}

CredentialSvc is a client for accessing credential service, it implements CredentialService

func (CredentialSvc) ListOpenStackCredentials

func (svc CredentialSvc) ListOpenStackCredentials(session types.Session) ([]service.CredentialModel, error)

ListOpenStackCredentials returns all credential user has of type "openstack"

type JS2AccountingAPI

type JS2AccountingAPI struct {
	// contains filtered or unexported fields
}

JS2AccountingAPI uses the accounting API for Jetstream 2 to provide allocation information for user. It implements JS2APIPort.

func NewJS2AccountingAPI

func NewJS2AccountingAPI(queryConn messaging2.QueryConnection, filterOutInvalidCredential bool) *JS2AccountingAPI

NewJS2AccountingAPI ...

func (JS2AccountingAPI) Finalize

func (api JS2AccountingAPI) Finalize()

Finalize ...

func (JS2AccountingAPI) Init

func (api JS2AccountingAPI) Init(config *types.Config)

Init ...

func (JS2AccountingAPI) ListProjects

func (api JS2AccountingAPI) ListProjects(user string) ([]types.JS2Project, error)

ListProjects ...

type MockCredentialSvcClient

type MockCredentialSvcClient interface {
	service.CredentialClient
}

MockCredentialSvcClient is used to generate mocks for service.CredentialClient, this interface is needed to generate the mocks locally in this repo

type MockProviderMetadataSvcClient

type MockProviderMetadataSvcClient interface {
	service.ProviderClient
}

MockProviderMetadataSvcClient is used to generate mocks for service.ProviderClient, this interface is needed to generate the mocks locally in this repo

type MockProviderOpenStackSvcClient

type MockProviderOpenStackSvcClient interface {
	providers.OpenStackProvider
}

MockProviderOpenStackSvcClient is used to generate mocks for providers.OpenStackProvider, this interface is needed to generate the mocks locally in this repo

type MockTimeSrc

type MockTimeSrc struct {
	MockTime time.Time
}

MockTimeSrc is a mocked time source

func (MockTimeSrc) Now

func (t MockTimeSrc) Now() time.Time

Now return mocked value

type MongoAdapter

type MongoAdapter struct {
	Config *types.Config
	Store  cacao_common_db.ObjectStore
	Mutex  sync.Mutex
}

MongoAdapter implements PersistentStoragePort

func (*MongoAdapter) DeleteAllProjects

func (adapter *MongoAdapter) DeleteAllProjects(user string) error

DeleteAllProjects deletes all JS2 Projects

func (*MongoAdapter) DeleteAndInsertAllProjects

func (adapter *MongoAdapter) DeleteAndInsertAllProjects(user string, js2Projects []types.JS2Project) error

DeleteAndInsertAllProjects deletes and inserts all JS2Projects

func (*MongoAdapter) Finalize

func (adapter *MongoAdapter) Finalize()

Finalize finalizes mongodb adapter

func (*MongoAdapter) GetMock

func (adapter *MongoAdapter) GetMock() *mock.Mock

GetMock returns Mock

func (*MongoAdapter) Init

func (adapter *MongoAdapter) Init(config *types.Config)

Init initialize mongodb adapter

func (*MongoAdapter) InitMock

func (adapter *MongoAdapter) InitMock(config *types.Config)

InitMock initialize mongodb adapter with mock_objectstore

func (*MongoAdapter) InsertAllProjects

func (adapter *MongoAdapter) InsertAllProjects(user string, js2Projects []types.JS2Project) error

InsertAllProjects inserts all JS2Projects

func (*MongoAdapter) ListProjects

func (adapter *MongoAdapter) ListProjects(user string) ([]types.JS2Project, error)

ListProjects returns JS2 Projects owned by a user

func (*MongoAdapter) MockDeleteAllProjects

func (adapter *MongoAdapter) MockDeleteAllProjects(user string, expectedError error) error

MockDeleteAllProjects sets expected results for DeleteAllProjects

func (*MongoAdapter) MockDeleteAndInsertAllProjects

func (adapter *MongoAdapter) MockDeleteAndInsertAllProjects(user string, expectedError error) error

MockDeleteAndInsertAllProjects sets expected results for DeleteAndInsertAllProjects

func (*MongoAdapter) MockInsertAllProjects

func (adapter *MongoAdapter) MockInsertAllProjects(user string, expectedError error) error

MockInsertAllProjects sets expected results for InsertAllProjects

func (*MongoAdapter) MockListProjects

func (adapter *MongoAdapter) MockListProjects(user string, expectedJS2Projects []types.JS2Project, expectedError error) error

MockListProjects sets expected results for ListProjects

type ProviderMetadataService

type ProviderMetadataService interface {
	FindJS2Provider(session types.Session) ([]service.ProviderModel, error)
}

ProviderMetadataService provides access to provider metadata service

func NewProviderMetadataService

func NewProviderMetadataService(queryConn messaging2.QueryConnection) ProviderMetadataService

NewProviderMetadataService ...

type ProviderMetadataSvc

type ProviderMetadataSvc struct {
	// contains filtered or unexported fields
}

ProviderMetadataSvc is a client to access provider metadata service, it implements ProviderMetadataService

func (ProviderMetadataSvc) FindJS2Provider

func (svc ProviderMetadataSvc) FindJS2Provider(session types.Session) ([]service.ProviderModel, error)

FindJS2Provider finds the Jetstream 2 provider, there should just be at most one provider for Jetstream 2, but return an array just in case.

type ProviderOpenStackService

type ProviderOpenStackService interface {
	FindAccountCatalogEntry(session types.Session, providerID common.ID, credID string) (providers.CatalogEntry, error)
	ObtainToken(session types.Session, providerID common.ID, credID string) (providers.Token, error)
}

ProviderOpenStackService provides access to provider openstack service

func NewProviderOpenStackService

func NewProviderOpenStackService(queryConn messaging2.QueryConnection) ProviderOpenStackService

NewProviderOpenStackService ...

type ProviderOpenStackSvc

type ProviderOpenStackSvc struct {
	// contains filtered or unexported fields
}

ProviderOpenStackSvc is a client to access provider openstack service. It implements ProviderOpenStackService

func (ProviderOpenStackSvc) FindAccountCatalogEntry

func (svc ProviderOpenStackSvc) FindAccountCatalogEntry(session types.Session, providerID common.ID, credID string) (providers.CatalogEntry, error)

FindAccountCatalogEntry find the catalog entry for service of type "accounting", first one is returned if there are multiple.

func (ProviderOpenStackSvc) ObtainToken

func (svc ProviderOpenStackSvc) ObtainToken(session types.Session, providerID common.ID, credID string) (providers.Token, error)

ObtainToken issues an OpenStack token using a credential

type QueryAdapter

type QueryAdapter struct {
	// contains filtered or unexported fields
}

QueryAdapter communicates to IncomingQueryHandlers

func NewQueryAdapter

func NewQueryAdapter(conn messaging2.QueryConnection) *QueryAdapter

NewQueryAdapter ...

func (*QueryAdapter) Start

func (adapter *QueryAdapter) Start(ctx context.Context, handlers ports.IncomingQueryHandlers, wg *sync.WaitGroup) error

Start starts the adapter

type TimeSource

type TimeSource interface {
	Now() time.Time
}

TimeSource is a source of current time. This abstract away fetching the current time, makes it easier to write tests

type UTCTime

type UTCTime struct{}

UTCTime implements TimeSource

func (UTCTime) Now

func (utc UTCTime) Now() time.Time

Now returns the current UTC time

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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