v1alpha1

package
v0.27.2 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2025 License: Apache-2.0 Imports: 6 Imported by: 4

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the API group of version v1alpha1 +kubebuilder:object:generate=true +k8s:openapi-gen=true +groupName=control.kubestellar.io

Index

Constants

View Source
const (
	ValidationErrorKeyPrefix string = "validation-error.kubestellar.io/"

	// BindingPolicyConditionSatisfied means BindingPolicy requirements are satisfied.
	// A BindingPolicy is not satisfied only if the set of selected clusters is empty
	BindingPolicyConditionSatisfied string = "BindingPolicySatisfied"

	// BindingPolicyConditionMisconfigured means BindingPolicy configuration is incorrect.
	BindingPolicyConditionMisconfigured string = "BindingPolicyMisconfigured"
)
View Source
const FilterColumnName = ""

FilterColumnName is the ColumnName value used to report an evaluation error in the filter expression of a StatusCollector.

View Source
const PropertyConfigMapNamespace = "customization-properties"

PropertyConfigMapNamespace is the namespace in the ITS that holds ConfigMap objects that provide WEC properties to be used in customization.

View Source
const TemplateExpansionAnnotationKey string = "control.kubestellar.io/expand-templates"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "control.kubestellar.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: mygroup.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func AreConditionSlicesSame

func AreConditionSlicesSame(c1, c2 []BindingPolicyCondition) bool

areConditionSlicesSame compares two slices of BindingPolicyCondition structs and returns true if they are the same (ignoring order and LastTransitionTime and LastUpdateTime), false otherwise.

func AreConditionsEqual

func AreConditionsEqual(c1, c2 BindingPolicyCondition) bool

areConditionsEqual compares two BindingPolicyCondition structs and returns true if they are equal (excluding LastTransitionTime and LastUpdateTime), false otherwise.

func EnsureCondition

func EnsureCondition(cp *BindingPolicy, newCondition BindingPolicyCondition)

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AggregatorType added in v0.23.0

type AggregatorType string

AggregatorType indicates what sort of aggregation is to be done. The AVG of no values is NaN; for the other types the aggregation of no values is the identity element of the combining operation in `float64`.

const (
	AggregatorTypeCount AggregatorType = "COUNT"
	AggregatorTypeSum   AggregatorType = "SUM"
	AggregatorTypeAvg   AggregatorType = "AVG"
	AggregatorTypeMin   AggregatorType = "MIN"
	AggregatorTypeMax   AggregatorType = "MAX"
)

type Binding

type Binding struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// `spec` explicitly describes a desired binding between workloads and Locations.
	// It reflects the resolution of a BindingPolicy's selectors.
	Spec BindingSpec `json:"spec,omitempty"`

	Status BindingStatus `json:"status,omitempty"`
}

Binding is mapped 1:1 to a single BindingPolicy object. Binding reflects the resolution of the BindingPolicy's selectors, and explicitly reflects which objects should go to what destinations.

+genclient +genclient:nonNamespaced +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,shortName={bdg}

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

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

func (*Binding) DeepCopyInto

func (in *Binding) DeepCopyInto(out *Binding)

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

func (*Binding) DeepCopyObject

func (in *Binding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingList

type BindingList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Binding `json:"items"`
}

BindingList is the API type for a list of Binding

+kubebuilder:object:root=true

func (*BindingList) DeepCopy

func (in *BindingList) DeepCopy() *BindingList

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

func (*BindingList) DeepCopyInto

func (in *BindingList) DeepCopyInto(out *BindingList)

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

func (*BindingList) DeepCopyObject

func (in *BindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingPolicy

type BindingPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BindingPolicySpec   `json:"spec,omitempty"`
	Status BindingPolicyStatus `json:"status,omitempty"`
}

BindingPolicy defines in which ways the workload objects ('what') and the destinations ('where') are bound together. +genclient +genclient:nonNamespaced +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="TYPE",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,shortName={bp}

func (*BindingPolicy) DeepCopy

func (in *BindingPolicy) DeepCopy() *BindingPolicy

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

func (*BindingPolicy) DeepCopyInto

func (in *BindingPolicy) DeepCopyInto(out *BindingPolicy)

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

func (*BindingPolicy) DeepCopyObject

