identity

package
v0.0.0-...-954f58a Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const TriggerIdentityDomainsSynced = "triggers/sync/openstack/identity/types/domains"

Trigger executed when new domains are available.

View Source
const TriggerIdentityProjectsSynced = "triggers/sync/openstack/identity/types/projects"

Trigger executed when new projects are available.

Variables

This section is empty.

Functions

This section is empty.

Types

type Domain

type Domain struct {
	ID      string `json:"id" db:"id,primarykey"`
	Name    string `json:"name" db:"name"`
	Enabled bool   `json:"enabled" db:"enabled"`
}

func (Domain) Indexes

func (d Domain) Indexes() []db.Index

Indexes for the domain table.

func (Domain) TableName

func (d Domain) TableName() string

Table in which the openstack model is stored.

type IdentityAPI

type IdentityAPI interface {
	Init(ctx context.Context)
	// 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 sync.Monitor, k keystone.KeystoneAPI, conf IdentityConf) IdentityAPI

type IdentityConf

type IdentityConf = conf.SyncOpenStackIdentityConfig

type IdentitySyncer

type IdentitySyncer struct {
	DB         db.DB
	Mon        sync.Monitor
	API        IdentityAPI
	MqttClient mqtt.Client
	Conf       IdentityConf
}

func (*IdentitySyncer) Init

func (s *IdentitySyncer) Init(ctx context.Context)

func (*IdentitySyncer) Sync

func (s *IdentitySyncer) Sync(ctx context.Context) error

func (*IdentitySyncer) SyncDomains

func (s *IdentitySyncer) SyncDomains(ctx context.Context) ([]Domain, error)

func (*IdentitySyncer) SyncProjects

func (s *IdentitySyncer) SyncProjects(ctx context.Context) ([]Project, 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.

func (Project) Indexes

func (p Project) Indexes() []db.Index

Indexes for the project table.

func (Project) TableName

func (p Project) TableName() string

Table in which the openstack model is stored.

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.

Jump to

Keyboard shortcuts

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