Documentation
¶
Index ¶
- func Hash(org string, entity HashableEntity) string
- type AlertPolicy
- type DeepEntity
- type Edge
- type Entity
- type EntityContext
- type HashableEntity
- type Indicator
- type IndicatorSpec
- type Labels
- type Manifest
- type ManifestContents
- type ManifestObject
- type Metadata
- type Node
- type NodeGraph
- type Objective
- type ObjectiveResult
- type ObjectiveResultResponse
- type ObjectiveResultSpec
- type ObjectiveScore
- type ObjectiveScoreSpec
- type ObjectiveSpec
- type Operation
- type OperationSpec
- type PolicySpec
- type ScoreCard
- type ScoreCardSpec
- type Selector
- type TypeMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Hash ¶ added in v0.41.0
func Hash(org string, entity HashableEntity) string
Types ¶
type AlertPolicy ¶ added in v0.45.0
type AlertPolicy struct {
TypeMeta `json:",inline" yaml:",inline"`
Metadata Metadata `json:"metadata"`
Spec PolicySpec `json:"spec"`
}
func NewAlertPolicy ¶ added in v0.45.0
func NewAlertPolicy() *AlertPolicy
func (*AlertPolicy) Kind ¶ added in v0.45.0
func (a *AlertPolicy) Kind() string
func (*AlertPolicy) Validate ¶ added in v0.45.0
func (a *AlertPolicy) Validate() error
func (*AlertPolicy) Version ¶ added in v0.45.0
func (a *AlertPolicy) Version() string
type DeepEntity ¶ added in v0.25.0
type EntityContext ¶ added in v0.31.0
type EntityContext struct {
Metadata Metadata `json:"metadata"`
}
EntityContext - Entity Contexts are used to represent arbitrary or custom entities defined by the user. They are comprised solely of Metadata.
func (*EntityContext) Kind ¶ added in v0.31.0
func (c *EntityContext) Kind() string
func (*EntityContext) Validate ¶ added in v0.31.0
func (c *EntityContext) Validate() error
func (*EntityContext) Version ¶ added in v0.31.0
func (c *EntityContext) Version() string
type HashableEntity ¶ added in v0.41.0
type Indicator ¶
type Indicator struct {
TypeMeta `json:",inline" yaml:",inline"`
Metadata `json:"metadata,omitempty"`
Spec IndicatorSpec `json:"spec" yaml:"spec"`
}
func NewIndicator ¶ added in v0.21.0
func NewIndicator() *Indicator
NewIndicator returns a new instance of the Indicator struct with non-zero values for internal maps
func NewIndicatorForObjective ¶ added in v0.21.0
type IndicatorSpec ¶
type Labels ¶
func (Labels) AssertHasFields ¶ added in v0.40.0
type Manifest ¶
type Manifest []*Objective
Manifest - a slice of Objectives
func (*Manifest) LoadFromFile ¶
type ManifestContents ¶ added in v0.25.1
type ManifestContents []DeepEntity
func LoadFromFile ¶ added in v0.25.0
func LoadFromFile(path string) (ManifestContents, error)
func (ManifestContents) Objectives ¶ added in v0.25.1
func (m ManifestContents) Objectives() []*Objective
type ManifestObject ¶ added in v0.25.0
type ManifestObject struct {
APIVersion string `json:"apiVersion" yaml:"apiVersion"`
KindValue string `json:"kind" yaml:"kind"`
MetadataValue Metadata `json:"metadata" yaml:"metadata"`
SpecValue map[string]interface{} `json:"spec" yaml:"spec"`
}
func (*ManifestObject) Kind ¶ added in v0.25.0
func (t *ManifestObject) Kind() string
func (*ManifestObject) Metadata ¶ added in v0.25.0
func (t *ManifestObject) Metadata() Metadata
func (*ManifestObject) Spec ¶ added in v0.25.0
func (t *ManifestObject) Spec() map[string]interface{}
func (*ManifestObject) Validate ¶ added in v0.25.0
func (t *ManifestObject) Validate() error
func (*ManifestObject) Version ¶ added in v0.25.0
func (t *ManifestObject) Version() string
type Metadata ¶
type Metadata struct {
// Name of the object representation
Name string `json:"-" yaml:"-"`
// Map of string keys and values that can be used to identify an entity
Labels Labels `json:"labels,omitempty" yaml:"labels,omitempty"`
// List of map of string keys and values that can be used to link entities together
// by identifying relationships
// All string keys and values in the same map are mandatory to make a link (AND operand)
// while any map of the list is necessary to make a link (OR operand)
// example:
// RelatedTo:
// - service:web
// region:us
// - service:web
// region:eu
// In this example, the current object representation will be linked to
// any other entity that is a web service and located in US or EU regions
RelatedTo []map[string]string `json:"relatedTo,omitempty" yaml:"relatedTo,omitempty"`
// Map of string keys and values that are additional information about an entity
Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`
}
ObjectMeta is metadata that all entities must have
func (Metadata) GetSelector ¶ added in v0.44.0
turn labels into a base64 encoded selector
type NodeGraph ¶ added in v0.20.0
func (*NodeGraph) MarshalJSON ¶ added in v0.20.0
MarshalJSON - custom JSON unmarshaller for NodeGraph type used to insure that empty values are returned instead of null
Eg:
{ "nodes": [], "edges": [] }
vs.
{ "nodes": null, "edges": null }
type Objective ¶
type Objective struct {
TypeMeta `json:",inline" yaml:",inline"`
Metadata `json:"metadata,omitempty"`
Spec ObjectiveSpec `json:"spec" yaml:"spec"`
}
func NewObjective ¶
func NewObjective() *Objective
NewObjective returns a new instance of the Objective struct with non-zero values for internal maps
func (*Objective) GetIndicatorsLabelsAsSelector ¶ added in v0.44.0
turn indicator labels into a base64 encoded selector
func (*Objective) GetMetadata ¶ added in v0.41.0
type ObjectiveResult ¶
type ObjectiveResult struct {
TypeMeta `json:",inline" yaml:",inline"`
ObjectiveResultResponse `json:",inline" yaml:",inline"`
}
func (ObjectiveResult) GetMetadata ¶ added in v0.44.0
func (o ObjectiveResult) GetMetadata() Metadata
func (ObjectiveResult) Kind ¶
func (o ObjectiveResult) Kind() string
func (*ObjectiveResult) Validate ¶ added in v0.40.0
func (o *ObjectiveResult) Validate() error
func (ObjectiveResult) Version ¶
func (o ObjectiveResult) Version() string
type ObjectiveResultResponse ¶
type ObjectiveResultResponse struct {
Metadata `json:"metadata,omitempty"`
Spec ObjectiveResultSpec `json:"spec" yaml:"spec"`
}
type ObjectiveResultSpec ¶
type ObjectiveResultSpec struct {
IndicatorSelector Selector `json:"indicatorSelector" yaml:"indicatorSelector"`
ObjectivePercent float64 `json:"objectivePercent" yaml:"objectivePercent"`
ActualPercent float64 `json:"actualPercent" yaml:"actualPercent"`
RemainingPercent float64 `json:"remainingPercent" yaml:"remainingPercent"`
}
type ObjectiveScore ¶ added in v0.44.0
type ObjectiveScore struct {
TypeMeta `json:",inline" yaml:",inline"`
Metadata `json:"metadata,omitempty"`
Spec ObjectiveScoreSpec `json:"spec" yaml:"spec"`
}
func (*ObjectiveScore) GetMetadata ¶ added in v0.44.0
func (o *ObjectiveScore) GetMetadata() Metadata
func (*ObjectiveScore) Kind ¶ added in v0.44.0
func (o *ObjectiveScore) Kind() string
func (*ObjectiveScore) Validate ¶ added in v0.44.0
func (o *ObjectiveScore) Validate() error
func (*ObjectiveScore) Version ¶ added in v0.44.0
func (o *ObjectiveScore) Version() string
type ObjectiveScoreSpec ¶ added in v0.44.0
type ObjectiveScoreSpec struct {
ObjectiveResultSelector Selector `json:"objectiveResultSelector" yaml:"objectiveResultSelector"`
TargetDeltaPercentage float64 `json:"targetDeltaPercentage" yaml:"targetDeltaPercentage"`
ReliabilityScore float64 `json:"reliabilityScore" yaml:"reliabilityScore"`
HistoricalReliabilityScore float64 `json:"historicalReliabilityScore" yaml:"historicalReliabilityScore"`
}
type ObjectiveSpec ¶
type Operation ¶ added in v0.32.0
type Operation struct {
Metadata Metadata `json:"metadata"`
Spec OperationSpec `json:"spec"`
}
type OperationSpec ¶ added in v0.32.0
type OperationSpec struct {
Outcome string `json:"outcome"`
}
type PolicySpec ¶ added in v0.45.0
type ScoreCard ¶ added in v0.44.0
type ScoreCard struct {
TypeMeta `json:",inline" yaml:",inline"`
Metadata `json:"metadata,omitempty"`
Spec ScoreCardSpec `json:"spec" yaml:"spec"`
}
func (*ScoreCard) GetMetadata ¶ added in v0.44.0
func (*ScoreCard) GetSpec ¶ added in v0.44.0
func (sc *ScoreCard) GetSpec() ScoreCardSpec
type ScoreCardSpec ¶ added in v0.44.0
type TypeMeta ¶
type TypeMeta struct {
// APIVersion defines the versioned schema of this representation of an object
APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
// Kind is a string value representing the REST resource this object represents.
// In CamelCase.
Kind string `json:"kind,omitempty" yaml:"kind,omitempty"`
}
TypeMeta describes an individual object in the entity API with strings representing the type of the object and its API schema version