Documentation ¶
Index ¶
- Constants
- type ActualChange
- type ActualChangeOp
- type BlockedChanges
- type Change
- func (c *Change) AllRules() ([]ChangeRule, error)
- func (c *Change) ApplicableRules() ([]ChangeRule, error)
- func (c *Change) Description() string
- func (c *Change) Groups() ([]ChangeGroup, error)
- func (c *Change) IsDirectlyWaitingFor(changeToFind *Change) bool
- func (c *Change) IsTransitivelyWaitingFor(changeToFind *Change) bool
- type ChangeGraph
- func (g *ChangeGraph) All() []*Change
- func (g *ChangeGraph) AllMatching(matchFunc func(*Change) bool) []*Change
- func (g *ChangeGraph) Linearized() ([][]*Change, []*Change)
- func (g *ChangeGraph) Print()
- func (g *ChangeGraph) PrintLinearizedStr() string
- func (g *ChangeGraph) PrintStr() string
- func (g *ChangeGraph) RemoveMatching(matchFunc func(*Change) bool)
- type ChangeGroup
- type ChangeGroupName
- type ChangeRule
- type ChangeRuleAction
- type ChangeRuleOrder
- type ChangeRuleTargetAction
- type Changes
Constants ¶
View Source
const ( ChangeRuleActionUpsert ChangeRuleAction = "upsert" ChangeRuleActionDelete ChangeRuleAction = "delete" ChangeRuleOrderBefore ChangeRuleOrder = "before" ChangeRuleOrderAfter ChangeRuleOrder = "after" ChangeRuleTargetActionUpserting ChangeRuleTargetAction = "upserting" ChangeRuleTargetActionDeleting ChangeRuleTargetAction = "deleting" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActualChange ¶
type ActualChange interface { Resource() ctlres.Resource Op() ActualChangeOp }
type ActualChangeOp ¶
type ActualChangeOp string
const ( ActualChangeOpUpsert ActualChangeOp = "upsert" ActualChangeOpDelete ActualChangeOp = "delete" ActualChangeOpNoop ActualChangeOp = "noop" )
type BlockedChanges ¶
type BlockedChanges struct {
// contains filtered or unexported fields
}
func NewBlockedChanges ¶
func NewBlockedChanges(graph *ChangeGraph) *BlockedChanges
func (*BlockedChanges) Blocked ¶
func (c *BlockedChanges) Blocked() []*Change
func (*BlockedChanges) Unblock ¶
func (c *BlockedChanges) Unblock(change *Change)
func (*BlockedChanges) Unblocked ¶
func (c *BlockedChanges) Unblocked() []*Change
func (*BlockedChanges) WhyBlocked ¶
func (c *BlockedChanges) WhyBlocked(changes []*Change) string
type Change ¶
type Change struct { Change ActualChange WaitingFor []*Change // contains filtered or unexported fields }
func (*Change) AllRules ¶
func (c *Change) AllRules() ([]ChangeRule, error)
func (*Change) ApplicableRules ¶
func (c *Change) ApplicableRules() ([]ChangeRule, error)
func (*Change) Description ¶ added in v0.53.0
func (*Change) Groups ¶
func (c *Change) Groups() ([]ChangeGroup, error)
func (*Change) IsDirectlyWaitingFor ¶ added in v0.53.0
func (*Change) IsTransitivelyWaitingFor ¶ added in v0.53.0
type ChangeGraph ¶
type ChangeGraph struct {
// contains filtered or unexported fields
}
func NewChangeGraph ¶
func NewChangeGraph(changes []ActualChange, changeGroupBindings []ctlconf.ChangeGroupBinding, changeRuleBindings []ctlconf.ChangeRuleBinding, logger logger.Logger) (*ChangeGraph, error)
func (*ChangeGraph) All ¶
func (g *ChangeGraph) All() []*Change
func (*ChangeGraph) AllMatching ¶
func (g *ChangeGraph) AllMatching(matchFunc func(*Change) bool) []*Change
func (*ChangeGraph) Linearized ¶ added in v0.53.0
func (g *ChangeGraph) Linearized() ([][]*Change, []*Change)
func (*ChangeGraph) Print ¶
func (g *ChangeGraph) Print()
func (*ChangeGraph) PrintLinearizedStr ¶ added in v0.53.0
func (g *ChangeGraph) PrintLinearizedStr() string
func (*ChangeGraph) PrintStr ¶
func (g *ChangeGraph) PrintStr() string
func (*ChangeGraph) RemoveMatching ¶
func (g *ChangeGraph) RemoveMatching(matchFunc func(*Change) bool)
type ChangeGroup ¶
type ChangeGroup struct {
Name string
}
func MustNewChangeGroupFromAnnString ¶
func MustNewChangeGroupFromAnnString(ann string) ChangeGroup
func NewChangeGroupFromAnnString ¶
func NewChangeGroupFromAnnString(ann string) (ChangeGroup, error)
func (ChangeGroup) IsEqual ¶
func (r ChangeGroup) IsEqual(other ChangeGroup) bool
func (ChangeGroup) Validate ¶
func (r ChangeGroup) Validate() error
type ChangeGroupName ¶ added in v0.53.0
type ChangeGroupName struct {
// contains filtered or unexported fields
}
func NewChangeGroupNameForResource ¶ added in v0.53.0
func NewChangeGroupNameForResource(name string, resource ctlres.Resource) ChangeGroupName
func (ChangeGroupName) AsString ¶ added in v0.53.0
func (c ChangeGroupName) AsString() (string, error)
Placeholders have the format {placeholder-name} Other patterns like ${placeholder-name} are commonly used by other operators/tools
type ChangeRule ¶
type ChangeRule struct { Action ChangeRuleAction Order ChangeRuleOrder TargetAction ChangeRuleTargetAction TargetGroup ChangeGroup IgnoreIfCyclical bool // contains filtered or unexported fields }
Example: upsert before deleting apps.big.co/etcd
func NewChangeRuleFromAnnString ¶
func NewChangeRuleFromAnnString(ann string) (ChangeRule, error)
func (ChangeRule) Validate ¶
func (r ChangeRule) Validate() error
type ChangeRuleAction ¶
type ChangeRuleAction string
type ChangeRuleOrder ¶
type ChangeRuleOrder string
type ChangeRuleTargetAction ¶
type ChangeRuleTargetAction string
type Changes ¶
type Changes []*Change
func (Changes) MatchesRule ¶
func (cs Changes) MatchesRule(rule ChangeRule, _ *Change) ([]*Change, error)
Click to show internal directories.
Click to hide internal directories.