Documentation
¶
Index ¶
- type Repository
- type Root
- type RootDraft
- type RootUpdate
- type Service
- func (s *Service) Create(ctx context.Context, draft RootDraft) (Root, error)
- func (s *Service) EnsureSystem(ctx context.Context, draft RootDraft) (Root, error)
- func (s *Service) Get(ctx context.Context, id basespec.RootID) (Root, error)
- func (s *Service) List(ctx context.Context) ([]Root, error)
- func (s *Service) Purge(ctx context.Context, id basespec.RootID, expectedRevision uint64) error
- func (s *Service) Retire(ctx context.Context, id basespec.RootID, expectedRevision uint64) (Root, error)
- func (s *Service) Update(ctx context.Context, id basespec.RootID, update RootUpdate) (Root, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Repository ¶
type Repository interface {
Create(
ctx context.Context,
value Root,
) error
Get(
ctx context.Context,
id basespec.RootID,
) (Root, error)
List(ctx context.Context) ([]Root, error)
Update(
ctx context.Context,
value Root,
expectedRevision uint64,
) error
Retire(
ctx context.Context,
value Root,
expectedRevision uint64,
) error
Purge(
ctx context.Context,
id basespec.RootID,
expectedRevision uint64,
) error
}
type Root ¶
type Root struct {
ID basespec.RootID `json:"id"`
StorageKey basespec.StorageKey `json:"storageKey"`
DisplayName string `json:"displayName"`
Description string `json:"description,omitempty"`
Revision uint64 `json:"revision"`
CreatedAt time.Time `json:"createdAt"`
ModifiedAt time.Time `json:"modifiedAt"`
RetiredAt *time.Time `json:"retiredAt,omitempty"`
}
type RootUpdate ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService( repository Repository, timeClock clockutil.Clock, policy protection.RootPolicy, ) (*Service, error)
func (*Service) EnsureSystem ¶ added in v0.2.14
EnsureSystem is reserved for an application-owned protected-topology installer. Artifact Store does not assign any feature meaning to the Root.
Click to show internal directories.
Click to hide internal directories.