Documentation ¶
Overview ¶
Package v1alpha1 contains meta types used to invoke Composition Functions. +kubebuilder:object:generate=true +groupName=fn.apiextensions.crossplane.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type ConnectionDetailType
- type DerivedConnectionDetail
- type Desired
- type DesiredComposite
- type DesiredReadinessCheck
- type DesiredResource
- type ExplicitConnectionDetail
- type FunctionIO
- type MatchConditionReadinessCheck
- type Observed
- type ObservedComposite
- type ObservedResource
- type ReadinessCheckType
- type Result
- type Severity
Constants ¶
const ( Group = "fn.apiextensions.crossplane.io" Version = "v1alpha1" )
Function type metadata.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds all registered types to scheme AddToScheme = SchemeBuilder.AddToScheme )
var ( FunctionIOKind = reflect.TypeOf(FunctionIO{}).Name() FunctionIOGroupKind = schema.GroupKind{Group: Group, Kind: FunctionIOKind}.String() FunctionIOKindAPIVersion = FunctionIOKind + "." + SchemeGroupVersion.String() FunctionIOGroupVersionKind = SchemeGroupVersion.WithKind(FunctionIOKind) )
ResourceList type metadata.
Functions ¶
This section is empty.
Types ¶
type ConnectionDetailType ¶
type ConnectionDetailType string
A ConnectionDetailType is a type of connection detail.
const ( ConnectionDetailTypeUnknown ConnectionDetailType = "Unknown" ConnectionDetailTypeFromConnectionSecretKey ConnectionDetailType = "FromConnectionSecretKey" ConnectionDetailTypeFromFieldPath ConnectionDetailType = "FromFieldPath" ConnectionDetailTypeFromValue ConnectionDetailType = "FromValue" )
ConnectionDetailType types.
type DerivedConnectionDetail ¶
type DerivedConnectionDetail struct { // Name of the connection detail that will be propagated to the // connection secret of the XR. Can be omitted for FromConnectionDetailKey, // in which case it will default to that key. // +optional Name *string `json:"name,omitempty"` // Type sets the connection detail fetching behaviour to be used. Each // connection detail type may require its own fields to be set on the // ConnectionDetail object. // +kubebuilder:validation:Enum=FromConnectionDetailKey;FromFieldPath;FromValue Type ConnectionDetailType `json:"type"` // FromConnectionDetailKey sets an XR connection detail to the value of the // supplied connection detail of the composed resource. // +optional FromConnectionSecretKey *string `json:"fromConnectionSecretKey,omitempty"` // FromFieldPath sets an XR connection detail to the value at the supplied // fieldpath within the composed resource. // +optional FromFieldPath *string `json:"fromFieldPath,omitempty"` // Value that will be propagated to the connection detail of the XR. // +optional Value *string `json:"value,omitempty"` }
A DerivedConnectionDetail specifies how to derive an XR connection detail from a composed resource.
func (*DerivedConnectionDetail) DeepCopy ¶
func (in *DerivedConnectionDetail) DeepCopy() *DerivedConnectionDetail
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DerivedConnectionDetail.
func (*DerivedConnectionDetail) DeepCopyInto ¶
func (in *DerivedConnectionDetail) DeepCopyInto(out *DerivedConnectionDetail)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Desired ¶
type Desired struct { // Composite reflects the desired state of the XR this function reconciles. Composite DesiredComposite `json:"composite"` // Resources reflect the desired state of composed resources, including // those that do not yet exist. // +optional Resources []DesiredResource `json:"resources,omitempty"` }
Desired state of a function pipeline invocation.
func (*Desired) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Desired.
func (*Desired) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DesiredComposite ¶
type DesiredComposite struct { // Resource reflects the desired XR. Functions may update the metadata, // spec, and status of an XR. // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Resource runtime.RawExtension `json:"resource"` // ConnectionDetails reflects the desired connection details of the XR. // +optional ConnectionDetails []ExplicitConnectionDetail `json:"connectionDetails"` }
A DesiredComposite resource.
func (*DesiredComposite) DeepCopy ¶
func (in *DesiredComposite) DeepCopy() *DesiredComposite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredComposite.
func (*DesiredComposite) DeepCopyInto ¶
func (in *DesiredComposite) DeepCopyInto(out *DesiredComposite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DesiredReadinessCheck ¶
type DesiredReadinessCheck struct { // Type indicates the type of probe you'd like to use. // +kubebuilder:validation:Enum="MatchString";"MatchInteger";"NonEmpty";"MatchCondition";"None" Type ReadinessCheckType `json:"type"` // FieldPath shows the path of the field whose value will be used. // +optional FieldPath *string `json:"fieldPath,omitempty"` // MatchString is the value you'd like to match if you're using // "MatchString" type. // +optional MatchString *string `json:"matchString,omitempty"` // MatchInt is the value you'd like to match if you're using "MatchInt" // type. // +optional MatchInteger *int64 `json:"matchInteger,omitempty"` // MatchCondition specifies the condition you'd like to match if you're using "MatchCondition" type. // +optional MatchCondition *MatchConditionReadinessCheck `json:"matchCondition,omitempty"` }
A DesiredReadinessCheck is used to indicate how to tell whether a resource is ready for consumption
func (*DesiredReadinessCheck) DeepCopy ¶
func (in *DesiredReadinessCheck) DeepCopy() *DesiredReadinessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredReadinessCheck.
func (*DesiredReadinessCheck) DeepCopyInto ¶
func (in *DesiredReadinessCheck) DeepCopyInto(out *DesiredReadinessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DesiredResource ¶
type DesiredResource struct { // Name of the desired resource. Must be unique within the array of // desired resources. Corresponds to the name entry in a Composition's // resources array, and the name entry in the observed resources array. Name string `json:"name"` // Resource reflects the desired composed resource. Functions may update the // metadata and spec of a composed resource. Updates to status will be // discarded. // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Resource runtime.RawExtension `json:"resource"` // ConnectionDetails reflects _XR_ connection details that should be derived // from this composed resource. // +optional ConnectionDetails []DerivedConnectionDetail `json:"connectionDetails,omitempty"` // ReadinessChecks configures how this composed resource will be determined // to be ready. // +optional ReadinessChecks []DesiredReadinessCheck `json:"readinessChecks,omitempty"` }
A DesiredResource represents a desired composed resource.
func (*DesiredResource) DeepCopy ¶
func (in *DesiredResource) DeepCopy() *DesiredResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredResource.
func (*DesiredResource) DeepCopyInto ¶
func (in *DesiredResource) DeepCopyInto(out *DesiredResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExplicitConnectionDetail ¶
type ExplicitConnectionDetail struct { // Name of the connection detail. Name string `json:"name"` // Value of the connection detail. Value string `json:"value"` }
An ExplicitConnectionDetail is a simple map of name (key) to value.
func (*ExplicitConnectionDetail) DeepCopy ¶
func (in *ExplicitConnectionDetail) DeepCopy() *ExplicitConnectionDetail
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplicitConnectionDetail.
func (*ExplicitConnectionDetail) DeepCopyInto ¶
func (in *ExplicitConnectionDetail) DeepCopyInto(out *ExplicitConnectionDetail)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FunctionIO ¶
type FunctionIO struct { metav1.TypeMeta `json:",inline"` // Config is an opaque Kubernetes object containing optional function // configuration. // +optional // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Config *runtime.RawExtension `json:"config,omitempty"` // Observed state prior to the invocation of a function pipeline. Functions // must not mutate this state - any attempts to do so will be ignored. State // passed to each function is fresh as of the time the function pipeline was // invoked, not as of the time each function was invoked. Observed Observed `json:"observed"` // Desired state according to a function pipeline. The state passed to a // particular function may have been mutated by previous functions in the // pipeline. Functions may mutate any part of the desired state they are // concerned with, and must pass through any part of the desired state that // they are not concerned with. Desired Desired `json:"desired"` // Results is an optional list that can be used by function to emit results // for observability and debugging purposes. Functions may mutate any // results that they are concerned with, and must pass through any results // that that are not concerned with. // +optional Results []Result `json:"results,omitempty"` }
A FunctionIO represents the I/O of an Composition Function.
func (*FunctionIO) DeepCopy ¶
func (in *FunctionIO) DeepCopy() *FunctionIO
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIO.
func (*FunctionIO) DeepCopyInto ¶
func (in *FunctionIO) DeepCopyInto(out *FunctionIO)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FunctionIO) DeepCopyObject ¶
func (in *FunctionIO) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MatchConditionReadinessCheck ¶
type MatchConditionReadinessCheck struct { // Type indicates the type of condition you'd like to use. // +kubebuilder:default="Ready" Type xpv1.ConditionType `json:"type"` // Status is the status of the condition you'd like to match. // +kubebuilder:default="True" Status corev1.ConditionStatus `json:"status"` }
MatchConditionReadinessCheck is used to indicate how to tell whether a resource is ready for consumption
func (*MatchConditionReadinessCheck) DeepCopy ¶
func (in *MatchConditionReadinessCheck) DeepCopy() *MatchConditionReadinessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchConditionReadinessCheck.
func (*MatchConditionReadinessCheck) DeepCopyInto ¶
func (in *MatchConditionReadinessCheck) DeepCopyInto(out *MatchConditionReadinessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Observed ¶
type Observed struct { // Composite reflects the observed state of the XR this function reconciles. Composite ObservedComposite `json:"composite"` // Resources reflect the observed state of any extant composed resources // this function reconciles. Only composed resources that currently exist in // the API server (i.e. have been created and not yet deleted) are included. // +optional Resources []ObservedResource `json:"resources,omitempty"` }
Observed state at the beginning of a function pipeline invocation.
func (*Observed) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Observed.
func (*Observed) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservedComposite ¶
type ObservedComposite struct { // Resource reflects the observed XR. // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Resource runtime.RawExtension `json:"resource"` // ConnectionDetails reflects the observed connection details of the XR. // +optional ConnectionDetails []ExplicitConnectionDetail `json:"connectionDetails,omitempty"` }
An ObservedComposite resource.
func (*ObservedComposite) DeepCopy ¶
func (in *ObservedComposite) DeepCopy() *ObservedComposite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservedComposite.
func (*ObservedComposite) DeepCopyInto ¶
func (in *ObservedComposite) DeepCopyInto(out *ObservedComposite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservedResource ¶
type ObservedResource struct { // Name of the observed resource. Must be unique within the array of // observed resources. Corresponds to the name entry in a Composition's // resources array, and the name entry in the desired resources array. Name string `json:"name"` // Resource reflects the observed composed resource. // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Resource runtime.RawExtension `json:"resource"` // ConnectionDetails reflects the observed connection details of the // composed resource. ConnectionDetails []ExplicitConnectionDetail `json:"connectionDetails"` }
An ObservedResource represents an observed composed resource.
func (*ObservedResource) DeepCopy ¶
func (in *ObservedResource) DeepCopy() *ObservedResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservedResource.
func (*ObservedResource) DeepCopyInto ¶
func (in *ObservedResource) DeepCopyInto(out *ObservedResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadinessCheckType ¶
type ReadinessCheckType string
ReadinessCheckType is used for readiness check types.
const ( ReadinessCheckTypeNonEmpty ReadinessCheckType = "NonEmpty" ReadinessCheckTypeMatchString ReadinessCheckType = "MatchString" ReadinessCheckTypeMatchInteger ReadinessCheckType = "MatchInteger" ReadinessCheckTypeMatchCondition ReadinessCheckType = "MatchCondition" ReadinessCheckTypeNone ReadinessCheckType = "None" )
The possible values for readiness check type.
type Result ¶
type Result struct { // Severity is the severity of a result. // // Fatal results are fatal; subsequent Composition Functions may run, but // the Composition Function pipeline run will be considered a failure and // the first error will be returned. // // Warning results are non-fatal; the entire Composition will run to // completion but warning events and debug logs associated with the // composite resource will be emitted. // // Normal results are emitted as normal events and debug logs associated // with the composite resource. // +kubebuilder:validation:Enum=Fatal;Warning;Normal Severity Severity `json:"severity"` // Message is a human readable message. Message string `json:"message"` }
Result is an optional list that can be used by function to emit results for observability and debugging purposes.
func (*Result) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Result.
func (*Result) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.