func (in *BindingPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingPolicyCondition

type BindingPolicyCondition struct {
	Type               ConditionType          `json:"type"`
	Status             corev1.ConditionStatus `json:"status"`
	LastTransitionTime metav1.Time            `json:"lastTransitionTime"`
	Reason             ConditionReason        `json:"reason"`
	Message            string                 `json:"message"`
}

BindingPolicyCondition describes the state of a bindingpolicy at a certain point.

func ConditionAvailable

func ConditionAvailable() BindingPolicyCondition

Available returns a condition that indicates the resource is currently observed to be available for use.

func ConditionCreating

func ConditionCreating() BindingPolicyCondition

Creating returns a condition that indicates the cp is currently being created.

func ConditionDeleting

func ConditionDeleting() BindingPolicyCondition

Deleting returns a condition that indicates the cp is currently being deleted.

func ConditionReconcileError

func ConditionReconcileError(err error) BindingPolicyCondition

ReconcileError returns a condition indicating that KubeFlex encountered an error while reconciling the resource.

func ConditionReconcileSuccess

func ConditionReconcileSuccess() BindingPolicyCondition

ReconcileSuccess returns a condition indicating that KubeFlex reconciled the resource

func ConditionUnavailable

func ConditionUnavailable() BindingPolicyCondition

Unavailable returns a condition that indicates the resource is not currently available for use.

func SetCondition

func SetCondition(conditions []BindingPolicyCondition, newCondition BindingPolicyCondition) ([]BindingPolicyCondition, bool)

SetCondition does exactly one of the two things: 1. replacing any existing condition of the same type with newCondition iff necessary; 2. inserting the non-existing condition of the same type with newCondition. SetCondition returns the updated slice of BindingPolicyCondition and a boolean indicating whether there was change to the slice.

func (*BindingPolicyCondition) DeepCopy

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

func (*BindingPolicyCondition) DeepCopyInto

func (in *BindingPolicyCondition) DeepCopyInto(out *BindingPolicyCondition)

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

type BindingPolicyList

type BindingPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BindingPolicy `json:"items"`
}

BindingPolicyList contains a list of BindingPolicies

func (*BindingPolicyList) DeepCopy

func (in *BindingPolicyList) DeepCopy() *BindingPolicyList

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

func (*BindingPolicyList) DeepCopyInto

func (in *BindingPolicyList) DeepCopyInto(out *BindingPolicyList)

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

func (*BindingPolicyList) DeepCopyObject

func (in *BindingPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingPolicySpec

type BindingPolicySpec struct {
	// `clusterSelectors` identifies the relevant Cluster objects in terms of their labels.
	// A Cluster is relevant if and only if it passes any of the LabelSelectors in this field.
	ClusterSelectors []metav1.LabelSelector `json:"clusterSelectors,omitempty"`

	// `downsync` selects the objects to bind with the selected WECs for downsync,
	// and modulates their downsync.
	// An object is selected if it matches at least one member of this list.
	// When multiple DownsyncPolicyClause match the same workload object:
	// the `createOnly` bits are ORed together, and the StatusCollector reference
	// sets are combined by union.
	Downsync []DownsyncPolicyClause `json:"downsync,omitempty"`
}

BindingPolicySpec defines the desired state of BindingPolicy

func (*BindingPolicySpec) DeepCopy

func (in *BindingPolicySpec) DeepCopy() *BindingPolicySpec

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

func (*BindingPolicySpec) DeepCopyInto

func (in *BindingPolicySpec) DeepCopyInto(out *BindingPolicySpec)

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

type BindingPolicyStatus

type BindingPolicyStatus struct {
	// +optional
	Conditions []BindingPolicyCondition `json:"conditions,omitempty"`

	ObservedGeneration int64 `json:"observedGeneration"`

	// +optional
	Errors []string `json:"errors,omitempty"`
}

BindingPolicyStatus defines the observed state of BindingPolicy

func (*BindingPolicyStatus) DeepCopy

func (in *BindingPolicyStatus) DeepCopy() *BindingPolicyStatus

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

func (*BindingPolicyStatus) DeepCopyInto

func (in *BindingPolicyStatus) DeepCopyInto(out *BindingPolicyStatus)

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

type BindingSpec

type BindingSpec struct {
	// `workload` is a collection of namespaced and cluster scoped object references and their associated
	// data - resource versions, create-only bits, and statuscollectors - to be propagated to destination clusters.
	Workload DownsyncObjectClauses `json:"workload,omitempty"`

	// `destinations` is a list of cluster-identifiers that the objects should be propagated to.
	// No duplications are allowed in this list.
	// +listType=map
	// +listMapKey=clusterId
	Destinations []Destination `json:"destinations,omitempty"`
}

BindingSpec holds a list of object references with their associated resource versions, and a list of destinations which are the resolution of a BindingPolicy's `what` and `where`: what objects to propagate and to where. All objects referenced in this spec are propagated to all destinations present.

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.

type BindingStatus added in v0.22.0

type BindingStatus struct {
	// Currently Conditions is by design to be copied to BindingPolicy's Conditions.
	// +optional
	Conditions []BindingPolicyCondition `json:"conditions,omitempty"`

	ObservedGeneration int64    `json:"observedGeneration"`
	Errors             []string `json:"errors,omitempty"`
}

func (*BindingStatus) DeepCopy added in v0.22.0

func (in *BindingStatus) DeepCopy() *BindingStatus

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

func (*BindingStatus) DeepCopyInto added in v0.22.0

func (in *BindingStatus) DeepCopyInto(out *BindingStatus)

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

type ClusterScopeDownsyncClause added in v0.24.0

type ClusterScopeDownsyncClause struct {
	ClusterScopeDownsyncObject `json:",inline"`
	DownsyncModulation         `json:",inline"`
}

ClusterScopeDownsyncClause references a specific cluster-scoped object to downsync, and the downsync modulation to apply.

func (*ClusterScopeDownsyncClause) DeepCopy added in v0.24.0

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

func (*ClusterScopeDownsyncClause) DeepCopyInto added in v0.24.0

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

type ClusterScopeDownsyncObject added in v0.21.0

type ClusterScopeDownsyncObject struct {
	metav1.GroupVersionResource `json:",inline"`
	// `name` of the object to downsync.
	Name string `json:"name"`
	// `resourceVersion` is the version of the resource to downsync.
	ResourceVersion string `json:"resourceVersion"`
}

ClusterScopeDownsyncObject references a specific cluster-scoped object to downsync, identified by its GroupVersionResource and name. The ResourceVersion specifies the exact version of the object to downsync.

func (*ClusterScopeDownsyncObject) DeepCopy added in v0.21.0

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

func (*ClusterScopeDownsyncObject) DeepCopyInto added in v0.21.0

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

type CombinedStatus added in v0.23.0

type CombinedStatus struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// `results` has an entry for every applicable StatusCollector.
	// +optional
	Results []NamedStatusCombination `json:"results,omitempty"`
}

