Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Domain ¶
type IdentityAPI ¶
type IdentityAPI interface {
Init(ctx context.Context) error
// Retrieves all domains from the OpenStack identity service.
GetAllDomains(ctx context.Context) ([]Domain, error)
// Retrieves all projects from the OpenStack identity service.
GetAllProjects(ctx context.Context) ([]Project, error)
}
func NewIdentityAPI ¶
func NewIdentityAPI(mon datasources.Monitor, k keystone.KeystoneAPI, conf v1alpha1.IdentityDatasource) IdentityAPI
type IdentitySyncer ¶
type IdentitySyncer struct {
// Database to store the identity objects in.
DB db.DB
// Monitor to track the syncer.
Mon datasources.Monitor
// Configuration for the identity syncer.
Conf v1alpha1.IdentityDatasource
// Identity API client to fetch the data.
API IdentityAPI
}
func (*IdentitySyncer) SyncDomains ¶
func (s *IdentitySyncer) SyncDomains(ctx context.Context) (int64, error)
func (*IdentitySyncer) SyncProjects ¶
func (s *IdentitySyncer) SyncProjects(ctx context.Context) (int64, error)
type Project ¶
type Project struct {
ID string `json:"id" db:"id,primarykey"`
Name string `json:"name" db:"name"`
DomainID string `json:"domain_id" db:"domain_id"`
ParentID string `json:"parent_id" db:"parent_id"`
IsDomain bool `json:"is_domain" db:"is_domain"`
Enabled bool `json:"enabled" db:"enabled"`
Tags string `json:"tags" db:"tags"` // Comma-separated tags
}
Project as inserted into the database for efficient handling.
type RawProject ¶
type RawProject struct {
ID string `json:"id"`
Name string `json:"name"`
DomainID string `json:"domain_id"`
ParentID string `json:"parent_id"`
IsDomain bool `json:"is_domain"`
Enabled bool `json:"enabled"`
Tags []string `json:"tags"`
}
RawProject represents the raw project data as returned by the OpenStack identity API.
Click to show internal directories.
Click to hide internal directories.