Documentation
¶
Index ¶
- type CredentialService
- type CredentialSvc
- type JS2AccountingAPI
- type MockCredentialSvcClient
- type MockProviderMetadataSvcClient
- type MockProviderOpenStackSvcClient
- type MockTimeSrc
- type MongoAdapter
- func (adapter *MongoAdapter) DeleteAllProjects(user string) error
- func (adapter *MongoAdapter) DeleteAndInsertAllProjects(user string, js2Projects []types.JS2Project) error
- func (adapter *MongoAdapter) Finalize()
- func (adapter *MongoAdapter) GetMock() *mock.Mock
- func (adapter *MongoAdapter) Init(config *types.Config)
- func (adapter *MongoAdapter) InitMock(config *types.Config)
- func (adapter *MongoAdapter) InsertAllProjects(user string, js2Projects []types.JS2Project) error
- func (adapter *MongoAdapter) ListProjects(user string) ([]types.JS2Project, error)
- func (adapter *MongoAdapter) MockDeleteAllProjects(user string, expectedError error) error
- func (adapter *MongoAdapter) MockDeleteAndInsertAllProjects(user string, expectedError error) error
- func (adapter *MongoAdapter) MockInsertAllProjects(user string, expectedError error) error
- func (adapter *MongoAdapter) MockListProjects(user string, expectedJS2Projects []types.JS2Project, expectedError error) error
- type ProviderMetadataService
- type ProviderMetadataSvc
- type ProviderOpenStackService
- type ProviderOpenStackSvc
- type QueryAdapter
- type TimeSource
- type UTCTime
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) 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 ¶
MockTimeSrc is a mocked time source
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.
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 ¶
TimeSource is a source of current time. This abstract away fetching the current time, makes it easier to write tests