CombinedStatus holds the combined status from the WECs for one particular (workload object, BindingPolicy) pair. The namespace of the CombinedStatus object is the namespace of the workload object, or "kubestellar-report" if the workload object has no namespace. The name of the CombinedStatus object is the concatenation of: - the UID of the workload object - the string "." - the UID of the BindingPolicy object. The CombinedStatus object has the following labels: - "status.kubestellar.io/api-group" holding the API Group (not verison) of the workload object; - "status.kubestellar.io/resource" holding the resource (lowercase plural) of the workload object; - "status.kubestellar.io/namespace" holding the namespace of the workload object; - "status.kubestellar.io/name" holding the name of the workload object; - "status.kubestellar.io/binding-policy" holding the name of the BindingPolicy object.

+genclient +kubebuilder:object:root=true +kubebuilder:resource:shortName={cs} +kubebuilder:printcolumn:name="SUBJECT_GROUP",type="string",JSONPath=".metadata.labels['status\\.kubestellar\\.io/api-group']" +kubebuilder:printcolumn:name="SUBJECT_RSC",type="string",JSONPath=".metadata.labels['status\\.kubestellar\\.io/resource']" +kubebuilder:printcolumn:name="SUBJECT_NS",type="string",JSONPath=".metadata.labels['status\\.kubestellar\\.io/namespace']" +kubebuilder:printcolumn:name="SUBJECT_NAME",type="string",JSONPath=".metadata.labels['status\\.kubestellar\\.io/name']" +kubebuilder:printcolumn:name="BINDINGPOLICY",type="string",JSONPath=".metadata.labels['status\\.kubestellar\\.io/binding-policy']"

func (*CombinedStatus) DeepCopy added in v0.23.0

func (in *CombinedStatus) DeepCopy() *CombinedStatus

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

func (*CombinedStatus) DeepCopyInto added in v0.23.0

func (in *CombinedStatus) DeepCopyInto(out *CombinedStatus)

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

func (*CombinedStatus) DeepCopyObject added in v0.23.0

func (in *CombinedStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CombinedStatusList added in v0.23.0

type CombinedStatusList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CombinedStatus `json:"items"`
}

CombinedStatusList is the API type for a list of CombinedStatus.

+kubebuilder:object:root=true

func (*CombinedStatusList) DeepCopy added in v0.23.0

func (in *CombinedStatusList) DeepCopy() *CombinedStatusList

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

func (*CombinedStatusList) DeepCopyInto added in v0.23.0

func (in *CombinedStatusList) DeepCopyInto(out *CombinedStatusList)

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

func (*CombinedStatusList) DeepCopyObject added in v0.23.0

func (in *CombinedStatusList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ConditionReason

type ConditionReason string
const (
	ReasonAvailable   ConditionReason = "Available"
	ReasonUnavailable ConditionReason = "Unavailable"
	ReasonCreating    ConditionReason = "Creating"
	ReasonDeleting    ConditionReason = "Deleting"
)
const (
	ReasonReconcileSuccess ConditionReason = "ReconcileSuccess"
	ReasonReconcileError   ConditionReason = "ReconcileError"
	ReasonReconcilePaused  ConditionReason = "ReconcilePaused"
)

type ConditionType

type ConditionType string
const (
	TypeReady  ConditionType = "Ready"
	TypeSynced ConditionType = "Synced"
	// TypeStatusCollectorsAvailable indicates whether all required statuscollectors of the bindingpolicy are available.
	TypeStatusCollectorsAvailable ConditionType = "StatusCollectorsAvailable"
)

type CustomTransform added in v0.22.0

type CustomTransform struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CustomTransformSpec   `json:"spec,omitempty"`
	Status CustomTransformStatus `json:"status,omitempty"`
}

