model

package
v0.0.0-...-11fd857 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: MIT Imports: 12 Imported by: 1

Documentation

Index

Constants

View Source
const (
	AppPackage     = "app.package"
	AppImage       = "app.image"
	ContainerImage = "container.image"
)
View Source
const (
	FabricGroup     = "fabric.symphony"
	SolutionGroup   = "solution.symphony"
	WorkflowGroup   = "workflow.symphony"
	FederationGroup = "federation.symphony"
	AIGroup         = "ai.symphony"
)

Variables

This section is empty.

Functions

func CheckProperty

func CheckProperty(a map[string]string, b map[string]string, key string, ignoreCase bool) bool

func CheckPropertyCompat

func CheckPropertyCompat(a map[string]interface{}, b map[string]interface{}, key string, ignoreCase bool) bool

func CollectPropertiesWithPrefix

func CollectPropertiesWithPrefix(col map[string]interface{}, prefix string, injections *ValueInjections, withHierarchy bool) map[string]interface{}

func EnvMapsEqual

func EnvMapsEqual(a map[string]string, b map[string]string) bool

func ExtractRawEnvFromProperties

func ExtractRawEnvFromProperties(properties map[string]interface{}) map[string]string

Compatibility Helper

func ExtractReferenceSlice

func ExtractReferenceSlice[K IDeepEquals](a []K) []*K

func HasSameProperty

func HasSameProperty(a map[string]string, b map[string]string, key string) bool

func HasSamePropertyCompat

func HasSamePropertyCompat(a map[string]interface{}, b map[string]interface{}, key string) bool

func ReadProperty

func ReadProperty(col map[string]string, key string, injections *ValueInjections) string

func ReadPropertyCompat

func ReadPropertyCompat(col map[string]interface{}, key string, injections *ValueInjections) string

func ResolveString

func ResolveString(value string, injections *ValueInjections) string

func SlicesAny

func SlicesAny[K IDeepEquals](src []K, dest []K) bool

func SlicesCover

func SlicesCover[K IDeepEquals](src []K, dest []K) bool

func SlicesEqual

func SlicesEqual[K IDeepEquals](a []K, b []K) bool

SliceEuql compares two slices of IDeepEqual items, ignoring the order of items It returns two if the two slices are exactly the same, otherwise it returns false

func StringMapsEqual

func StringMapsEqual(a map[string]string, b map[string]string, ignoredMissingKeys []string) bool

stringMapsEqual compares two string maps for equality

func StringStringMapsEqual

func StringStringMapsEqual(a map[string]map[string]string, b map[string]map[string]string, ignoredMissingKeys []string) bool

Types

type ActivationSpec

type ActivationSpec struct {
	Campaign string                 `json:"campaign,omitempty"`
	Stage    string                 `json:"stage,omitempty"`
	Inputs   map[string]interface{} `json:"inputs,omitempty"`
}

func (ActivationSpec) DeepEquals

func (c ActivationSpec) DeepEquals(other IDeepEquals) (bool, error)

type ActivationState

type ActivationState struct {
	ObjectMeta ObjectMeta        `json:"metadata,omitempty"`
	Spec       *ActivationSpec   `json:"spec,omitempty"`
	Status     *ActivationStatus `json:"status,omitempty"`
}

func (ActivationState) DeepEquals

func (c ActivationState) DeepEquals(other IDeepEquals) (bool, error)

type ActivationStatus

type ActivationStatus struct {
	ActivationGeneration string         `json:"activationGeneration,omitempty"`
	UpdateTime           string         `json:"updateTime,omitempty"`
	Status               v1alpha2.State `json:"status,omitempty"`
	StatusMessage        string         `json:"statusMessage,omitempty"`
	StageHistory         []StageStatus  `json:"stageHistory,omitempty"`
}

type BindingSpec

type BindingSpec struct {
	Role     string            `json:"role"`
	Provider string            `json:"provider"`
	Config   map[string]string `json:"config,omitempty"`
}

+kubebuilder:object:generate=true

func (*BindingSpec) DeepCopy

func (in *BindingSpec) DeepCopy() *BindingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BindingSpec.

func (*BindingSpec) DeepCopyInto

