Documentation
¶
Overview ¶
Package v1beta1 contains the input type for this Function +kubebuilder:object:generate=true +groupName=kro.fn.crossplane.io +versionName=v1beta1
Index ¶
Constants ¶
const KRODomainName = "kro.run"
KRODomainName is the base domain name for KRO resources. This constant is used across the codebase for labels, finalizers, etc.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExternalRef ¶
type ExternalRef struct {
// APIVersion is the API version of the external resource.
// +kubebuilder:validation:Required
APIVersion string `json:"apiVersion"`
// Kind is the kind of the external resource.
// +kubebuilder:validation:Required
Kind string `json:"kind"`
// Metadata contains the name and optional namespace of the external resource.
// +kubebuilder:validation:Required
Metadata ExternalRefMetadata `json:"metadata"`
}
ExternalRef is a reference to an external resource that already exists in the cluster. It allows you to read and use existing resources in your ResourceGraph without creating them.
func (*ExternalRef) DeepCopy ¶
func (in *ExternalRef) DeepCopy() *ExternalRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalRef.
func (*ExternalRef) DeepCopyInto ¶
func (in *ExternalRef) DeepCopyInto(out *ExternalRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalRefMetadata ¶
type ExternalRefMetadata struct {
// Name is the name of the external resource to reference.
// +kubebuilder:validation:Required
Name string `json:"name,omitempty"`
// Namespace is the namespace of the external resource.
// If empty, the instance's namespace will be used.
// +kubebuilder:validation:Optional
Namespace string `json:"namespace,omitempty"`
}
ExternalRefMetadata contains metadata for referencing an external resource.
func (*ExternalRefMetadata) DeepCopy ¶
func (in *ExternalRefMetadata) DeepCopy() *ExternalRefMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalRefMetadata.
func (*ExternalRefMetadata) DeepCopyInto ¶
func (in *ExternalRefMetadata) DeepCopyInto(out *ExternalRefMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ForEachDimension ¶
ForEachDimension is a map with exactly one entry where the key is the iterator variable name and the value is a CEL expression that returns a list.
func (ForEachDimension) DeepCopy ¶
func (in ForEachDimension) DeepCopy() ForEachDimension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForEachDimension.
func (ForEachDimension) DeepCopyInto ¶
func (in ForEachDimension) DeepCopyInto(out *ForEachDimension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct {
// ID is a unique identifier for this resource within the ResourceGraph.
// It is used to reference this resource in CEL expressions from other resources.
// +kubebuilder:validation:Required
ID string `json:"id,omitempty"`
// Template is the Kubernetes resource manifest to create.
// It can contain CEL expressions (using ${...} syntax) that reference other resources.
// Exactly one of template or externalRef must be provided.
// +kubebuilder:validation:Optional
Template runtime.RawExtension `json:"template,omitempty"`
// ExternalRef references an existing resource in the cluster instead of creating one.
// This is useful for reading existing resources and using their values in other resources.
// Exactly one of template or externalRef must be provided.
// +kubebuilder:validation:Optional
ExternalRef *ExternalRef `json:"externalRef,omitempty"`
// ReadyWhen is a list of CEL expressions that determine when this resource is considered ready.
// All expressions must evaluate to true for the resource to be ready.
// If not specified, the resource is considered ready when it exists.
// +kubebuilder:validation:Optional
ReadyWhen []string `json:"readyWhen,omitempty"`
// IncludeWhen is a list of CEL expressions that determine whether this resource should be created.
// All expressions must evaluate to true for the resource to be included.
// If not specified, the resource is always included.
// +kubebuilder:validation:Optional
IncludeWhen []string `json:"includeWhen,omitempty"`
// ForEach expands this resource into a collection of resources.
// Each entry is a map with exactly one key-value pair where the key is the
// iterator variable name and the value is a CEL expression returning a list.
// +kubebuilder:validation:Optional
ForEach []ForEachDimension `json:"forEach,omitempty"`
}
Resource represents a Kubernetes resource that is part of the ResourceGraph. Each resource can either be created using a template or reference an existing resource.
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceGraph ¶
type ResourceGraph struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// The status schema of the ResourceGraph using CEL expressions.
// +kubebuilder:validation:Optional
Status runtime.RawExtension `json:"status,omitempty"`
// The resources that are part of the ResourceGraph.
// +kubebuilder:validation:Optional
Resources []*Resource `json:"resources,omitempty"`
}
ResourceGraph can be used to provide input to this Function. +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:categories=crossplane
func (*ResourceGraph) DeepCopy ¶
func (in *ResourceGraph) DeepCopy() *ResourceGraph
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceGraph.
func (*ResourceGraph) DeepCopyInto ¶
func (in *ResourceGraph) DeepCopyInto(out *ResourceGraph)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceGraph) DeepCopyObject ¶
func (in *ResourceGraph) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.