CustomTransform describes how to select and transform some objects on their way from WDS to WEC, without regard to the WEC (i.e., not changes that are specific to the individual WEC). The transformation specified here is in addition to, and follows, whatever is built into KubeStellar for that object.

+genclient +genclient:nonNamespaced +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName={ct},categories={all} +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SUBJECT_GROUP",type="string",JSONPath=".spec.apiGroup" +kubebuilder:printcolumn:name="SUBJECT_RESOURCE",type="string",JSONPath=".spec.resource"

func (*CustomTransform) DeepCopy added in v0.22.0

func (in *CustomTransform) DeepCopy() *CustomTransform

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

func (*CustomTransform) DeepCopyInto added in v0.22.0

func (in *CustomTransform) DeepCopyInto(out *CustomTransform)

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

func (*CustomTransform) DeepCopyObject added in v0.22.0

func (in *CustomTransform) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomTransformList added in v0.22.0

type CustomTransformList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CustomTransform `json:"items"`
}

CustomTransformList is the API type for a list of CustomTransform

+kubebuilder:object:root=true

func (*CustomTransformList) DeepCopy added in v0.22.0

func (in *CustomTransformList) DeepCopy() *CustomTransformList

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

func (*CustomTransformList) DeepCopyInto added in v0.22.0

func (in *CustomTransformList) DeepCopyInto(out *CustomTransformList)

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

func (*CustomTransformList) DeepCopyObject added in v0.22.0