func (in *BindingSpec) DeepCopyInto(out *BindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (BindingSpec) DeepEquals

func (c BindingSpec) DeepEquals(other IDeepEquals) (bool, error)

type ByTargetName

type ByTargetName []TargetDesc

func (ByTargetName) Len

func (p ByTargetName) Len() int

func (ByTargetName) Less

func (p ByTargetName) Less(i, j int) bool

func (ByTargetName) Swap

func (p ByTargetName) Swap(i, j int)

type CampaignContainerSpec

type CampaignContainerSpec struct {
}

func (CampaignContainerSpec) DeepEquals

func (c CampaignContainerSpec) DeepEquals(other IDeepEquals) (bool, error)

type CampaignContainerState

type CampaignContainerState struct {
	ObjectMeta ObjectMeta               `json:"metadata,omitempty"`
	Spec       *CampaignContainerSpec   `json:"spec,omitempty"`
	Status     *CampaignContainerStatus `json:"status,omitempty"`
}

func (CampaignContainerState) DeepEquals

func (c CampaignContainerState) DeepEquals(other IDeepEquals) (bool, error)

type CampaignContainerStatus

type CampaignContainerStatus struct {
	Properties map[string]string `json:"properties"`
}

type CampaignSpec

type CampaignSpec struct {
	FirstStage   string               `json:"firstStage,omitempty"`
	Stages       map[string]StageSpec `json:"stages,omitempty"`
	SelfDriving  bool                 `json:"selfDriving,omitempty"`
	Version      string               `json:"version,omitempty"`
	RootResource string               `json:"rootResource,omitempty"`
}

func (CampaignSpec) DeepEquals

func (c CampaignSpec) DeepEquals(other IDeepEquals) (bool, error)

type CampaignState

type CampaignState struct {
	ObjectMeta ObjectMeta    `json:"metadata,omitempty"`
	Spec       *CampaignSpec `json:"spec,omitempty"`
}

func (CampaignState) DeepEquals

func (c CampaignState) DeepEquals(other IDeepEquals) (bool, error)

type CatalogContainerSpec

type CatalogContainerSpec struct {
}

func (CatalogContainerSpec) DeepEquals

func (c CatalogContainerSpec) DeepEquals(other IDeepEquals) (bool, error)

type CatalogContainerState

type CatalogContainerState struct {
	ObjectMeta ObjectMeta              `json:"metadata,omitempty"`
	Spec       *CatalogContainerSpec   `json:"spec,omitempty"`
	Status     *CatalogContainerStatus `json:"status,omitempty"`
}

TODO: all state objects should converge to this paradigm: id, spec and status

func (CatalogContainerState) DeepEquals

func (c CatalogContainerState) DeepEquals(other IDeepEquals) (bool, error)

type CatalogContainerStatus

type CatalogContainerStatus struct {
	Properties map[string]string `json:"properties"`
}

type CatalogSpec

type CatalogSpec struct {
	CatalogType  string                 `json:"catalogType"`
	Metadata     map[string]string      `json:"metadata,omitempty"`
	Properties   map[string]interface{} `json:"properties"`
	ParentName   string                 `json:"parentName,omitempty"`
	ObjectRef    ObjectRef              `json:"objectRef,omitempty"`
	Version      string                 `json:"version,omitempty"`
	RootResource string                 `json:"rootResource,omitempty"`
}

func (CatalogSpec) DeepEquals

func (c CatalogSpec) DeepEquals(other IDeepEquals) (bool, error)

type CatalogState

type CatalogState struct {
	ObjectMeta ObjectMeta     `json:"metadata,omitempty"`
	Spec       *CatalogSpec   `json:"spec,omitempty"`
	Status     *CatalogStatus `json:"status,omitempty"`
}

TODO: all state objects should converge to this paradigm: id, spec and status

func (CatalogState) DeepEquals

func (c CatalogState) DeepEquals(other IDeepEquals) (bool, error)

func (CatalogState) GetFrom

func (s CatalogState) GetFrom() string

IEdge interface

func (CatalogState) GetId

func (s CatalogState) GetId() string

INode interface

func (CatalogState) GetParent

func (s CatalogState) GetParent() string

func (CatalogState) GetProperties

func (s CatalogState) GetProperties() map[string]interface{}

func (CatalogState) GetTo

func (s CatalogState) GetTo() string

func (CatalogState) GetType

func (s CatalogState) GetType() string

type CatalogStatus

type CatalogStatus struct {
	Properties map[string]string `json:"properties"`
}

type ComponentAction

type ComponentAction string
const (
	ComponentUpdate ComponentAction = "update"
	ComponentDelete ComponentAction = "delete"
)

type ComponentError

type ComponentError struct {
	Code    string `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
	Target  string `json:"target,omitempty"`
}

Defines an error for components defined in symphony +kubebuilder:object:generate=true

func (*ComponentError) DeepCopy

func (in *ComponentError) DeepCopy() *ComponentError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentError.

func (*ComponentError) DeepCopyInto

func (in *ComponentError) DeepCopyInto(out *ComponentError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentResultSpec

type ComponentResultSpec struct {
	Status  v1alpha2.State `json:"status"`
	Message string         `json:"message"`
}

type ComponentSpec

type ComponentSpec struct {
	Name         string                 `json:"name"`
	Type         string                 `json:"type,omitempty"`
	Metadata     map[string]string      `json:"metadata,omitempty"`
	Properties   map[string]interface{} `json:"properties,omitempty"`
	Parameters   map[string]string      `json:"parameters,omitempty"`
	Routes       []RouteSpec            `json:"routes,omitempty"`
	Constraints  string                 `json:"constraints,omitempty"`
	Dependencies []string               `json:"dependencies,omitempty"`
	Skills       []string               `json:"skills,omitempty"`
	Sidecars     []SidecarSpec          `json:"sidecars,omitempty"`
}

func (ComponentSpec) DeepEquals

func (c ComponentSpec) DeepEquals(other IDeepEquals) (bool, error)

type ComponentStep

type ComponentStep struct {
	Action    ComponentAction `json:"action"`
	Component ComponentSpec   `json:"component"`
}

type ComponentValidationRule

type ComponentValidationRule struct {
	RequiredComponentType     string         `json:"requiredType"`
	ChangeDetectionProperties []PropertyDesc `json:"changeDetection,omitempty"`
	ChangeDetectionMetadata   []PropertyDesc `json:"changeDetectionMetadata,omitempty"`
	RequiredProperties        []string       `json:"requiredProperties"`
	OptionalProperties        []string       `json:"optionalProperties"`
	RequiredMetadata          []string       `json:"requiredMetadata"`
	OptionalMetadata          []string       `json:"optionalMetadata"`
}

type ConnectionSpec

type ConnectionSpec struct {
	Node  string `json:"node"`
	Route string `json:"route"`
}

func (ConnectionSpec) DeepEquals

func (c ConnectionSpec) DeepEquals(other IDeepEquals) (bool, error)

type DeployableStatus

type DeployableStatus struct {
	Properties         map[string]string  `json:"properties,omitempty"`
	ProvisioningStatus ProvisioningStatus `json:"provisioningStatus"`
	LastModified       time.Time          `json:"lastModified,omitempty"`
}

type DeploymentPlan

type DeploymentPlan struct {
	Steps []DeploymentStep
}

func (DeploymentPlan) CanAppendToStep

func (p DeploymentPlan) CanAppendToStep(step int, component ComponentSpec) bool

func (DeploymentPlan) FindLastTargetRole

func (p DeploymentPlan) FindLastTargetRole(target, role string) int

func (DeploymentPlan) RevisedForDeletion

func (p DeploymentPlan) RevisedForDeletion() DeploymentPlan

type DeploymentSpec

type DeploymentSpec struct {
	SolutionName        string                 `json:"solutionName"`
	Solution            SolutionState          `json:"solution"`
	Instance            InstanceState          `json:"instance"`
	Targets             map[string]TargetState `json:"targets"`
	Devices             []DeviceSpec           `json:"devices,omitempty"`
	Assignments         map[string]string      `json:"assignments,omitempty"`
	ComponentStartIndex int                    `json:"componentStartIndex,omitempty"`
	ComponentEndIndex   int                    `json:"componentEndIndex,omitempty"`
	ActiveTarget        string                 `json:"activeTarget,omitempty"`
	Generation          string                 `json:"generation,omitempty"`
	JobID               string                 `json:"jobID,omitempty"`
	ObjectNamespace     string                 `json:"objectNamespace,omitempty"`
	Hash                string                 `json:"hash,omitempty"`
	IsDryRun            bool                   `json:"isDryRun,omitempty"`
}

func ToDeployment

func ToDeployment(data []byte) (*DeploymentSpec, error)

func (DeploymentSpec) DeepEquals

func (c DeploymentSpec) DeepEquals(other IDeepEquals) (bool, error)

func (DeploymentSpec) GetComponentSlice

func (d DeploymentSpec) GetComponentSlice() []ComponentSpec

type DeploymentState

type DeploymentState struct {
	Components      []ComponentSpec
	Targets         []TargetDesc
	TargetComponent map[string]string
}

func (*DeploymentState) ClearAllRemoved

func (t *DeploymentState) ClearAllRemoved()

func (*DeploymentState) MarkRemoveAll

func (t *DeploymentState) MarkRemoveAll()

type DeploymentStep

type DeploymentStep struct {
	Target     string
	Components []ComponentStep
	Role       string
	IsFirst    bool
}

func (DeploymentStep) GetComponents

func (s DeploymentStep) GetComponents() []ComponentSpec

func (DeploymentStep) GetDeletedComponents

func (s DeploymentStep) GetDeletedComponents() []ComponentSpec

func (DeploymentStep) GetUpdatedComponentSteps

func (s DeploymentStep) GetUpdatedComponentSteps() []ComponentStep

func (DeploymentStep) GetUpdatedComponents

func (s DeploymentStep) GetUpdatedComponents() []ComponentSpec

func (DeploymentStep) PrepareResultMap

func (s DeploymentStep) PrepareResultMap() map[string]ComponentResultSpec

type DeviceSpec

type DeviceSpec struct {
	DisplayName string            `json:"displayName,omitempty"`
	Properties  map[string]string `json:"properties,omitempty"`
	Bindings    []BindingSpec     `json:"bindings,omitempty"`
}

DeviceSpec defines the spec properties of the DeviceState +kubebuilder:object:generate=true

func (*DeviceSpec) DeepCopy

func (in *DeviceSpec) DeepCopy() *DeviceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpec.

func (*DeviceSpec) DeepCopyInto

func (in *DeviceSpec) DeepCopyInto(out *DeviceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DeviceSpec) DeepEquals

func (c DeviceSpec) DeepEquals(other IDeepEquals) (bool, error)

type DeviceState

type DeviceState struct {
	ObjectMeta ObjectMeta   `json:"metadata,omitempty"`
	Spec       *DeviceSpec  `json:"spec,omitempty"`
	Status     DeviceStatus `json:"status,omitempty"`
}

DeviceState defines the current state of the device

func (DeviceState) DeepEquals

func (c DeviceState) DeepEquals(other IDeepEquals) (bool, error)

type DeviceStatus

type DeviceStatus struct {
	Properties map[string]string `json:"properties,omitempty"`
}

type EdgeSpec

type EdgeSpec struct {
	Source ConnectionSpec `json:"source"`
	Target ConnectionSpec `json:"target"`
}

func (EdgeSpec) DeepEquals

func (c EdgeSpec) DeepEquals(other IDeepEquals) (bool, error)

type ErrorType

type ErrorType struct {
	Code    string        `json:"code,omitempty"`
	Message string        `json:"message,omitempty"`
	Target  string        `json:"target,omitempty"`
	Details []TargetError `json:"details,omitempty"`
}

Defines an error in the ARM resource for long running operations +kubebuilder:object:generate=true

func (*ErrorType) DeepCopy

func (in *ErrorType) DeepCopy() *ErrorType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorType.

func (*ErrorType) DeepCopyInto

func (in *ErrorType) DeepCopyInto(out *ErrorType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FilterSpec

type FilterSpec struct {
	Direction  string            `json:"direction"`
	Type       string            `json:"type"`
	Parameters map[string]string `json:"parameters,omitempty"`
}

+kubebuilder:object:generate=true

func (*FilterSpec) DeepCopy

func (in *FilterSpec) DeepCopy() *FilterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterSpec.

func (*FilterSpec) DeepCopyInto

func (in *FilterSpec) DeepCopyInto(out *FilterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (FilterSpec) DeepEquals

func (c FilterSpec) DeepEquals(other IDeepEquals) (bool, error)

type IDeepEquals

type IDeepEquals interface {
	DeepEquals(other IDeepEquals) (bool, error)
}

IDeepEquals interface defines an interface for memberwise equality comparision

type InstanceSpec

type InstanceSpec struct {
	DisplayName string            `json:"displayName,omitempty"`
	Scope       string            `json:"scope,omitempty"`
	Parameters  map[string]string `json:"parameters,omitempty"` //TODO: Do we still need this?
	Metadata    map[string]string `json:"metadata,omitempty"`
	Solution    string            `json:"solution"`
	Target      TargetSelector    `json:"target,omitempty"`
	Topologies  []TopologySpec    `json:"topologies,omitempty"`
	Pipelines   []PipelineSpec    `json:"pipelines,omitempty"`
	IsDryRun    bool              `json:"isDryRun,omitempty"`
}

InstanceSpec defines the spec property of the InstanceState +kubebuilder:object:generate=true

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.

func (*InstanceSpec) DeepCopyInto

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (InstanceSpec) DeepEquals

func (c InstanceSpec) DeepEquals(other IDeepEquals) (bool, error)

type InstanceState

type InstanceState struct {
	ObjectMeta ObjectMeta     `json:"metadata,omitempty"`
	Spec       *InstanceSpec  `json:"spec,omitempty"`
	Status     InstanceStatus `json:"status,omitempty"`
}

InstanceState defines the current state of the instance

func (InstanceState) DeepEquals

func (c InstanceState) DeepEquals(other IDeepEquals) (bool, error)

type InstanceStatus

type InstanceStatus = DeployableStatus

type ModelSpec

type ModelSpec struct {
	DisplayName string            `json:"displayName,omitempty"`
	Properties  map[string]string `json:"properties,omitempty"`
	Constraints string            `json:"constraints,omitempty"`
	Bindings    []BindingSpec     `json:"bindings,omitempty"`
}

+kubebuilder:object:generate=true

func (*ModelSpec) DeepCopy

func (in *ModelSpec) DeepCopy() *ModelSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelSpec.

func (*ModelSpec) DeepCopyInto

func (in *ModelSpec) DeepCopyInto(out *ModelSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ModelSpec) DeepEquals

func (c ModelSpec) DeepEquals(other IDeepEquals) (bool, error)

type ModelState

type ModelState struct {
	ObjectMeta ObjectMeta `json:"metadata,omitempty"`
	Spec       *ModelSpec `json:"spec,omitempty"`
}

func (ModelState) DeepEquals

func (c ModelState) DeepEquals(other IDeepEquals) (bool, error)

type NodeSpec

type NodeSpec struct {
	Id             string            `json:"id"`
	NodeType       string            `json:"type"`
	Name           string            `json:"name"`
	Configurations map[string]string `json:"configurations,omitempty"`
	Inputs         []RouteSpec       `json:"inputs,omitempty"`
	Outputs        []RouteSpec       `json:"outputs,omitempty"`
	Model          string            `json:"model,omitempty"`
}

+kubebuilder:object:generate=true

func (*NodeSpec) DeepCopy

func (in *NodeSpec) DeepCopy() *NodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec.

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NodeSpec) DeepEquals

func (n NodeSpec) DeepEquals(other IDeepEquals) (bool, error)

type ObjectMeta

type ObjectMeta struct {
	Namespace string `json:"namespace,omitempty"`
	Name      string `json:"name,omitempty"`
	// ETag is a string representing the version of the object, it bump whenever the object is updated.
	// All the state store should support auto-incrementing the version number.
	// For example, resourceVersion in kubernetes
	ETag string `json:"eTag,omitempty"`
	// ObjGeneration changes when Spec changes
	// object manager need to detect spec changes and update the generation
	// For example, generation in kubernetes
	ObjGeneration int64 `json:"objGeneraion,omitempty"`

	Labels      map[string]string `json:"labels,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (ObjectMeta) DeepEquals

func (c ObjectMeta) DeepEquals(other IDeepEquals) (bool, error)

func (*ObjectMeta) FixNames

func (c *ObjectMeta) FixNames(name string)

func (*ObjectMeta) MergeFrom

func (c *ObjectMeta) MergeFrom(other ObjectMeta)

func (*ObjectMeta) UnmarshalJSON

func (o *ObjectMeta) UnmarshalJSON(data []byte) error

UnmarshalJSON custom unmarshaller to handle Generation field(accept both of number and string)

func (*ObjectMeta) UpdateAnnotation

func (c *ObjectMeta) UpdateAnnotation(key string, value string)

type ObjectRef

type ObjectRef struct {
	SiteId     string            `json:"siteId"`
	Name       string            `json:"name"`
	Group      string            `json:"group"`
	Version    string            `json:"version"`
	Kind       string            `json:"kind"`
	Namespace  string            `json:"namespace"`
	Address    string            `json:"address,omitempty"`
	Generation string            `json:"generation,omitempty"`
	Metadata   map[string]string `json:"metadata,omitempty"`
}

+kubebuilder:object:generate=true

func (*ObjectRef) DeepCopy

func (in *ObjectRef) DeepCopy() *ObjectRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.

func (*ObjectRef) DeepCopyInto

func (in *ObjectRef) DeepCopyInto(out *ObjectRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Packet

type Packet struct {
	Solution string      `json:"solution,omitempty"`
	From     string      `json:"from"`
	To       string      `json:"to"`
	Instance string      `json:"instance,omitempty"`
	Target   string      `json:"target,omitempty"`
	Data     interface{} `json:"data,omitempty"`
	DataType string      `json:"dataType,omitempty"`
}

func (*Packet) IsValid

func (p *Packet) IsValid() bool

type PipelineSpec

type PipelineSpec struct {
	Name       string            `json:"name"`
	Skill      string            `json:"skill"`
	Parameters map[string]string `json:"parameters,omitempty"`
}

PipelineSpec defines the desired pipeline of the instance +kubebuilder:object:generate=true

func (*PipelineSpec) DeepCopy

func (in *PipelineSpec) DeepCopy() *PipelineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineSpec.

func (*PipelineSpec) DeepCopyInto

func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PipelineSpec) DeepEquals

func (c PipelineSpec) DeepEquals(other IDeepEquals) (bool, error)

type PropertyDesc

type PropertyDesc struct {
	Name            string `json:"name"`
	IgnoreCase      bool   `json:"ignoreCase,omitempty"`
	SkipIfMissing   bool   `json:"skipIfMissing,omitempty"`
	PrefixMatch     bool   `json:"prefixMatch,omitempty"`
	IsComponentName bool   `json:"isComponentName,omitempty"`
	// This is a stop-gap solution to support change detection for advanced comparison scenarios.
	PropChanged func(oldProp, newProp any) bool `json:"-"`
}

type ProvisioningStatus

type ProvisioningStatus struct {
	OperationID     string            `json:"operationId"`
	Status          string            `json:"status"`
	PercentComplete int64             `json:"percentComplete,omitempty"`
	FailureCause    string            `json:"failureCause,omitempty"`
	LogErrors       bool              `json:"logErrors,omitempty"`
	Error           ErrorType         `json:"error,omitempty"`
	Output          map[string]string `json:"output,omitempty"`
}

Defines the state of the ARM resource for long running operations +kubebuilder:object:generate=true

func (*ProvisioningStatus) DeepCopy

func (in *ProvisioningStatus) DeepCopy() *ProvisioningStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisioningStatus.

func (*ProvisioningStatus) DeepCopyInto

func (in *ProvisioningStatus) DeepCopyInto(out *ProvisioningStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteSpec

type RouteSpec struct {
	Route      string            `json:"route"`
	Type       string            `json:"type"`
	Properties map[string]string `json:"properties,omitempty"`
	Filters    []FilterSpec      `json:"filters,omitempty"`
}

+kubebuilder:object:generate=true

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.

func (*RouteSpec) DeepCopyInto

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RouteSpec) DeepEquals

func (c RouteSpec) DeepEquals(other IDeepEquals) (bool, error)

type SidecarSpec

type SidecarSpec struct {
	Name       string                 `json:"name,omitempty"`
	Type       string                 `json:"type,omitempty"`
	Properties map[string]interface{} `json:"properties,omitempty"`
}

func (SidecarSpec) DeepEquals

func (s SidecarSpec) DeepEquals(other IDeepEquals) (bool, error)

type SiteInstanceStatus

type SiteInstanceStatus struct {
	State  v1alpha2.State `json:"state,omitempty"`
	Reason string         `json:"reason,omitempty"`
}

type SiteSpec

type SiteSpec struct {
	Name       string            `json:"name,omitempty"`
	IsSelf     bool              `json:"isSelf,omitempty"`
	PublicKey  string            `json:"secretHash,omitempty"`
	Properties map[string]string `json:"properties,omitempty"`
}

+kubebuilder:object:generate=true

func (*SiteSpec) DeepCopy

func (in *SiteSpec) DeepCopy() *SiteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SiteSpec.

func (*SiteSpec) DeepCopyInto

func (in *SiteSpec) DeepCopyInto(out *SiteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SiteSpec) DeepEquals

func (s SiteSpec) DeepEquals(other IDeepEquals) (bool, error)

type SiteState

type SiteState struct {
	Id       string                 `json:"id"`
	Metadata map[string]interface{} `json:"metadata,omitempty"`
	Spec     *SiteSpec              `json:"spec,omitempty"`
	Status   *SiteStatus            `json:"status,omitempty"`
}

type SiteStatus

type SiteStatus struct {
	IsOnline         bool                          `json:"isOnline,omitempty"`
	TargetStatuses   map[string]SiteTargetStatus   `json:"targetStatuses,omitempty"`
	InstanceStatuses map[string]SiteInstanceStatus `json:"instanceStatuses,omitempty"`
	LastReported     string                        `json:"lastReported,omitempty"`
}

+kubebuilder:object:generate=true

func (*SiteStatus) DeepCopy

func (in *SiteStatus) DeepCopy() *SiteStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SiteStatus.

func (*SiteStatus) DeepCopyInto

func (in *SiteStatus) DeepCopyInto(out *SiteStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SiteTargetStatus

type SiteTargetStatus struct {
	State  v1alpha2.State `json:"state,omitempty"`
	Reason string         `json:"reason,omitempty"`
}

type SkillPackageSpec

type SkillPackageSpec struct {
	DisplayName string            `json:"displayName,omitempty"`
	Skill       string            `json:"skill"`
	Properties  map[string]string `json:"properties,omitempty"`
	Constraints string            `json:"constraints,omitempty"`
	Routes      []RouteSpec       `json:"routes,omitempty"`
}

+kubebuilder:object:generate=true

func (*SkillPackageSpec) DeepCopy

func (in *SkillPackageSpec) DeepCopy() *SkillPackageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SkillPackageSpec.

func (*SkillPackageSpec) DeepCopyInto

func (in *SkillPackageSpec) DeepCopyInto(out *SkillPackageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SkillSpec

type SkillSpec struct {
	DisplayName string            `json:"displayName,omitempty"`
	Parameters  map[string]string `json:"parameters,omitempty"`
	Nodes       []NodeSpec        `json:"nodes"`
	Properties  map[string]string `json:"properties,omitempty"`
	Bindings    []BindingSpec     `json:"bindings,omitempty"`
	Edges       []EdgeSpec        `json:"edges"`
}

+kubebuilder:object:generate=true

func (*SkillSpec) DeepCopy

func (in *SkillSpec) DeepCopy() *SkillSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SkillSpec.

func (*SkillSpec) DeepCopyInto

func (in *SkillSpec) DeepCopyInto(out *SkillSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SkillSpec) DeepEquals

func (c SkillSpec) DeepEquals(other IDeepEquals) (bool, error)

type SkillState

type SkillState struct {
	ObjectMeta ObjectMeta `json:"metadata,omitempty"`
	Spec       *SkillSpec `json:"spec,omitempty"`
}

func (SkillState) DeepEquals

func (c SkillState) DeepEquals(other IDeepEquals) (bool, error)

type SolutionContainerSpec

type SolutionContainerSpec struct {
}

func (SolutionContainerSpec) DeepEquals

func (c SolutionContainerSpec) DeepEquals(other IDeepEquals) (bool, error)

type SolutionContainerState

type SolutionContainerState struct {
	ObjectMeta ObjectMeta               `json:"metadata,omitempty"`
	Spec       *SolutionContainerSpec   `json:"spec,omitempty"`
	Status     *SolutionContainerStatus `json:"status,omitempty"`
}

func (SolutionContainerState) DeepEquals

func (c SolutionContainerState) DeepEquals(other IDeepEquals) (bool, error)

type SolutionContainerStatus

type SolutionContainerStatus struct {
	Properties map[string]string `json:"properties"`
}

type SolutionSpec

type SolutionSpec struct {
	DisplayName  string            `json:"displayName,omitempty"`
	Metadata     map[string]string `json:"metadata,omitempty"`
	Components   []ComponentSpec   `json:"components,omitempty"`
	Version      string            `json:"version,omitempty"`
	RootResource string            `json:"rootResource,omitempty"`
}

func (SolutionSpec) DeepEquals

func (c SolutionSpec) DeepEquals(other IDeepEquals) (bool, error)

type SolutionState

type SolutionState struct {
	ObjectMeta ObjectMeta    `json:"metadata,omitempty"`
	Spec       *SolutionSpec `json:"spec,omitempty"`
}

func (SolutionState) DeepEquals

func (c SolutionState) DeepEquals(other IDeepEquals) (bool, error)

type StageSpec

type StageSpec struct {
	Name          string                 `json:"name,omitempty"`
	Contexts      string                 `json:"contexts,omitempty"`
	Provider      string                 `json:"provider,omitempty"`
	Config        interface{}            `json:"config,omitempty"`
	StageSelector string                 `json:"stageSelector,omitempty"`
	Inputs        map[string]interface{} `json:"inputs,omitempty"`
	HandleErrors  bool                   `json:"handleErrors,omitempty"`
	Schedule      string                 `json:"schedule,omitempty"`
}

func (StageSpec) DeepEquals

func (s StageSpec) DeepEquals(other IDeepEquals) (bool, error)

func (StageSpec) MarshalJSON

func (s StageSpec) MarshalJSON() ([]byte, error)

MarshalJSON customizes the JSON marshalling for StageSpec

func (*StageSpec) UnmarshalJSON

func (s *StageSpec) UnmarshalJSON(data []byte) error

UnmarshalJSON customizes the JSON unmarshalling for StageSpec

type StageStatus

type StageStatus struct {
	Stage         string                 `json:"stage,omitempty"`
	NextStage     string                 `json:"nextStage,omitempty"`
	Inputs        map[string]interface{} `json:"inputs,omitempty"`
	Outputs       map[string]interface{} `json:"outputs,omitempty"`
	Status        v1alpha2.State         `json:"status,omitempty"`
	IsActive      bool                   `json:"isActive,omitempty"`
	StatusMessage string                 `json:"statusMessage,omitempty"`
	ErrorMessage  string                 `json:"errorMessage,omitempty"`
}

type SummaryResult

type SummaryResult struct {
	Summary        SummarySpec  `json:"summary"`
	Generation     string       `json:"generation"`
	Time           time.Time    `json:"time"`
	State          SummaryState `json:"state"`
	DeploymentHash string       `json:"deploymentHash"`
}

func (*SummaryResult) IsDeploymentFinished

func (summary *SummaryResult) IsDeploymentFinished() bool

type SummarySpec

type SummarySpec struct {
	TargetCount         int                         `json:"targetCount"`
	SuccessCount        int                         `json:"successCount"`
	PlannedDeployment   int                         `json:"plannedDeployment"`
	CurrentDeployed     int                         `json:"currentDeployed"`
	TargetResults       map[string]TargetResultSpec `json:"targets,omitempty"`
	SummaryMessage      string                      `json:"message,omitempty"`
	JobID               string                      `json:"jobID,omitempty"`
	Skipped             bool                        `json:"skipped"`
	IsRemoval           bool                        `json:"isRemoval"`
	AllAssignedDeployed bool                        `json:"allAssignedDeployed"`
}

func (*SummarySpec) UpdateTargetResult

func (s *SummarySpec) UpdateTargetResult(target string, spec TargetResultSpec)

type SummaryState

type SummaryState int
const (
	SummaryStatePending SummaryState = iota // Currently unused
	SummaryStateRunning                     // Should indicate that a reconcile operation is in progress
	SummaryStateDone                        // Should indicate that a reconcile operation has completed either successfully or unsuccessfully
)

type SyncPackage

type SyncPackage struct {
	Origin   string             `json:"origin,omitempty"`
	Catalogs []CatalogState     `json:"catalogs,omitempty"`
	Jobs     []v1alpha2.JobData `json:"jobs,omitempty"`
}

type TargetDesc

type TargetDesc struct {
	Name string
	Spec TargetSpec
}

type TargetError

type TargetError struct {
	Code    string           `json:"code,omitempty"`
	Message string           `json:"message,omitempty"`
	Target  string           `json:"target,omitempty"`
	Details []ComponentError `json:"details,omitempty"`
}

Defines an error for symphony target +kubebuilder:object:generate=true

func (*TargetError) DeepCopy

func (in *TargetError) DeepCopy() *TargetError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetError.

func (*TargetError) DeepCopyInto

func (in *TargetError) DeepCopyInto(out *TargetError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetResultSpec

type TargetResultSpec struct {
	Status           string                         `json:"status"`
	Message          string                         `json:"message,omitempty"`
	ComponentResults map[string]ComponentResultSpec `json:"components,omitempty"`
}

type TargetSelector

type TargetSelector struct {
	Name     string            `json:"name,omitempty"`
	Selector map[string]string `json:"selector,omitempty"`
}

TargertRefSpec defines the target the instance will deploy to +kubebuilder:object:generate=true

func (*TargetSelector) DeepCopy

func (in *TargetSelector) DeepCopy() *TargetSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSelector.

func (*TargetSelector) DeepCopyInto

func (in *TargetSelector) DeepCopyInto(out *TargetSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (TargetSelector) DeepEquals

func (c TargetSelector) DeepEquals(other IDeepEquals) (bool, error)

type TargetSpec

type TargetSpec struct {
	DisplayName   string            `json:"displayName,omitempty"`
	Scope         string            `json:"scope,omitempty"`
	Metadata      map[string]string `json:"metadata,omitempty"`
	Properties    map[string]string `json:"properties,omitempty"`
	Components    []ComponentSpec   `json:"components,omitempty"`
	Constraints   string            `json:"constraints,omitempty"`
	Topologies    []TopologySpec    `json:"topologies,omitempty"`
	ForceRedeploy bool              `json:"forceRedeploy,omitempty"`
	IsDryRun      bool              `json:"isDryRun,omitempty"`
}

TargetSpec defines the spec property of the TargetState

func (TargetSpec) DeepEquals

func (c TargetSpec) DeepEquals(other IDeepEquals) (bool, error)

type TargetState

type TargetState struct {
	ObjectMeta ObjectMeta   `json:"metadata,omitempty"`
	Status     TargetStatus `json:"status,omitempty"`
	Spec       *TargetSpec  `json:"spec,omitempty"`
}

TargetState defines the current state of the target

func (TargetState) DeepEquals

func (c TargetState) DeepEquals(other IDeepEquals) (bool, error)

type TargetStatus

type TargetStatus = DeployableStatus

type TopologySpec

type TopologySpec struct {
	Device   string            `json:"device,omitempty"`
	Selector map[string]string `json:"selector,omitempty"`
	Bindings []BindingSpec     `json:"bindings,omitempty"`
}

TopologySpec defines the desired device topology the instance +kubebuilder:object:generate=true

func (*TopologySpec) DeepCopy

func (in *TopologySpec) DeepCopy() *TopologySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySpec.

func (*TopologySpec) DeepCopyInto

func (in *TopologySpec) DeepCopyInto(out *TopologySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (TopologySpec) DeepEquals

func (c TopologySpec) DeepEquals(other IDeepEquals) (bool, error)

type ValidationRule

type ValidationRule struct {
	RequiredComponentType   string                  `json:"requiredType"`
	ComponentValidationRule ComponentValidationRule `json:"componentValidationRule,omitempty"`
	SidecarValidationRule   ComponentValidationRule `json:"sidecarValidationRule,omitempty"`
	// a provider that supports sidecar can deploy sidecar containers with the main container.
	AllowSidecar bool `json:"allowSidecar,omitempty"`
	// a provider that supports scope isolation can deploy to specified scopes other than the "default" scope.
	// instances from different scopes are isolated from each other.
	ScopeIsolation bool `json:"supportScopes,omitempty"`
	// a provider that supports instance isolation can deploy multiple instances on the same target without conflicts.
	InstanceIsolation bool `json:"instanceIsolation,omitempty"`
}

func (ValidationRule) IsComponentChanged

func (v ValidationRule) IsComponentChanged(old ComponentSpec, new ComponentSpec) bool

func (ValidationRule) Validate

func (v ValidationRule) Validate(components []ComponentSpec) error

func (ValidationRule) ValidateInputs

func (v ValidationRule) ValidateInputs(inputs map[string]interface{}) error

type ValueInjections

type ValueInjections struct {
	InstanceId   string
	SolutionId   string
	TargetId     string
	ActivationId string
	CatalogId    string
	CampaignId   string
	DeviceId     string
	SkillId      string
	ModelId      string
	SiteId       string
}

Jump to

Keyboard shortcuts

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