func (in *CustomTransformList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CustomTransformSpec added in v0.22.0

type CustomTransformSpec struct {
	// `apiGroup` holds just the group, not also the version
	APIGroup string `json:"apiGroup"`

	// `resource` is the lowercase plural way of identifying a sort of object.
	// "subresources" can not be directly bound to, only whole (top-level) objects.
	Resource string `json:"resource"`

	// `remove` is a list of JSONPath expressions (https://goessner.net/articles/JsonPath/)
	// that identify part of the object to remove if present.
	// Only a subset of JSONPath is supported.
	// The expression used in a filter must be a conjunction of field == literal tests.
	// Examples:
	// - "$.spec.resources.GenericItems[*].generictemplate.metadata.resourceVersion"
	// - "$.store.book[?(@.author == 'Kilgore Trout' && @.category == 'fiction')].price"
	// +optional
	Remove []string `json:"remove,omitempty"`
}

CustomTransformSpec selects some objects and describes how to transform them. The selected objects are those that match the `apiGroup` and `resource` fields.

func (*CustomTransformSpec) DeepCopy added in v0.22.0

func (in *CustomTransformSpec) DeepCopy() *CustomTransformSpec

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

func (*CustomTransformSpec) DeepCopyInto added in v0.22.0

func (in *CustomTransformSpec) DeepCopyInto(out *CustomTransformSpec)

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

type CustomTransformStatus added in v0.22.0

type CustomTransformStatus struct {
	ObservedGeneration int64 `json:"observedGeneration"`

	// +optional
	Errors []string `json:"errors,omitempty"`

	// +optional
	Warnings []string `json:"warnings,omitempty"`
}

func (*CustomTransformStatus) DeepCopy added in v0.22.0

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

func (*CustomTransformStatus) DeepCopyInto added in v0.22.0

func (in *CustomTransformStatus) DeepCopyInto(out *CustomTransformStatus)

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

type Destination

type Destination struct {
	ClusterId string `json:"clusterId"`
}

Destination wraps the identifiers required to uniquely identify a destination cluster.

func (*Destination) DeepCopy

func (in *Destination) DeepCopy() *Destination

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

func (*Destination) DeepCopyInto

func (in *Destination) DeepCopyInto(out *Destination)

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

type DownsyncModulation added in v0.26.0

type DownsyncModulation struct {
	// `createOnly` indicates that in a given WEC, the object is not to be updated
	// if it already exists.
	// +optional
	CreateOnly bool `json:"createOnly,omitempty"`

	// `statusCollectors` is a list of references of StatusCollectors to apply.
	// +optional
	StatusCollectors []string `json:"statusCollectors,omitempty"`

	// WantSingletonReportedState, in short, indicates an expectation
	// that the matching workload objects are distributed to exactly one WEC
	// and requests that the `.status` of such objects propagate from the WEC
	// to the WDS.
	//
	// For a precise description, start with a couple of definitions.
	// For a given workload object, _singleton status return is requested_
	// if and only if there exists at least one BindingPolicy or Binding
	// that has `wantSingletonReportedState==true` in a clause that
	// matches/references the workload object.
	//
	// The _qualified WEC set_ of a workload object is the set of WECs that are
	// associated with that workload object by at least one BindingPolicy or Binding
	// that has `wantSingletonReportedState==true` in a clause that
	// matches/references the workload object.
	//
	// For a given workload object, while singleton status return is requested,
	// KubeStellar maintains a label on the object whose name (key) is
	// `kubestellar.io/executing-count` and whose value is a string representation
	// of the size of the qualified WEC set of that object.
	// While singleton status return is _not_ requested, KubeStellar suppresses
	// the existence of a label with that name (key).
	// While singleton status return is requested _and_ the size of the qualified
	// WEC set is 1, KubeStellar propagates the object's `.status` from that WEC
	// to the `.status` section of the object in the WDS.
	// While either singleton status return is NOT requested or the size of the
	// qualified WEC set is NOT 1, there is nothing in the `.status` of the object
	// in the WDS that was propagated there from a WEC by KubeStellar.
	// +optional
	WantSingletonReportedState bool `json:"wantSingletonReportedState,omitempty"`
}

DownsyncModulation is about variations on downsync behavior.

func (*DownsyncModulation) DeepCopy added in v0.26.0

func (in *DownsyncModulation) DeepCopy() *DownsyncModulation

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

func (*DownsyncModulation) DeepCopyInto added in v0.26.0

func (in *DownsyncModulation) DeepCopyInto(out *DownsyncModulation)

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

type DownsyncObjectClauses added in v0.24.0

type DownsyncObjectClauses struct {
	// `clusterScope` holds a list of references to cluster-scoped objects to downsync and how the
	// downsync is to be modulated.
	// No duplications.
	// +listType=map
	// +listMapKey=group
	// +listMapKey=resource
	// +listMapKey=name
	ClusterScope []ClusterScopeDownsyncClause `json:"clusterScope,omitempty"`

	// `namespaceScope` holds a list of references to namsepace-scoped objects to downsync and how the
	// downsync is to be modulated.
	// No duplications.
	// +listType=map
	// +listMapKey=group
	// +listMapKey=resource
	// +listMapKey=namespace
	// +listMapKey=name
	NamespaceScope []NamespaceScopeDownsyncClause `json:"namespaceScope,omitempty"`
}

DownsyncObjectClauses defines the objects to be down-synced, grouping them by scope. It specifies a set of object references with their associated resource versions, to be downsynced. Each object reference is associated with a set of statuscollectors that should be applied to it.

func (*DownsyncObjectClauses) DeepCopy added in v0.24.0

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

func (*DownsyncObjectClauses) DeepCopyInto added in v0.24.0

func (in *DownsyncObjectClauses) DeepCopyInto(out *DownsyncObjectClauses)

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

type DownsyncObjectTest

type DownsyncObjectTest struct {
	// `apiGroup` is the API group of the referenced object, empty string for the core API group.
	// `nil` matches every API group.
	// +optional
	APIGroup *string `json:"apiGroup"`

	// `resources` is a list of lowercase plural names for the sorts of objects to match.
	// An entry of `"*"` means that all match.
	// If this list contains `"*"` then it should contain nothing else.
	// Empty list is a special case, it matches every object.
	// +optional
	Resources []string `json:"resources,omitempty"`

	// `namespaces` is a list of acceptable names for the object's namespace.
	// An entry of `"*"` means that any namespace is acceptable;
	// this is the only way to match a cluster-scoped object.
	// If this list contains `"*"` then it should contain nothing else.
	// Empty list is a special case, it matches every object.
	// +optional
	Namespaces []string `json:"namespaces,omitempty"`

	// `namespaceSelectors` a list of label selectors.
	// For a namespaced object, at least one of these label selectors has to match
	// the labels of the Namespace object that defines the namespace of the object that this DownsyncObjectTest is testing.
	// For a cluster-scoped object, at least one of these label selectors must be `{}`.
	// Empty list is a special case, it matches every object.
	// +optional
	NamespaceSelectors []metav1.LabelSelector `json:"namespaceSelectors,omitempty"`

	// `objectSelectors` is a list of label selectors.
	// At least one of them must match the labels of the object being tested.
	// Empty list is a special case, it matches every object.
	// +optional
	ObjectSelectors []metav1.LabelSelector `json:"objectSelectors,omitempty"`

	// `objectNames` is a list of object names that match.
	// An entry of `"*"` means that all match.
	// If this list contains `"*"` then it should contain nothing else.
	// Empty list is a special case, it matches every object.
	// +optional
	ObjectNames []string `json:"objectNames,omitempty"`
}

DownsyncObjectTest is a set of criteria that characterize matching objects. An object matches if: - the `apiGroup` criterion is satisfied; - the `resources` criterion is satisfied; - the `namespaces` criterion is satisfied; - the `namespaceSelectors` criterion is satisfied; - the `objectNames` criterion is satisfied; and - the `objectSelectors` criterion is satisfied. At least one of the fields must make some discrimination; it is not valid for every field to match all objects. Validation might not be fully checked by apiservers; if not prevented by the apiserver then violations will be reported in `.status.errors`.

func (*DownsyncObjectTest) DeepCopy

func (in *DownsyncObjectTest) DeepCopy() *DownsyncObjectTest

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

func (*DownsyncObjectTest) DeepCopyInto

func (in *DownsyncObjectTest) DeepCopyInto(out *DownsyncObjectTest)

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

type DownsyncPolicyClause added in v0.24.0

type DownsyncPolicyClause struct {
	DownsyncObjectTest `json:",inline"`
	DownsyncModulation `json:",inline"`
}

DownsyncPolicyClause identifies some objects (by a predicate) and modulates how they are downsynced.

func (*DownsyncPolicyClause) DeepCopy added in v0.24.0

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

func (*DownsyncPolicyClause) DeepCopyInto added in v0.24.0

func (in *DownsyncPolicyClause) DeepCopyInto(out *DownsyncPolicyClause)

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

type ErrorInColumn added in v0.26.0

type ErrorInColumn struct {
	ColumnName string `json:"columnName"`
	Error      string `json:"error"`
}

ErrorInColumn reports an error that is specific to a column.

func (*ErrorInColumn) DeepCopy added in v0.26.0

func (in *ErrorInColumn) DeepCopy() *ErrorInColumn

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

func (*ErrorInColumn) DeepCopyInto added in v0.26.0

func (in *ErrorInColumn) DeepCopyInto(out *ErrorInColumn)

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

type Expression added in v0.23.0

type Expression string

Expression is written in the [Common Expression Language](https://cel.dev/). See github.com/google/cel-go for the Go implementation used in Kubernetes, and https://kubernetes.io/docs/reference/using-api/cel/ about CEL's uses in Kubernetes. The expression will be type-checked against the schema for the object type at hand, using the Kubernetes library code for converting an OpenAPI schema to a CEL type (e.g., https://github.com/kubernetes/apiserver/blob/v0.29.10/pkg/cel/common/schemas.go#L40). Parsing errors are posted to the status.Errors of the StatusCollector. Type checking errors are posted to the status.Errors of the Binding and BindingPolicy.

type ExpressionContext added in v0.24.0

type ExpressionContext struct {
	// `inventory` holds the inventory record for the workload object.
	Inventory InventoryRecord `json:"inventory"`

	// `obj` holds a copy of the workload object as read from the WDS.
	Obj runtime.RawExtension `json:"obj"`

	// `returned` holds the fragment of the workload object that was returned to the core from the WEC.
	Returned ReturnedState `json:"returned"`

	// `propagation` holds data about the current state of the work on propagating
	// the object's state from WDS to WEC and from WEC to WDS.
	Propagation PropagationData `json:"propagation"`
}

ExpressionContext defines what an Expression can reference regarding the workload object.

func (*ExpressionContext) DeepCopy added in v0.24.0

func (in *ExpressionContext) DeepCopy() *ExpressionContext

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

func (*ExpressionContext) DeepCopyInto added in v0.24.0

func (in *ExpressionContext) DeepCopyInto(out *ExpressionContext)

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

type InventoryRecord added in v0.24.0

type InventoryRecord struct {
	// the name of the WEC.
	Name string `json:"name"`
}

InventoryRecord is what appears in the inventory for a given WEC.

func (*InventoryRecord) DeepCopy added in v0.24.0

func (in *InventoryRecord) DeepCopy() *InventoryRecord

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

func (*InventoryRecord) DeepCopyInto added in v0.24.0

func (in *InventoryRecord) DeepCopyInto(out *InventoryRecord)

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

type NamedAggregator added in v0.23.0

type NamedAggregator struct {
	Name string         `json:"name"`
	Type AggregatorType `json:"type"`

	// +optional
	Subject *Expression `json:"subject,omitempty"`
}

NamedAggregator pairs a name with a way to aggregate over some objects.

- For `type=="COUNT"`, `subject` is omitted and the aggregate is the count of those objects that are not `null`.

- For the other types, `subject` is required and SHOULD evaluate to a numeric value; exceptions are handled as follows. For a string value: if it parses as an int64 or float64 then that is used. Otherwise this is an error condition: a value of 0 is used, and the error is reported in the BindingPolicyStatus.Errors (not necessarily repeated for each WEC).

func (*NamedAggregator) DeepCopy added in v0.23.0

func (in *NamedAggregator) DeepCopy() *NamedAggregator

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

func (*NamedAggregator) DeepCopyInto added in v0.23.0

func (in *NamedAggregator) DeepCopyInto(out *NamedAggregator)

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

type NamedExpression added in v0.23.0

type NamedExpression struct {
	Name string     `json:"name"`
	Def  Expression `json:"def"`
}

NamedExpression pairs a name with a way of extracting a value from a JSON object.

func (*NamedExpression) DeepCopy added in v0.23.0

func (in *NamedExpression) DeepCopy() *NamedExpression

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

func (*NamedExpression) DeepCopyInto added in v0.23.0

func (in *NamedExpression) DeepCopyInto(out *NamedExpression)

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

type NamedStatusCombination added in v0.23.0

type NamedStatusCombination struct {
	Name string `json:"name"`

	ColumnNames []string `json:"columnNames"`

	// +optional
	Rows []StatusCombinationRow `json:"rows,omitempty"`

	// RowErrors reports on some of the errors in evaluating expressions in the
	// StatusCollectorSpec. Only a limited number of errors will appear here.
	// For every column for which there is an error, there will be at least one
	// entry here.
	// In the input to aggregation operations, rows with errors are omitted.
	// +optional
	RowErrors []RowEvaluationError `json:"rowErrors,omitempty"`

	// AggregationErrors reports errors from applying aggregation operations.
	// +optional
	AggregationErrors []ErrorInColumn `json:"aggregationErrors,omitempty"`
}

NamedStatusCombination holds the rows that come from evaluating one StatusCollector.

func (*NamedStatusCombination) DeepCopy added in v0.23.0

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

func (*NamedStatusCombination) DeepCopyInto added in v0.23.0

func (in *NamedStatusCombination) DeepCopyInto(out *NamedStatusCombination)

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

type NamespaceScopeDownsyncClause added in v0.24.0

type NamespaceScopeDownsyncClause struct {
	NamespaceScopeDownsyncObject `json:",inline"`
	DownsyncModulation           `json:",inline"`
}

NamespaceScopeDownsyncClause references a specific namespace-scoped object to downsync, and the downsync modulation to apply.

func (*NamespaceScopeDownsyncClause) DeepCopy added in v0.24.0

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

func (*NamespaceScopeDownsyncClause) DeepCopyInto added in v0.24.0

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

type NamespaceScopeDownsyncObject added in v0.21.0

type NamespaceScopeDownsyncObject struct {
	metav1.GroupVersionResource `json:",inline"`
	// `namespace` of the object to downsync.
	Namespace string `json:"namespace"`
	// `name` of the object to downsync.
	Name string `json:"name"`
	// `resourceVersion` is the version of the resource to downsync.
	ResourceVersion string `json:"resourceVersion"`
}

NamespaceScopeDownsyncObject references a specific namespace-scoped object to downsync, identified by its GroupVersionResource, namespace, and name. The ResourceVersion specifies the exact version of the object to downsync.

func (*NamespaceScopeDownsyncObject) DeepCopy added in v0.21.0

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

func (*NamespaceScopeDownsyncObject) DeepCopyInto added in v0.21.0

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

type PropagationData added in v0.25.0

type PropagationData struct {
	// `lastReturnedUpdateTimestamp` is the time of the last update to any
	// of the returned object state in the core.
	// Before the first such update, this is the zero value of `time.Time`.
	LastReturnedUpdateTimestamp metav1.Time `json:"lastReturnedUpdateTimestamp"`
}

func (*PropagationData) DeepCopy added in v0.25.0

func (in *PropagationData) DeepCopy() *PropagationData

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

func (*PropagationData) DeepCopyInto added in v0.25.0

func (in *PropagationData) DeepCopyInto(out *PropagationData)

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

type ReturnedState added in v0.24.0

type ReturnedState struct {
	Status runtime.RawExtension `json:"status"`
}

func (*ReturnedState) DeepCopy added in v0.24.0

func (in *ReturnedState) DeepCopy() *ReturnedState

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

func (*ReturnedState) DeepCopyInto added in v0.24.0

func (in *ReturnedState) DeepCopyInto(out *ReturnedState)

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

type RowEvaluationError added in v0.26.0

type RowEvaluationError struct {
	WEC Destination `json:"wec"`
	// ColumnName is the empty string for the filter expression
	ColumnName string `json:"columnName"`
	Error      string `json:"error"`
}

RowEvaluationError reports an error that is specific to a WEC and a column.

func (*RowEvaluationError) DeepCopy added in v0.26.0

func (in *RowEvaluationError) DeepCopy() *RowEvaluationError

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

func (*RowEvaluationError) DeepCopyInto added in v0.26.0

func (in *RowEvaluationError) DeepCopyInto(out *RowEvaluationError)

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

type StatusCollector added in v0.23.0

type StatusCollector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   StatusCollectorSpec   `json:"spec,omitempty"`
	Status StatusCollectorStatus `json:"status,omitempty"`
}

StatusCollector defines one way to collect status about a given workload object from the set of WECs that it propagates to. This is modeled after an SQL SELECT statement that does aggregation.

+genclient +genclient:nonNamespaced +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,shortName={sc}

func (*StatusCollector) DeepCopy added in v0.23.0

func (in *StatusCollector) DeepCopy() *StatusCollector

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

func (*StatusCollector) DeepCopyInto added in v0.23.0

func (in *StatusCollector) DeepCopyInto(out *StatusCollector)

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

func (*StatusCollector) DeepCopyObject added in v0.23.0

func (in *StatusCollector) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StatusCollectorList added in v0.23.0

type StatusCollectorList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []StatusCollector `json:"items"`
}

StatusCollectorList is the API type for a list of StatusCollector.

+kubebuilder:object:root=true

func (*StatusCollectorList) DeepCopy added in v0.23.0

func (in *StatusCollectorList) DeepCopy() *StatusCollectorList

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

func (*StatusCollectorList) DeepCopyInto added in v0.23.0

func (in *StatusCollectorList) DeepCopyInto(out *StatusCollectorList)

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

func (*StatusCollectorList) DeepCopyObject added in v0.23.0

func (in *StatusCollectorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StatusCollectorSpec added in v0.23.0

type StatusCollectorSpec struct {
	// `filter`, if given, is applied first.
	// It must evaluate to a boolean or null (which is treated as false).
	// This is like the WHERE clause in an SQL SELECT statement.
	// +optional
	Filter *Expression `json:"filter,omitempty"`

	// `groupBy` says how to group workload objects for aggregation (if there is any).
	// Each expression must evaluate to an atomic value.
	// `groupBy` must be empty if `combinedFields` is.
	// +optional
	GroupBy []NamedExpression `json:"groupBy,omitempty"`

	// `combinedFields` defines the aggregations to do, if any.
	// `combinedFields` must be empty if `select` is not.
	// +optional
	CombinedFields []NamedAggregator `json:"combinedFields,omitempty"`

	// `select` defines named values to extract from each object.
	// `select` must be empty when `combinedFields` is not.
	// +optional
	Select []NamedExpression `json:"select,omitempty"`

	// `limit` limits the number of rows returned.
	// The default value is 20.
	Limit int64 `json:"limit"`
}

StatusCollectorSpec defines the desired state of StatusCollector.

func (*StatusCollectorSpec) DeepCopy added in v0.23.0

func (in *StatusCollectorSpec) DeepCopy() *StatusCollectorSpec

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

func (*StatusCollectorSpec) DeepCopyInto added in v0.23.0

func (in *StatusCollectorSpec) DeepCopyInto(out *StatusCollectorSpec)

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

type StatusCollectorStatus added in v0.23.0

type StatusCollectorStatus struct {
	ObservedGeneration int64 `json:"observedGeneration"`

	// +optional
	Errors []string `json:"errors,omitempty"`
}

StatusCollectorStatus defines the observed state of StatusCollector.

func (*StatusCollectorStatus) DeepCopy added in v0.23.0

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

func (*StatusCollectorStatus) DeepCopyInto added in v0.23.0

func (in *StatusCollectorStatus) DeepCopyInto(out *StatusCollectorStatus)

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

type StatusCombinationRow added in v0.23.0

type StatusCombinationRow struct {
	Columns []Value `json:"columns"`
}

func (*StatusCombinationRow) DeepCopy added in v0.23.0

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

func (*StatusCombinationRow) DeepCopyInto added in v0.23.0

func (in *StatusCombinationRow) DeepCopyInto(out *StatusCombinationRow)

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

type Value added in v0.23.0

type Value struct {
	Type ValueType `json:"type"`

	// +optional
	String *string `json:"string,omitempty"`

	// Integer or floating-point, in JavaScript Object Notation.
	// +optional
	Number *string `json:"float,omitempty"`

	// +optional
	Bool *bool `json:"bool,omitempty"`

	// +optional
	Object *v1.JSON `json:"object,omitempty"`

	// +optional
	Array *v1.JSON `json:"array,omitempty"`
}

Value holds a JSON value. This is a union type.

func (*Value) DeepCopy added in v0.23.0

func (in *Value) DeepCopy() *Value

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

func (*Value) DeepCopyInto added in v0.23.0

func (in *Value) DeepCopyInto(out *Value)

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

type ValueType added in v0.23.0

type ValueType string
const (
	TypeString ValueType = "String"
	TypeNumber ValueType = "Number"
	TypeBool   ValueType = "Bool"
	TypeNull   ValueType = "Null"
	TypeObject ValueType = "Object"
	TypeArray  ValueType = "Array"
)

Jump to

Keyboard shortcuts

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