Documentation ¶
Overview ¶
Package v1 contains API types that extend the Crossplane API. +kubebuilder:object:generate=true +groupName=apiextensions.crossplane.io +versionName=v1
Index ¶
- Constants
- Variables
- func ConvertRawExtension(in runtime.RawExtension) runtime.RawExtension
- func ConvertResourceQuantity(in *resource.Quantity) *resource.Quantity
- func TerminatingClaim() xpv1.Condition
- func TerminatingComposite() xpv1.Condition
- func WatchingClaim() xpv1.Condition
- func WatchingComposite() xpv1.Condition
- type Combine
- type CombineStrategy
- type CombineVariable
- type ComposedTemplate
- type CompositeResourceDefinition
- func (in *CompositeResourceDefinition) DeepCopy() *CompositeResourceDefinition
- func (in *CompositeResourceDefinition) DeepCopyInto(out *CompositeResourceDefinition)
- func (in *CompositeResourceDefinition) DeepCopyObject() runtime.Object
- func (in CompositeResourceDefinition) GetClaimGroupVersionKind() schema.GroupVersionKind
- func (in CompositeResourceDefinition) GetCompositeGroupVersionKind() schema.GroupVersionKind
- func (in *CompositeResourceDefinition) GetConnectionSecretKeys() []string
- func (in CompositeResourceDefinition) OffersClaim() bool
- func (c *CompositeResourceDefinition) Validate() (warns []string, errs field.ErrorList)
- func (c *CompositeResourceDefinition) ValidateUpdate(old *CompositeResourceDefinition) (warns []string, errs field.ErrorList)
- type CompositeResourceDefinitionControllerStatus
- type CompositeResourceDefinitionList
- type CompositeResourceDefinitionSpec
- type CompositeResourceDefinitionSpecMetadata
- type CompositeResourceDefinitionStatus
- type CompositeResourceDefinitionVersion
- type CompositeResourceValidation
- type Composition
- func (in *Composition) DeepCopy() *Composition
- func (in *Composition) DeepCopyInto(out *Composition)
- func (in *Composition) DeepCopyObject() runtime.Object
- func (in *Composition) GetSchemaAwareValidationMode() (CompositionValidationMode, error)
- func (c Composition) Hash() string
- func (c *Composition) Validate() (warns []string, errs field.ErrorList)
- type CompositionList
- type CompositionMode
- type CompositionReference
- type CompositionRevision
- type CompositionRevisionList
- type CompositionRevisionSpec
- type CompositionRevisionStatus
- type CompositionSpec
- type CompositionValidationMode
- type ConnectionDetail
- type ConnectionDetailType
- type ConvertTransform
- type ConvertTransformFormat
- type EnvironmentConfiguration
- func (in *EnvironmentConfiguration) DeepCopy() *EnvironmentConfiguration
- func (in *EnvironmentConfiguration) DeepCopyInto(out *EnvironmentConfiguration)
- func (e *EnvironmentConfiguration) IsRequired() bool
- func (e *EnvironmentConfiguration) ShouldResolve(currentRefs []corev1.ObjectReference) bool
- func (e *EnvironmentConfiguration) Validate() field.ErrorList
- type EnvironmentPatch
- type EnvironmentSource
- type EnvironmentSourceReference
- type EnvironmentSourceSelector
- type EnvironmentSourceSelectorLabelMatcher
- func (in *EnvironmentSourceSelectorLabelMatcher) DeepCopy() *EnvironmentSourceSelectorLabelMatcher
- func (in *EnvironmentSourceSelectorLabelMatcher) DeepCopyInto(out *EnvironmentSourceSelectorLabelMatcher)
- func (e *EnvironmentSourceSelectorLabelMatcher) FromFieldPathIsOptional() bool
- func (e *EnvironmentSourceSelectorLabelMatcher) GetType() EnvironmentSourceSelectorLabelMatcherType
- func (e *EnvironmentSourceSelectorLabelMatcher) Validate() *field.Error
- type EnvironmentSourceSelectorLabelMatcherType
- type EnvironmentSourceSelectorModeType
- type EnvironmentSourceType
- type FromFieldPathPolicy
- type FunctionReference
- type GeneratedRevisionSpecConverter
- func (in *GeneratedRevisionSpecConverter) DeepCopy() *GeneratedRevisionSpecConverter
- func (in *GeneratedRevisionSpecConverter) DeepCopyInto(out *GeneratedRevisionSpecConverter)
- func (c *GeneratedRevisionSpecConverter) FromRevisionSpec(source CompositionRevisionSpec) CompositionSpec
- func (c *GeneratedRevisionSpecConverter) ToRevisionSpec(source CompositionSpec) CompositionRevisionSpec
- type MapTransform
- type MatchConditionReadinessCheck
- type MatchFallbackTo
- type MatchTransform
- type MatchTransformPattern
- type MatchTransformPatternType
- type MathTransform
- type MathTransformType
- type Patch
- type PatchPolicy
- type PatchSet
- type PatchType
- type PipelineStep
- type ReadinessCheck
- type ReadinessCheckType
- type RevisionSpecConverter
- type StoreConfigReference
- type StringCombine
- type StringConversionType
- type StringTransform
- type StringTransformRegexp
- type StringTransformType
- type Transform
- type TransformIOType
- type TransformType
- type TypeReference
Constants ¶
const ( // LabelCompositionName is the name of the Composition used to create // this CompositionRevision. LabelCompositionName = "crossplane.io/composition-name" // LabelCompositionHash is a hash of the Composition label, annotation // and spec used to create this CompositionRevision. Used to identify // identical revisions. LabelCompositionHash = "crossplane.io/composition-hash" )
const ( // CompositionValidatingWebhookPath is the path for the Composition's validating webhook, should be kept in sync with the annotation above. CompositionValidatingWebhookPath = "/validate-apiextensions-crossplane-io-v1-composition" // SchemaAwareCompositionValidationModeAnnotation is the annotation that can be used to specify the schema-aware validation mode for a Composition. SchemaAwareCompositionValidationModeAnnotation = "crossplane.io/composition-schema-aware-validation-mode" )
const ( // A TypeEstablished XRD has created the CRD for its composite resource and // started a controller to reconcile instances of said resource. TypeEstablished xpv1.ConditionType = "Established" // A TypeOffered XRD has created the CRD for its composite resource claim // and started a controller to reconcile instances of said claim. TypeOffered xpv1.ConditionType = "Offered" )
Condition types.
const ( ReasonWatchingComposite xpv1.ConditionReason = "WatchingCompositeResource" ReasonWatchingClaim xpv1.ConditionReason = "WatchingCompositeResourceClaim" ReasonTerminatingComposite xpv1.ConditionReason = "TerminatingCompositeResource" ReasonTerminatingClaim xpv1.ConditionReason = "TerminatingCompositeResourceClaim" )
Reasons a resource is or is not established or offered.
const ( Group = "apiextensions.crossplane.io" Version = "v1" )
Package 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 ( CompositeResourceDefinitionKind = reflect.TypeOf(CompositeResourceDefinition{}).Name() CompositeResourceDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: CompositeResourceDefinitionKind}.String() CompositeResourceDefinitionKindAPIVersion = CompositeResourceDefinitionKind + "." + SchemeGroupVersion.String() CompositeResourceDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(CompositeResourceDefinitionKind) )
CompositeResourceDefinition type metadata.
var ( CompositionKind = reflect.TypeOf(Composition{}).Name() CompositionGroupKind = schema.GroupKind{Group: Group, Kind: CompositionKind}.String() CompositionKindAPIVersion = CompositionKind + "." + SchemeGroupVersion.String() CompositionGroupVersionKind = SchemeGroupVersion.WithKind(CompositionKind) )
Composition type metadata.
var ( CompositionRevisionKind = reflect.TypeOf(CompositionRevision{}).Name() CompositionRevisionGroupKind = schema.GroupKind{Group: Group, Kind: CompositionRevisionKind}.String() CompositionRevisionKindAPIVersion = CompositionRevisionKind + "." + SchemeGroupVersion.String() CompositionRevisionGroupVersionKind = SchemeGroupVersion.WithKind(CompositionRevisionKind) )
CompositionRevision type metadata.
Functions ¶
func ConvertRawExtension ¶ added in v1.11.0
func ConvertRawExtension(in runtime.RawExtension) runtime.RawExtension
ConvertRawExtension 'converts' a RawExtension by producing a deepcopy. This is necessary because goverter can't convert an embedded runtime.Object.
func ConvertResourceQuantity ¶ added in v1.11.0
ConvertResourceQuantity 'converts' a Quantity by producing a deepcopy. This is necessary because goverter can't convert a Quantity's unexported fields.
func TerminatingClaim ¶
TerminatingClaim indicates that Crossplane is terminating the controller and removing the definition of a composite resource claim.
func TerminatingComposite ¶
TerminatingComposite indicates that Crossplane is terminating the controller for and removing the definition of a composite resource.
func WatchingClaim ¶
WatchingClaim indicates that Crossplane has defined and is watching for a new kind of composite resource claim.
func WatchingComposite ¶
WatchingComposite indicates that Crossplane has defined and is watching for a new kind of composite resource.
Types ¶
type Combine ¶ added in v1.3.0
type Combine struct { // Variables are the list of variables whose values will be retrieved and // combined. // +kubebuilder:validation:MinItems=1 Variables []CombineVariable `json:"variables"` // Strategy defines the strategy to use to combine the input variable values. // Currently only string is supported. // +kubebuilder:validation:Enum=string Strategy CombineStrategy `json:"strategy"` // String declares that input variables should be combined into a single // string, using the relevant settings for formatting purposes. // +optional String *StringCombine `json:"string,omitempty"` }
A Combine configures a patch that combines more than one input field into a single output field.
func (*Combine) DeepCopy ¶ added in v1.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Combine.
func (*Combine) DeepCopyInto ¶ added in v1.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CombineStrategy ¶ added in v1.3.0
type CombineStrategy string
A CombineStrategy determines what strategy will be applied to combine variables.
const (
CombineStrategyString CombineStrategy = "string"
)
CombineStrategy strategy definitions.
type CombineVariable ¶ added in v1.3.0
type CombineVariable struct { // FromFieldPath is the path of the field on the source whose value is // to be used as input. FromFieldPath string `json:"fromFieldPath"` }
A CombineVariable defines the source of a value that is combined with others to form and patch an output value. Currently, this only supports retrieving values from a field path.
func (*CombineVariable) DeepCopy ¶ added in v1.3.0
func (in *CombineVariable) DeepCopy() *CombineVariable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CombineVariable.
func (*CombineVariable) DeepCopyInto ¶ added in v1.3.0
func (in *CombineVariable) DeepCopyInto(out *CombineVariable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComposedTemplate ¶
type ComposedTemplate struct { // A Name uniquely identifies this entry within its Composition's resources // array. Names are optional but *strongly* recommended. When all entries in // the resources array are named entries may added, deleted, and reordered // as long as their names do not change. When entries are not named the // length and order of the resources array should be treated as immutable. // Either all or no entries must be named. // +optional Name *string `json:"name,omitempty"` // Base is the target resource that the patches will be applied on. // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource Base runtime.RawExtension `json:"base"` // Patches will be applied as overlay to the base resource. // +optional Patches []Patch `json:"patches,omitempty"` // ConnectionDetails lists the propagation secret keys from this target // resource to the composition instance connection secret. // +optional ConnectionDetails []ConnectionDetail `json:"connectionDetails,omitempty"` // ReadinessChecks allows users to define custom readiness checks. All checks // have to return true in order for resource to be considered ready. The // default readiness check is to have the "Ready" condition to be "True". // +optional // +kubebuilder:default={{type:"MatchCondition",matchCondition:{type:"Ready",status:"True"}}} ReadinessChecks []ReadinessCheck `json:"readinessChecks,omitempty"` }
ComposedTemplate is used to provide information about how the composed resource should be processed.
func (*ComposedTemplate) DeepCopy ¶
func (in *ComposedTemplate) DeepCopy() *ComposedTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComposedTemplate.
func (*ComposedTemplate) DeepCopyInto ¶
func (in *ComposedTemplate) DeepCopyInto(out *ComposedTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComposedTemplate) GetName ¶ added in v1.12.0
func (ct *ComposedTemplate) GetName() string
GetName returns the name of the composed template or an empty string if it is nil.
type CompositeResourceDefinition ¶
type CompositeResourceDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CompositeResourceDefinitionSpec `json:"spec,omitempty"` Status CompositeResourceDefinitionStatus `json:"status,omitempty"` }
A CompositeResourceDefinition defines a new kind of composite infrastructure resource. The new resource is composed of other composite or managed infrastructure resources. +kubebuilder:printcolumn:name="ESTABLISHED",type="string",JSONPath=".status.conditions[?(@.type=='Established')].status" +kubebuilder:printcolumn:name="OFFERED",type="string",JSONPath=".status.conditions[?(@.type=='Offered')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=crossplane,shortName=xrd;xrds
func (*CompositeResourceDefinition) DeepCopy ¶
func (in *CompositeResourceDefinition) DeepCopy() *CompositeResourceDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinition.
func (*CompositeResourceDefinition) DeepCopyInto ¶
func (in *CompositeResourceDefinition) DeepCopyInto(out *CompositeResourceDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositeResourceDefinition) DeepCopyObject ¶
func (in *CompositeResourceDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (CompositeResourceDefinition) GetClaimGroupVersionKind ¶
func (in CompositeResourceDefinition) GetClaimGroupVersionKind() schema.GroupVersionKind
GetClaimGroupVersionKind returns the schema.GroupVersionKind of the CRD for the composite resource claim this CompositeResourceDefinition defines. An empty GroupVersionKind is returned if the CompositeResourceDefinition does not offer a claim.
func (CompositeResourceDefinition) GetCompositeGroupVersionKind ¶
func (in CompositeResourceDefinition) GetCompositeGroupVersionKind() schema.GroupVersionKind
GetCompositeGroupVersionKind returns the schema.GroupVersionKind of the CRD for the composite resource this CompositeResourceDefinition defines.
func (*CompositeResourceDefinition) GetConnectionSecretKeys ¶
func (in *CompositeResourceDefinition) GetConnectionSecretKeys() []string
GetConnectionSecretKeys returns the set of allowed keys to filter the connection secret.
func (CompositeResourceDefinition) OffersClaim ¶
func (in CompositeResourceDefinition) OffersClaim() bool
OffersClaim is true when a CompositeResourceDefinition offers a claim for the composite resource it defines.
func (*CompositeResourceDefinition) Validate ¶ added in v1.14.0
func (c *CompositeResourceDefinition) Validate() (warns []string, errs field.ErrorList)
Validate checks that the supplied CompositeResourceDefinition spec is logically valid.
func (*CompositeResourceDefinition) ValidateUpdate ¶ added in v1.7.0
func (c *CompositeResourceDefinition) ValidateUpdate(old *CompositeResourceDefinition) (warns []string, errs field.ErrorList)
ValidateUpdate checks that the supplied CompositeResourceDefinition update is valid w.r.t. the old one.
type CompositeResourceDefinitionControllerStatus ¶
type CompositeResourceDefinitionControllerStatus struct { // The CompositeResourceTypeRef is the type of composite resource that // Crossplane is currently reconciling for this definition. Its version will // eventually become consistent with the definition's referenceable version. // Note that clients may interact with any served type; this is simply the // type that Crossplane interacts with. CompositeResourceTypeRef TypeReference `json:"compositeResourceType,omitempty"` // The CompositeResourceClaimTypeRef is the type of composite resource claim // that Crossplane is currently reconciling for this definition. Its version // will eventually become consistent with the definition's referenceable // version. Note that clients may interact with any served type; this is // simply the type that Crossplane interacts with. CompositeResourceClaimTypeRef TypeReference `json:"compositeResourceClaimType,omitempty"` }
CompositeResourceDefinitionControllerStatus shows the observed state of the controllers that power the definition.
func (*CompositeResourceDefinitionControllerStatus) DeepCopy ¶
func (in *CompositeResourceDefinitionControllerStatus) DeepCopy() *CompositeResourceDefinitionControllerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionControllerStatus.
func (*CompositeResourceDefinitionControllerStatus) DeepCopyInto ¶
func (in *CompositeResourceDefinitionControllerStatus) DeepCopyInto(out *CompositeResourceDefinitionControllerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeResourceDefinitionList ¶
type CompositeResourceDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CompositeResourceDefinition `json:"items"` }
CompositeResourceDefinitionList contains a list of CompositeResourceDefinitions.
func (*CompositeResourceDefinitionList) DeepCopy ¶
func (in *CompositeResourceDefinitionList) DeepCopy() *CompositeResourceDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionList.
func (*CompositeResourceDefinitionList) DeepCopyInto ¶
func (in *CompositeResourceDefinitionList) DeepCopyInto(out *CompositeResourceDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositeResourceDefinitionList) DeepCopyObject ¶
func (in *CompositeResourceDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CompositeResourceDefinitionSpec ¶
type CompositeResourceDefinitionSpec struct { // Group specifies the API group of the defined composite resource. // Composite resources are served under `/apis/<group>/...`. Must match the // name of the XRD (in the form `<names.plural>.<group>`). // +immutable Group string `json:"group"` // Names specifies the resource and kind names of the defined composite // resource. // +immutable Names extv1.CustomResourceDefinitionNames `json:"names"` // ClaimNames specifies the names of an optional composite resource claim. // When claim names are specified Crossplane will create a namespaced // 'composite resource claim' CRD that corresponds to the defined composite // resource. This composite resource claim acts as a namespaced proxy for // the composite resource; creating, updating, or deleting the claim will // create, update, or delete a corresponding composite resource. You may add // claim names to an existing CompositeResourceDefinition, but they cannot // be changed or removed once they have been set. // +immutable // +optional ClaimNames *extv1.CustomResourceDefinitionNames `json:"claimNames,omitempty"` // ConnectionSecretKeys is the list of keys that will be exposed to the end // user of the defined kind. // If the list is empty, all keys will be published. // +optional ConnectionSecretKeys []string `json:"connectionSecretKeys,omitempty"` // DefaultCompositeDeletePolicy is the policy used when deleting the Composite // that is associated with the Claim if no policy has been specified. // +optional // +kubebuilder:default=Background DefaultCompositeDeletePolicy *xpv1.CompositeDeletePolicy `json:"defaultCompositeDeletePolicy,omitempty"` // DefaultCompositionRef refers to the Composition resource that will be used // in case no composition selector is given. // +optional DefaultCompositionRef *CompositionReference `json:"defaultCompositionRef,omitempty"` // EnforcedCompositionRef refers to the Composition resource that will be used // by all composite instances whose schema is defined by this definition. // +optional // +immutable EnforcedCompositionRef *CompositionReference `json:"enforcedCompositionRef,omitempty"` // DefaultCompositionUpdatePolicy is the policy used when updating composites after a new // Composition Revision has been created if no policy has been specified on the composite. // +optional // +kubebuilder:default=Automatic DefaultCompositionUpdatePolicy *xpv1.UpdatePolicy `json:"defaultCompositionUpdatePolicy,omitempty"` // Versions is the list of all API versions of the defined composite // resource. Version names are used to compute the order in which served // versions are listed in API discovery. If the version string is // "kube-like", it will sort above non "kube-like" version strings, which // are ordered lexicographically. "Kube-like" versions start with a "v", // then are followed by a number (the major version), then optionally the // string "alpha" or "beta" and another number (the minor version). These // are sorted first by GA > beta > alpha (where GA is a version with no // suffix such as beta or alpha), and then by comparing major version, then // minor version. An example sorted list of versions: v10, v2, v1, v11beta2, // v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. Versions []CompositeResourceDefinitionVersion `json:"versions"` // Conversion defines all conversion settings for the defined Composite resource. // +optional Conversion *extv1.CustomResourceConversion `json:"conversion,omitempty"` // Metadata specifies the desired metadata for the defined composite resource and claim CRD's. // +optional Metadata *CompositeResourceDefinitionSpecMetadata `json:"metadata,omitempty"` }
CompositeResourceDefinitionSpec specifies the desired state of the definition.
func (*CompositeResourceDefinitionSpec) DeepCopy ¶
func (in *CompositeResourceDefinitionSpec) DeepCopy() *CompositeResourceDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionSpec.
func (*CompositeResourceDefinitionSpec) DeepCopyInto ¶
func (in *CompositeResourceDefinitionSpec) DeepCopyInto(out *CompositeResourceDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeResourceDefinitionSpecMetadata ¶ added in v1.13.0
type CompositeResourceDefinitionSpecMetadata struct { // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels // and services. // These labels are added to the composite resource and claim CRD's in addition // to any labels defined by `CompositionResourceDefinition` `metadata.labels`. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` }
CompositeResourceDefinitionSpecMetadata specifies the desired metadata of the defined composite resource and claim CRD's.
func (*CompositeResourceDefinitionSpecMetadata) DeepCopy ¶ added in v1.13.0
func (in *CompositeResourceDefinitionSpecMetadata) DeepCopy() *CompositeResourceDefinitionSpecMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionSpecMetadata.
func (*CompositeResourceDefinitionSpecMetadata) DeepCopyInto ¶ added in v1.13.0
func (in *CompositeResourceDefinitionSpecMetadata) DeepCopyInto(out *CompositeResourceDefinitionSpecMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeResourceDefinitionStatus ¶
type CompositeResourceDefinitionStatus struct { xpv1.ConditionedStatus `json:",inline"` // Controllers represents the status of the controllers that power this // composite resource definition. Controllers CompositeResourceDefinitionControllerStatus `json:"controllers,omitempty"` }
CompositeResourceDefinitionStatus shows the observed state of the definition.
func (*CompositeResourceDefinitionStatus) DeepCopy ¶
func (in *CompositeResourceDefinitionStatus) DeepCopy() *CompositeResourceDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionStatus.
func (*CompositeResourceDefinitionStatus) DeepCopyInto ¶
func (in *CompositeResourceDefinitionStatus) DeepCopyInto(out *CompositeResourceDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeResourceDefinitionVersion ¶
type CompositeResourceDefinitionVersion struct { // Name of this version, e.g. “v1”, “v2beta1”, etc. Composite resources are // served under this version at `/apis/<group>/<version>/...` if `served` is // true. Name string `json:"name"` // Referenceable specifies that this version may be referenced by a // Composition in order to configure which resources an XR may be composed // of. Exactly one version must be marked as referenceable; all Compositions // must target only the referenceable version. The referenceable version // must be served. It's mapped to the CRD's `spec.versions[*].storage` field. Referenceable bool `json:"referenceable"` // Served specifies that this version should be served via REST APIs. Served bool `json:"served"` // The deprecated field specifies that this version is deprecated and should // not be used. // +optional Deprecated *bool `json:"deprecated,omitempty"` // DeprecationWarning specifies the message that should be shown to the user // when using this version. // +optional // +kubebuilder:validation:MaxLength=256 DeprecationWarning *string `json:"deprecationWarning,omitempty"` // Schema describes the schema used for validation, pruning, and defaulting // of this version of the defined composite resource. Fields required by all // composite resources will be injected into this schema automatically, and // will override equivalently named fields in this schema. Omitting this // schema results in a schema that contains only the fields required by all // composite resources. // +optional Schema *CompositeResourceValidation `json:"schema,omitempty"` // AdditionalPrinterColumns specifies additional columns returned in Table // output. If no columns are specified, a single column displaying the age // of the custom resource is used. See the following link for details: // https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables // +optional AdditionalPrinterColumns []extv1.CustomResourceColumnDefinition `json:"additionalPrinterColumns,omitempty"` }
CompositeResourceDefinitionVersion describes a version of an XR.
func (*CompositeResourceDefinitionVersion) DeepCopy ¶
func (in *CompositeResourceDefinitionVersion) DeepCopy() *CompositeResourceDefinitionVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceDefinitionVersion.
func (*CompositeResourceDefinitionVersion) DeepCopyInto ¶
func (in *CompositeResourceDefinitionVersion) DeepCopyInto(out *CompositeResourceDefinitionVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositeResourceValidation ¶
type CompositeResourceValidation struct { // OpenAPIV3Schema is the OpenAPI v3 schema to use for validation and // pruning. // +kubebuilder:pruning:PreserveUnknownFields OpenAPIV3Schema runtime.RawExtension `json:"openAPIV3Schema,omitempty"` }
CompositeResourceValidation is a list of validation methods for a composite resource.
func (*CompositeResourceValidation) DeepCopy ¶
func (in *CompositeResourceValidation) DeepCopy() *CompositeResourceValidation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositeResourceValidation.
func (*CompositeResourceValidation) DeepCopyInto ¶
func (in *CompositeResourceValidation) DeepCopyInto(out *CompositeResourceValidation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Composition ¶
type Composition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CompositionSpec `json:"spec,omitempty"` }
A Composition specifies how a composite resource should be composed. +kubebuilder:printcolumn:name="XR-KIND",type="string",JSONPath=".spec.compositeTypeRef.kind" +kubebuilder:printcolumn:name="XR-APIVERSION",type="string",JSONPath=".spec.compositeTypeRef.apiVersion" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories=crossplane,shortName=comp
func (*Composition) DeepCopy ¶
func (in *Composition) DeepCopy() *Composition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Composition.
func (*Composition) DeepCopyInto ¶
func (in *Composition) DeepCopyInto(out *Composition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Composition) DeepCopyObject ¶
func (in *Composition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Composition) GetSchemaAwareValidationMode ¶ added in v1.14.0
func (in *Composition) GetSchemaAwareValidationMode() (CompositionValidationMode, error)
GetSchemaAwareValidationMode returns the schema-aware validation mode set for the Composition.
func (Composition) Hash ¶ added in v1.11.0
func (c Composition) Hash() string
Hash of the Composition.
type CompositionList ¶
type CompositionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Composition `json:"items"` }
CompositionList contains a list of Compositions.
func (*CompositionList) DeepCopy ¶
func (in *CompositionList) DeepCopy() *CompositionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionList.
func (*CompositionList) DeepCopyInto ¶
func (in *CompositionList) DeepCopyInto(out *CompositionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositionList) DeepCopyObject ¶
func (in *CompositionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CompositionMode ¶ added in v1.14.0
type CompositionMode string
A CompositionMode determines what mode of Composition is used
const ( // CompositionModeResources indicates that a Composition uses what is // commonly referred to as "Patch & Transform" or P&T composition. This mode // of Composition uses an array of resources, each a template for a composed // resource. CompositionModeResources CompositionMode = "Resources" // CompositionModePipeline indicates that a Composition specifies a pipeline // of Composition Functions, each of which is responsible for producing // composed resources that Crossplane should create or update. // // THIS IS A BETA FEATURE. It is not honored if the relevant Crossplane // feature flag is disabled. CompositionModePipeline CompositionMode = "Pipeline" )
type CompositionReference ¶ added in v1.10.0
type CompositionReference struct { // Name of the Composition. Name string `json:"name"` }
A CompositionReference references a Composition.
func (*CompositionReference) DeepCopy ¶ added in v1.10.0
func (in *CompositionReference) DeepCopy() *CompositionReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionReference.
func (*CompositionReference) DeepCopyInto ¶ added in v1.10.0
func (in *CompositionReference) DeepCopyInto(out *CompositionReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositionRevision ¶ added in v1.12.0
type CompositionRevision struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CompositionRevisionSpec `json:"spec,omitempty"` Status CompositionRevisionStatus `json:"status,omitempty"` }
A CompositionRevision represents a revision in time of a Composition. Revisions are created by Crossplane; they should be treated as immutable. +kubebuilder:printcolumn:name="REVISION",type="string",JSONPath=".spec.revision" +kubebuilder:printcolumn:name="XR-KIND",type="string",JSONPath=".spec.compositeTypeRef.kind" +kubebuilder:printcolumn:name="XR-APIVERSION",type="string",JSONPath=".spec.compositeTypeRef.apiVersion" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories=crossplane,shortName=comprev +kubebuilder:subresource:status
func LatestRevision ¶ added in v1.11.0
func LatestRevision(c *Composition, revs []CompositionRevision) *CompositionRevision
LatestRevision returns the latest revision of the supplied composition. We use a hash of the labels, the annotations, and the spec to decide to create a new revision. If we revert back to an older state, we increase the existing revision's revision number.
func (*CompositionRevision) DeepCopy ¶ added in v1.12.0
func (in *CompositionRevision) DeepCopy() *CompositionRevision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionRevision.
func (*CompositionRevision) DeepCopyInto ¶ added in v1.12.0
func (in *CompositionRevision) DeepCopyInto(out *CompositionRevision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositionRevision) DeepCopyObject ¶ added in v1.12.0
func (in *CompositionRevision) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CompositionRevisionList ¶ added in v1.12.0
type CompositionRevisionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CompositionRevision `json:"items"` }
CompositionRevisionList contains a list of CompositionRevisions.
func (*CompositionRevisionList) DeepCopy ¶ added in v1.12.0
func (in *CompositionRevisionList) DeepCopy() *CompositionRevisionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionRevisionList.
func (*CompositionRevisionList) DeepCopyInto ¶ added in v1.12.0
func (in *CompositionRevisionList) DeepCopyInto(out *CompositionRevisionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CompositionRevisionList) DeepCopyObject ¶ added in v1.12.0
func (in *CompositionRevisionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CompositionRevisionSpec ¶ added in v1.12.0
type CompositionRevisionSpec struct { // CompositeTypeRef specifies the type of composite resource that this // composition is compatible with. // +immutable CompositeTypeRef TypeReference `json:"compositeTypeRef"` // Mode controls what type or "mode" of Composition will be used. // // "Resources" (the default) indicates that a Composition uses what is // commonly referred to as "Patch & Transform" or P&T composition. This mode // of Composition uses an array of resources, each a template for a composed // resource. // // "Pipeline" indicates that a Composition specifies a pipeline // of Composition Functions, each of which is responsible for producing // composed resources that Crossplane should create or update. THE PIPELINE // MODE IS A BETA FEATURE. It is not honored if the relevant Crossplane // feature flag is disabled. // +optional // +kubebuilder:validation:Enum=Resources;Pipeline // +kubebuilder:default=Resources Mode *CompositionMode `json:"mode,omitempty"` // PatchSets define a named set of patches that may be included by any // resource in this Composition. PatchSets cannot themselves refer to other // PatchSets. // // PatchSets are only used by the "Resources" mode of Composition. They // are ignored by other modes. // +optional PatchSets []PatchSet `json:"patchSets,omitempty"` // Environment configures the environment in which resources are rendered. // // THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored // unless the relevant Crossplane feature flag is enabled, and may be // changed or removed without notice. // +optional Environment *EnvironmentConfiguration `json:"environment,omitempty"` // Resources is a list of resource templates that will be used when a // composite resource referring to this composition is created. // // Resources are only used by the "Resources" mode of Composition. They are // ignored by other modes. // +optional Resources []ComposedTemplate `json:"resources,omitempty"` // Pipeline is a list of composition function steps that will be used when a // composite resource referring to this composition is created. One of // resources and pipeline must be specified - you cannot specify both. // // The Pipeline is only used by the "Pipeline" mode of Composition. It is // ignored by other modes. // // THIS IS A BETA FIELD. It is not honored if the relevant Crossplane // feature flag is disabled. // +optional Pipeline []PipelineStep `json:"pipeline,omitempty"` // WriteConnectionSecretsToNamespace specifies the namespace in which the // connection secrets of composite resource dynamically provisioned using // this composition will be created. // This field is planned to be replaced in a future release in favor of // PublishConnectionDetailsWithStoreConfigRef. Currently, both could be // set independently and connection details would be published to both // without affecting each other as long as related fields at MR level // specified. // +optional WriteConnectionSecretsToNamespace *string `json:"writeConnectionSecretsToNamespace,omitempty"` // PublishConnectionDetailsWithStoreConfig specifies the secret store config // with which the connection details of composite resources dynamically // provisioned using this composition will be published. // // THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored // unless the relevant Crossplane feature flag is enabled, and may be // changed or removed without notice. // +optional // +kubebuilder:default={"name": "default"} PublishConnectionDetailsWithStoreConfigRef *StoreConfigReference `json:"publishConnectionDetailsWithStoreConfigRef,omitempty"` // Revision number. Newer revisions have larger numbers. // +immutable Revision int64 `json:"revision"` }
CompositionRevisionSpec specifies the desired state of the composition revision.
func (*CompositionRevisionSpec) DeepCopy ¶ added in v1.12.0
func (in *CompositionRevisionSpec) DeepCopy() *CompositionRevisionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionRevisionSpec.
func (*CompositionRevisionSpec) DeepCopyInto ¶ added in v1.12.0
func (in *CompositionRevisionSpec) DeepCopyInto(out *CompositionRevisionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositionRevisionStatus ¶ added in v1.12.0
type CompositionRevisionStatus struct {
xpv1.ConditionedStatus `json:",inline"`
}
CompositionRevisionStatus shows the observed state of the composition revision.
func (*CompositionRevisionStatus) DeepCopy ¶ added in v1.12.0
func (in *CompositionRevisionStatus) DeepCopy() *CompositionRevisionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionRevisionStatus.
func (*CompositionRevisionStatus) DeepCopyInto ¶ added in v1.12.0
func (in *CompositionRevisionStatus) DeepCopyInto(out *CompositionRevisionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositionSpec ¶
type CompositionSpec struct { // CompositeTypeRef specifies the type of composite resource that this // composition is compatible with. // +immutable CompositeTypeRef TypeReference `json:"compositeTypeRef"` // Mode controls what type or "mode" of Composition will be used. // // "Resources" (the default) indicates that a Composition uses what is // commonly referred to as "Patch & Transform" or P&T composition. This mode // of Composition uses an array of resources, each a template for a composed // resource. // // "Pipeline" indicates that a Composition specifies a pipeline // of Composition Functions, each of which is responsible for producing // composed resources that Crossplane should create or update. THE PIPELINE // MODE IS A BETA FEATURE. It is not honored if the relevant Crossplane // feature flag is disabled. // +optional // +kubebuilder:validation:Enum=Resources;Pipeline // +kubebuilder:default=Resources Mode *CompositionMode `json:"mode,omitempty"` // PatchSets define a named set of patches that may be included by any // resource in this Composition. PatchSets cannot themselves refer to other // PatchSets. // // PatchSets are only used by the "Resources" mode of Composition. They // are ignored by other modes. // +optional PatchSets []PatchSet `json:"patchSets,omitempty"` // Environment configures the environment in which resources are rendered. // // THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored // unless the relevant Crossplane feature flag is enabled, and may be // changed or removed without notice. // +optional Environment *EnvironmentConfiguration `json:"environment,omitempty"` // Resources is a list of resource templates that will be used when a // composite resource referring to this composition is created. // // Resources are only used by the "Resources" mode of Composition. They are // ignored by other modes. // +optional Resources []ComposedTemplate `json:"resources,omitempty"` // Pipeline is a list of composition function steps that will be used when a // composite resource referring to this composition is created. One of // resources and pipeline must be specified - you cannot specify both. // // The Pipeline is only used by the "Pipeline" mode of Composition. It is // ignored by other modes. // // THIS IS A BETA FIELD. It is not honored if the relevant Crossplane // feature flag is disabled. // +optional Pipeline []PipelineStep `json:"pipeline,omitempty"` // WriteConnectionSecretsToNamespace specifies the namespace in which the // connection secrets of composite resource dynamically provisioned using // this composition will be created. // This field is planned to be replaced in a future release in favor of // PublishConnectionDetailsWithStoreConfigRef. Currently, both could be // set independently and connection details would be published to both // without affecting each other as long as related fields at MR level // specified. // +optional WriteConnectionSecretsToNamespace *string `json:"writeConnectionSecretsToNamespace,omitempty"` // PublishConnectionDetailsWithStoreConfig specifies the secret store config // with which the connection details of composite resources dynamically // provisioned using this composition will be published. // // THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored // unless the relevant Crossplane feature flag is enabled, and may be // changed or removed without notice. // +optional // +kubebuilder:default={"name": "default"} PublishConnectionDetailsWithStoreConfigRef *StoreConfigReference `json:"publishConnectionDetailsWithStoreConfigRef,omitempty"` }
CompositionSpec specifies desired state of a composition.
func (*CompositionSpec) DeepCopy ¶
func (in *CompositionSpec) DeepCopy() *CompositionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompositionSpec.
func (*CompositionSpec) DeepCopyInto ¶
func (in *CompositionSpec) DeepCopyInto(out *CompositionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompositionValidationMode ¶ added in v1.12.0
type CompositionValidationMode string
CompositionValidationMode is the validation mode for a Composition.
var ( // DefaultSchemaAwareCompositionValidationMode is the default validation mode for Compositions. DefaultSchemaAwareCompositionValidationMode = SchemaAwareCompositionValidationModeWarn // SchemaAwareCompositionValidationModeWarn means only warnings will be // returned in case of errors during schema-aware validation, both for missing CRDs or any schema related error. SchemaAwareCompositionValidationModeWarn CompositionValidationMode = "warn" // SchemaAwareCompositionValidationModeLoose means that Compositions will be validated loosely, so no errors will be returned // in case of missing referenced resources, e.g. Managed Resources or Composite Resources. SchemaAwareCompositionValidationModeLoose CompositionValidationMode = "loose" // SchemaAwareCompositionValidationModeStrict means that Compositions will // be validated strictly, so errors will be returned in case of errors // during schema-aware validation or for missing resources' CRDs. SchemaAwareCompositionValidationModeStrict CompositionValidationMode = "strict" )
type ConnectionDetail ¶
type ConnectionDetail struct { // Name of the connection secret key that will be propagated to the // connection secret of the composition instance. Leave empty if you'd like // to use the same key name. // +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. If the type is omitted Crossplane will attempt // to infer it based on which other fields were specified. If multiple // fields are specified the order of precedence is: // 1. FromValue // 2. FromConnectionSecretKey // 3. FromFieldPath // +optional // +kubebuilder:validation:Enum=FromConnectionSecretKey;FromFieldPath;FromValue Type *ConnectionDetailType `json:"type,omitempty"` // FromConnectionSecretKey is the key that will be used to fetch the value // from the composed resource's connection secret. // +optional FromConnectionSecretKey *string `json:"fromConnectionSecretKey,omitempty"` // FromFieldPath is the path of the field on the composed resource whose // value to be used as input. Name must be specified if the type is // FromFieldPath. // +optional FromFieldPath *string `json:"fromFieldPath,omitempty"` // Value that will be propagated to the connection secret of the composite // resource. May be set to inject a fixed, non-sensitive connection secret // value, for example a well-known port. // +optional Value *string `json:"value,omitempty"` }
ConnectionDetail includes the information about the propagation of the connection information from one secret to another.
func (*ConnectionDetail) DeepCopy ¶
func (in *ConnectionDetail) DeepCopy() *ConnectionDetail
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionDetail.
func (*ConnectionDetail) DeepCopyInto ¶
func (in *ConnectionDetail) DeepCopyInto(out *ConnectionDetail)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionDetailType ¶ added in v1.1.0
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 ConvertTransform ¶
type ConvertTransform struct { // ToType is the type of the output of this transform. // +kubebuilder:validation:Enum=string;int;int64;bool;float64;object;array ToType TransformIOType `json:"toType"` // The expected input format. // // * `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity). // Only used during `string -> float64` conversions. // * `json` - parses the input as a JSON string. // Only used during `string -> object` or `string -> list` conversions. // // If this property is null, the default conversion is applied. // // +kubebuilder:validation:Enum=none;quantity;json // +kubebuilder:validation:Default=none Format *ConvertTransformFormat `json:"format,omitempty"` }
A ConvertTransform converts the input into a new object whose type is supplied.
func (*ConvertTransform) DeepCopy ¶
func (in *ConvertTransform) DeepCopy() *ConvertTransform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConvertTransform.
func (*ConvertTransform) DeepCopyInto ¶
func (in *ConvertTransform) DeepCopyInto(out *ConvertTransform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConvertTransform) GetFormat ¶ added in v1.12.0
func (t *ConvertTransform) GetFormat() ConvertTransformFormat
GetFormat returns the format of the transform.
func (ConvertTransform) Validate ¶ added in v1.12.0
func (t ConvertTransform) Validate() *field.Error
Validate returns an error if the ConvertTransform is invalid.
type ConvertTransformFormat ¶ added in v1.11.0
type ConvertTransformFormat string
ConvertTransformFormat defines the expected format of an input value of a conversion transform.
const ( ConvertTransformFormatNone ConvertTransformFormat = "none" ConvertTransformFormatQuantity ConvertTransformFormat = "quantity" ConvertTransformFormatJSON ConvertTransformFormat = "json" )
Possible ConvertTransformFormat values.
func (ConvertTransformFormat) IsValid ¶ added in v1.12.0
func (c ConvertTransformFormat) IsValid() bool
IsValid returns true if the format is valid.
type EnvironmentConfiguration ¶ added in v1.11.0
type EnvironmentConfiguration struct { // DefaultData statically defines the initial state of the environment. // It has the same schema-less structure as the data field in // environment configs. // It is overwritten by the selected environment configs. DefaultData map[string]extv1.JSON `json:"defaultData,omitempty"` // EnvironmentConfigs selects a list of `EnvironmentConfig`s. The resolved // resources are stored in the composite resource at // `spec.environmentConfigRefs` and is only updated if it is null. // // The list of references is used to compute an in-memory environment at // compose time. The data of all object is merged in the order they are // listed, meaning the values of EnvironmentConfigs with a larger index take // priority over ones with smaller indices. // // The computed environment can be accessed in a composition using // `FromEnvironmentFieldPath` and `CombineFromEnvironment` patches. // +optional EnvironmentConfigs []EnvironmentSource `json:"environmentConfigs,omitempty"` // Patches is a list of environment patches that are executed before a // composition's resources are composed. Patches []EnvironmentPatch `json:"patches,omitempty"` // Policy represents the Resolve and Resolution policies which apply to // all EnvironmentSourceReferences in EnvironmentConfigs list. // +optional Policy *xpv1.Policy `json:"policy,omitempty"` }
An EnvironmentConfiguration specifies the environment for rendering composed resources.
func (*EnvironmentConfiguration) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentConfiguration) DeepCopy() *EnvironmentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentConfiguration.
func (*EnvironmentConfiguration) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentConfiguration) DeepCopyInto(out *EnvironmentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentConfiguration) IsRequired ¶ added in v1.13.0
func (e *EnvironmentConfiguration) IsRequired() bool
IsRequired specifies whether EnvironmentConfiguration is required or not.
func (*EnvironmentConfiguration) ShouldResolve ¶ added in v1.13.0
func (e *EnvironmentConfiguration) ShouldResolve(currentRefs []corev1.ObjectReference) bool
ShouldResolve specifies whether EnvironmentConfiguration should be resolved or not.
func (*EnvironmentConfiguration) Validate ¶ added in v1.13.0
func (e *EnvironmentConfiguration) Validate() field.ErrorList
Validate the EnvironmentConfiguration.
type EnvironmentPatch ¶ added in v1.11.0
type EnvironmentPatch struct { // Type sets the patching behaviour to be used. Each patch type may require // its own fields to be set on the Patch object. // +optional // +kubebuilder:validation:Enum=FromCompositeFieldPath;ToCompositeFieldPath;CombineFromComposite;CombineToComposite // +kubebuilder:default=FromCompositeFieldPath Type PatchType `json:"type,omitempty"` // FromFieldPath is the path of the field on the resource whose value is // to be used as input. Required when type is FromCompositeFieldPath or // ToCompositeFieldPath. // +optional FromFieldPath *string `json:"fromFieldPath,omitempty"` // Combine is the patch configuration for a CombineFromComposite or // CombineToComposite patch. // +optional Combine *Combine `json:"combine,omitempty"` // ToFieldPath is the path of the field on the resource whose value will // be changed with the result of transforms. Leave empty if you'd like to // propagate to the same path as fromFieldPath. // +optional ToFieldPath *string `json:"toFieldPath,omitempty"` // Transforms are the list of functions that are used as a FIFO pipe for the // input to be transformed. // +optional Transforms []Transform `json:"transforms,omitempty"` // Policy configures the specifics of patching behaviour. // +optional Policy *PatchPolicy `json:"policy,omitempty"` }
EnvironmentPatch is a patch for a Composition environment.
func (*EnvironmentPatch) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentPatch) DeepCopy() *EnvironmentPatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentPatch.
func (*EnvironmentPatch) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentPatch) DeepCopyInto(out *EnvironmentPatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentPatch) ToPatch ¶ added in v1.13.0
func (e *EnvironmentPatch) ToPatch() *Patch
ToPatch converts the EnvironmentPatch to a Patch.
func (*EnvironmentPatch) Validate ¶ added in v1.13.0
func (e *EnvironmentPatch) Validate() *field.Error
Validate validates the EnvironmentPatch.
type EnvironmentSource ¶ added in v1.11.0
type EnvironmentSource struct { // Type specifies the way the EnvironmentConfig is selected. // Default is `Reference` // +optional // +kubebuilder:validation:Enum=Reference;Selector // +kubebuilder:default=Reference Type EnvironmentSourceType `json:"type,omitempty"` // Ref is a named reference to a single EnvironmentConfig. // Either Ref or Selector is required. // +optional Ref *EnvironmentSourceReference `json:"ref,omitempty"` // Selector selects EnvironmentConfig(s) via labels. // +optional Selector *EnvironmentSourceSelector `json:"selector,omitempty"` }
EnvironmentSource selects a EnvironmentConfig resource.
func (*EnvironmentSource) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentSource) DeepCopy() *EnvironmentSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSource.
func (*EnvironmentSource) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentSource) DeepCopyInto(out *EnvironmentSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentSource) Validate ¶ added in v1.13.0
func (e *EnvironmentSource) Validate() *field.Error
Validate the EnvironmentSource.
type EnvironmentSourceReference ¶ added in v1.11.0
type EnvironmentSourceReference struct { // The name of the object. Name string `json:"name"` }
An EnvironmentSourceReference references an EnvironmentConfig by it's name.
func (*EnvironmentSourceReference) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentSourceReference) DeepCopy() *EnvironmentSourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSourceReference.
func (*EnvironmentSourceReference) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentSourceReference) DeepCopyInto(out *EnvironmentSourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentSourceReference) Validate ¶ added in v1.13.0
func (e *EnvironmentSourceReference) Validate() *field.Error
Validate the EnvironmentSourceReference.
type EnvironmentSourceSelector ¶ added in v1.11.0
type EnvironmentSourceSelector struct { // Mode specifies retrieval strategy: "Single" or "Multiple". // +kubebuilder:validation:Enum=Single;Multiple // +kubebuilder:default=Single Mode EnvironmentSourceSelectorModeType `json:"mode,omitempty"` // MaxMatch specifies the number of extracted EnvironmentConfigs in Multiple mode, extracts all if nil. MaxMatch *uint64 `json:"maxMatch,omitempty"` // MinMatch specifies the required minimum of extracted EnvironmentConfigs in Multiple mode. MinMatch *uint64 `json:"minMatch,omitempty"` // SortByFieldPath is the path to the field based on which list of EnvironmentConfigs is alphabetically sorted. // +kubebuilder:default="metadata.name" SortByFieldPath string `json:"sortByFieldPath,omitempty"` // MatchLabels ensures an object with matching labels is selected. MatchLabels []EnvironmentSourceSelectorLabelMatcher `json:"matchLabels,omitempty"` }
An EnvironmentSourceSelector selects an EnvironmentConfig via labels.
func (*EnvironmentSourceSelector) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentSourceSelector) DeepCopy() *EnvironmentSourceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSourceSelector.
func (*EnvironmentSourceSelector) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentSourceSelector) DeepCopyInto(out *EnvironmentSourceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentSourceSelector) Validate ¶ added in v1.13.0
func (e *EnvironmentSourceSelector) Validate() *field.Error
Validate logically validates the EnvironmentSourceSelector.
type EnvironmentSourceSelectorLabelMatcher ¶ added in v1.11.0
type EnvironmentSourceSelectorLabelMatcher struct { // Type specifies where the value for a label comes from. // +optional // +kubebuilder:validation:Enum=FromCompositeFieldPath;Value // +kubebuilder:default=FromCompositeFieldPath Type EnvironmentSourceSelectorLabelMatcherType `json:"type,omitempty"` // Key of the label to match. Key string `json:"key"` // ValueFromFieldPath specifies the field path to look for the label value. ValueFromFieldPath *string `json:"valueFromFieldPath,omitempty"` // FromFieldPathPolicy specifies the policy for the valueFromFieldPath. // The default is Required, meaning that an error will be returned if the // field is not found in the composite resource. // Optional means that if the field is not found in the composite resource, // that label pair will just be skipped. N.B. other specified label // matchers will still be used to retrieve the desired // environment config, if any. // +kubebuilder:validation:Enum=Optional;Required // +kubebuilder:default=Required FromFieldPathPolicy *FromFieldPathPolicy `json:"fromFieldPathPolicy,omitempty"` // Value specifies a literal label value. Value *string `json:"value,omitempty"` }
An EnvironmentSourceSelectorLabelMatcher acts like a k8s label selector but can draw the label value from a different path.
func (*EnvironmentSourceSelectorLabelMatcher) DeepCopy ¶ added in v1.11.0
func (in *EnvironmentSourceSelectorLabelMatcher) DeepCopy() *EnvironmentSourceSelectorLabelMatcher
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSourceSelectorLabelMatcher.
func (*EnvironmentSourceSelectorLabelMatcher) DeepCopyInto ¶ added in v1.11.0
func (in *EnvironmentSourceSelectorLabelMatcher) DeepCopyInto(out *EnvironmentSourceSelectorLabelMatcher)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentSourceSelectorLabelMatcher) FromFieldPathIsOptional ¶ added in v1.14.0
func (e *EnvironmentSourceSelectorLabelMatcher) FromFieldPathIsOptional() bool
FromFieldPathIsOptional returns true if the FromFieldPathPolicy is set to Optional.
func (*EnvironmentSourceSelectorLabelMatcher) GetType ¶ added in v1.13.0
func (e *EnvironmentSourceSelectorLabelMatcher) GetType() EnvironmentSourceSelectorLabelMatcherType
GetType returns the type of the label matcher, returning the default if not set.
func (*EnvironmentSourceSelectorLabelMatcher) Validate ¶ added in v1.13.0
func (e *EnvironmentSourceSelectorLabelMatcher) Validate() *field.Error
Validate logically validate the EnvironmentSourceSelectorLabelMatcher.
type EnvironmentSourceSelectorLabelMatcherType ¶ added in v1.11.0
type EnvironmentSourceSelectorLabelMatcherType string
EnvironmentSourceSelectorLabelMatcherType specifies where the value for a label comes from.
const ( // EnvironmentSourceSelectorLabelMatcherTypeFromCompositeFieldPath extracts // the label value from a composite fieldpath. EnvironmentSourceSelectorLabelMatcherTypeFromCompositeFieldPath EnvironmentSourceSelectorLabelMatcherType = "FromCompositeFieldPath" // EnvironmentSourceSelectorLabelMatcherTypeValue uses a literal as label // value. EnvironmentSourceSelectorLabelMatcherTypeValue EnvironmentSourceSelectorLabelMatcherType = "Value" )
type EnvironmentSourceSelectorModeType ¶ added in v1.13.0
type EnvironmentSourceSelectorModeType string
EnvironmentSourceSelectorModeType specifies amount of retrieved EnvironmentConfigs with matching label.
const ( // EnvironmentSourceSelectorSingleMode extracts only first EnvironmentConfig from the sorted list. EnvironmentSourceSelectorSingleMode EnvironmentSourceSelectorModeType = "Single" // EnvironmentSourceSelectorMultiMode extracts multiple EnvironmentConfigs from the sorted list. EnvironmentSourceSelectorMultiMode EnvironmentSourceSelectorModeType = "Multiple" )
type EnvironmentSourceType ¶ added in v1.11.0
type EnvironmentSourceType string
EnvironmentSourceType specifies the way the EnvironmentConfig is selected.
const ( // EnvironmentSourceTypeReference by name. EnvironmentSourceTypeReference EnvironmentSourceType = "Reference" // EnvironmentSourceTypeSelector by labels. EnvironmentSourceTypeSelector EnvironmentSourceType = "Selector" )
type FromFieldPathPolicy ¶ added in v1.1.0
type FromFieldPathPolicy string
A FromFieldPathPolicy determines how to patch from a field path.
const ( FromFieldPathPolicyOptional FromFieldPathPolicy = "Optional" FromFieldPathPolicyRequired FromFieldPathPolicy = "Required" )
FromFieldPath patch policies.
type FunctionReference ¶ added in v1.14.0
type FunctionReference struct { // Name of the referenced Function. Name string `json:"name"` }
A FunctionReference references a Composition Function that may be used in a Composition pipeline.
func (*FunctionReference) DeepCopy ¶ added in v1.14.0
func (in *FunctionReference) DeepCopy() *FunctionReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionReference.
func (*FunctionReference) DeepCopyInto ¶ added in v1.14.0
func (in *FunctionReference) DeepCopyInto(out *FunctionReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GeneratedRevisionSpecConverter ¶ added in v1.11.0
type GeneratedRevisionSpecConverter struct{}
func (*GeneratedRevisionSpecConverter) DeepCopy ¶ added in v1.11.0
func (in *GeneratedRevisionSpecConverter) DeepCopy() *GeneratedRevisionSpecConverter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeneratedRevisionSpecConverter.
func (*GeneratedRevisionSpecConverter) DeepCopyInto ¶ added in v1.11.0
func (in *GeneratedRevisionSpecConverter) DeepCopyInto(out *GeneratedRevisionSpecConverter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GeneratedRevisionSpecConverter) FromRevisionSpec ¶ added in v1.11.0
func (c *GeneratedRevisionSpecConverter) FromRevisionSpec(source CompositionRevisionSpec) CompositionSpec
func (*GeneratedRevisionSpecConverter) ToRevisionSpec ¶ added in v1.11.0
func (c *GeneratedRevisionSpecConverter) ToRevisionSpec(source CompositionSpec) CompositionRevisionSpec
type MapTransform ¶
type MapTransform struct { // Pairs is the map that will be used for transform. // +optional Pairs map[string]extv1.JSON `json:",inline"` }
MapTransform returns a value for the input from the given map.
func (*MapTransform) DeepCopy ¶
func (in *MapTransform) DeepCopy() *MapTransform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapTransform.
func (*MapTransform) DeepCopyInto ¶
func (in *MapTransform) DeepCopyInto(out *MapTransform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MapTransform) MarshalJSON ¶
func (m *MapTransform) MarshalJSON() ([]byte, error)
MarshalJSON from this MapTransform.
func (*MapTransform) UnmarshalJSON ¶
func (m *MapTransform) UnmarshalJSON(b []byte) error
UnmarshalJSON into this MapTransform.
func (*MapTransform) Validate ¶ added in v1.12.0
func (m *MapTransform) Validate() *field.Error
Validate checks this MapTransform is valid.
type MatchConditionReadinessCheck ¶ added in v1.13.0
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 ¶ added in v1.13.0
func (in *MatchConditionReadinessCheck) DeepCopy() *MatchConditionReadinessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchConditionReadinessCheck.
func (*MatchConditionReadinessCheck) DeepCopyInto ¶ added in v1.13.0
func (in *MatchConditionReadinessCheck) DeepCopyInto(out *MatchConditionReadinessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MatchConditionReadinessCheck) Validate ¶ added in v1.13.0
func (m *MatchConditionReadinessCheck) Validate() *field.Error
Validate checks if the match condition is logically valid.
type MatchFallbackTo ¶ added in v1.12.0
type MatchFallbackTo string
MatchFallbackTo defines how a match operation will fallback.
const ( MatchFallbackToTypeValue MatchFallbackTo = "Value" MatchFallbackToTypeInput MatchFallbackTo = "Input" )
Valid MatchFallbackTo.
type MatchTransform ¶ added in v1.11.0
type MatchTransform struct { // The patterns that should be tested against the input string. // Patterns are tested in order. The value of the first match is used as // result of this transform. Patterns []MatchTransformPattern `json:"patterns,omitempty"` // The fallback value that should be returned by the transform if now pattern // matches. FallbackValue extv1.JSON `json:"fallbackValue,omitempty"` // Determines to what value the transform should fallback if no pattern matches. // +optional // +kubebuilder:validation:Enum=Value;Input // +kubebuilder:default=Value FallbackTo MatchFallbackTo `json:"fallbackTo,omitempty"` }
MatchTransform is a more complex version of a map transform that matches a list of patterns.
func (*MatchTransform) DeepCopy ¶ added in v1.11.0
func (in *MatchTransform) DeepCopy() *MatchTransform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchTransform.
func (*MatchTransform) DeepCopyInto ¶ added in v1.11.0
func (in *MatchTransform) DeepCopyInto(out *MatchTransform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MatchTransform) Validate ¶ added in v1.12.0
func (m *MatchTransform) Validate() *field.Error
Validate checks this MatchTransform is valid.
type MatchTransformPattern ¶ added in v1.11.0
type MatchTransformPattern struct { // Type specifies how the pattern matches the input. // // * `literal` - the pattern value has to exactly match (case sensitive) the // input string. This is the default. // // * `regexp` - the pattern treated as a regular expression against // which the input string is tested. Crossplane will throw an error if the // key is not a valid regexp. // // +kubebuilder:validation:Enum=literal;regexp // +kubebuilder:default=literal Type MatchTransformPatternType `json:"type"` // Literal exactly matches the input string (case sensitive). // Is required if `type` is `literal`. Literal *string `json:"literal,omitempty"` // Regexp to match against the input string. // Is required if `type` is `regexp`. Regexp *string `json:"regexp,omitempty"` // The value that is used as result of the transform if the pattern matches. Result extv1.JSON `json:"result"` }
MatchTransformPattern is a transform that returns the value that matches a pattern.
func (*MatchTransformPattern) DeepCopy ¶ added in v1.11.0
func (in *MatchTransformPattern) DeepCopy() *MatchTransformPattern
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchTransformPattern.
func (*MatchTransformPattern) DeepCopyInto ¶ added in v1.11.0
func (in *MatchTransformPattern) DeepCopyInto(out *MatchTransformPattern)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MatchTransformPattern) Validate ¶ added in v1.12.0
func (m *MatchTransformPattern) Validate() *field.Error
Validate checks this MatchTransformPattern is valid.
type MatchTransformPatternType ¶ added in v1.11.0
type MatchTransformPatternType string
MatchTransformPatternType defines the type of a MatchTransformPattern.
const ( MatchTransformPatternTypeLiteral MatchTransformPatternType = "literal" MatchTransformPatternTypeRegexp MatchTransformPatternType = "regexp" )
Valid MatchTransformPatternTypes.
type MathTransform ¶
type MathTransform struct { // Type of the math transform to be run. // +optional // +kubebuilder:validation:Enum=Multiply;ClampMin;ClampMax // +kubebuilder:default=Multiply Type MathTransformType `json:"type,omitempty"` // Multiply the value. // +optional Multiply *int64 `json:"multiply,omitempty"` // ClampMin makes sure that the value is not smaller than the given value. // +optional ClampMin *int64 `json:"clampMin,omitempty"` // ClampMax makes sure that the value is not bigger than the given value. // +optional ClampMax *int64 `json:"clampMax,omitempty"` }
MathTransform conducts mathematical operations on the input with the given configuration in its properties.
func (*MathTransform) DeepCopy ¶
func (in *MathTransform) DeepCopy() *MathTransform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MathTransform.
func (*MathTransform) DeepCopyInto ¶
func (in *MathTransform) DeepCopyInto(out *MathTransform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MathTransform) GetType ¶ added in v1.12.0
func (m *MathTransform) GetType() MathTransformType
GetType returns the type of the math transform, returning the default if not specified.
func (*MathTransform) Validate ¶ added in v1.12.0
func (m *MathTransform) Validate() *field.Error
Validate checks this MathTransform is valid.
type MathTransformType ¶ added in v1.12.0
type MathTransformType string
MathTransformType conducts mathematical operations.
const ( MathTransformTypeMultiply MathTransformType = "Multiply" // Default MathTransformTypeClampMin MathTransformType = "ClampMin" MathTransformTypeClampMax MathTransformType = "ClampMax" )
Accepted MathTransformType.
type Patch ¶
type Patch struct { // Type sets the patching behaviour to be used. Each patch type may require // its own fields to be set on the Patch object. // +optional // +kubebuilder:validation:Enum=FromCompositeFieldPath;FromEnvironmentFieldPath;PatchSet;ToCompositeFieldPath;ToEnvironmentFieldPath;CombineFromEnvironment;CombineFromComposite;CombineToComposite;CombineToEnvironment // +kubebuilder:default=FromCompositeFieldPath Type PatchType `json:"type,omitempty"` // FromFieldPath is the path of the field on the resource whose value is // to be used as input. Required when type is FromCompositeFieldPath, // FromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath. // +optional FromFieldPath *string `json:"fromFieldPath,omitempty"` // Combine is the patch configuration for a CombineFromComposite, // CombineFromEnvironment, CombineToComposite or CombineToEnvironment patch. // +optional Combine *Combine `json:"combine,omitempty"` // ToFieldPath is the path of the field on the resource whose value will // be changed with the result of transforms. Leave empty if you'd like to // propagate to the same path as fromFieldPath. // +optional ToFieldPath *string `json:"toFieldPath,omitempty"` // PatchSetName to include patches from. Required when type is PatchSet. // +optional PatchSetName *string `json:"patchSetName,omitempty"` // Transforms are the list of functions that are used as a FIFO pipe for the // input to be transformed. // +optional Transforms []Transform `json:"transforms,omitempty"` // Policy configures the specifics of patching behaviour. // +optional Policy *PatchPolicy `json:"policy,omitempty"` }
Patch objects are applied between composite and composed resources. Their behaviour depends on the Type selected. The default Type, FromCompositeFieldPath, copies a value from the composite resource to the composed resource, applying any defined transformers.
func (*Patch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patch.
func (*Patch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Patch) GetFromFieldPath ¶ added in v1.12.0
GetFromFieldPath returns the FromFieldPath for this Patch, or an empty string if it is nil.
func (*Patch) GetToFieldPath ¶ added in v1.12.0
GetToFieldPath returns the ToFieldPath for this Patch, or an empty string if it is nil.
type PatchPolicy ¶ added in v1.1.0
type PatchPolicy struct { // FromFieldPath specifies how to patch from a field path. The default is // 'Optional', which means the patch will be a no-op if the specified // fromFieldPath does not exist. Use 'Required' if the patch should fail if // the specified path does not exist. // +kubebuilder:validation:Enum=Optional;Required // +optional FromFieldPath *FromFieldPathPolicy `json:"fromFieldPath,omitempty"` MergeOptions *xpv1.MergeOptions `json:"mergeOptions,omitempty"` }
A PatchPolicy configures the specifics of patching behaviour.
func (*PatchPolicy) DeepCopy ¶ added in v1.1.0
func (in *PatchPolicy) DeepCopy() *PatchPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchPolicy.
func (*PatchPolicy) DeepCopyInto ¶ added in v1.1.0
func (in *PatchPolicy) DeepCopyInto(out *PatchPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PatchPolicy) GetFromFieldPathPolicy ¶ added in v1.12.0
func (pp *PatchPolicy) GetFromFieldPathPolicy() FromFieldPathPolicy
GetFromFieldPathPolicy returns the FromFieldPathPolicy for this PatchPolicy, defaulting to FromFieldPathPolicyOptional if not specified.
type PatchSet ¶
type PatchSet struct { // Name of this PatchSet. Name string `json:"name"` // Patches will be applied as an overlay to the base resource. Patches []Patch `json:"patches"` }
A PatchSet is a set of patches that can be reused from all resources within a Composition.
func (*PatchSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchSet.
func (*PatchSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchType ¶
type PatchType string
A PatchType is a type of patch.
const ( PatchTypeFromCompositeFieldPath PatchType = "FromCompositeFieldPath" // Default PatchTypeFromEnvironmentFieldPath PatchType = "FromEnvironmentFieldPath" PatchTypePatchSet PatchType = "PatchSet" PatchTypeToCompositeFieldPath PatchType = "ToCompositeFieldPath" PatchTypeToEnvironmentFieldPath PatchType = "ToEnvironmentFieldPath" PatchTypeCombineFromEnvironment PatchType = "CombineFromEnvironment" PatchTypeCombineFromComposite PatchType = "CombineFromComposite" PatchTypeCombineToComposite PatchType = "CombineToComposite" PatchTypeCombineToEnvironment PatchType = "CombineToEnvironment" )
Patch types.
type PipelineStep ¶ added in v1.14.0
type PipelineStep struct { // Step name. Must be unique within its Pipeline. Step string `json:"step"` // FunctionRef is a reference to the Composition Function this step should // execute. FunctionRef FunctionReference `json:"functionRef"` // Input is an optional, arbitrary Kubernetes resource (i.e. a resource // with an apiVersion and kind) that will be passed to the Composition // Function as the 'input' of its RunFunctionRequest. // +optional // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource Input *runtime.RawExtension `json:"input,omitempty"` }
A PipelineStep in a Composition Function pipeline.
func (*PipelineStep) DeepCopy ¶ added in v1.14.0
func (in *PipelineStep) DeepCopy() *PipelineStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineStep.
func (*PipelineStep) DeepCopyInto ¶ added in v1.14.0
func (in *PipelineStep) DeepCopyInto(out *PipelineStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadinessCheck ¶
type ReadinessCheck struct { // Type indicates the type of probe you'd like to use. // +kubebuilder:validation:Enum="MatchString";"MatchInteger";"NonEmpty";"MatchCondition";"MatchTrue";"MatchFalse";"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"` }
ReadinessCheck is used to indicate how to tell whether a resource is ready for consumption
func (*ReadinessCheck) DeepCopy ¶
func (in *ReadinessCheck) DeepCopy() *ReadinessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessCheck.
func (*ReadinessCheck) DeepCopyInto ¶
func (in *ReadinessCheck) DeepCopyInto(out *ReadinessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReadinessCheck) Validate ¶ added in v1.12.0
func (r *ReadinessCheck) Validate() *field.Error
Validate checks if the readiness check is logically valid.
type ReadinessCheckType ¶ added in v1.1.0
type ReadinessCheckType string
ReadinessCheckType is used for readiness check types.
const ( ReadinessCheckTypeNonEmpty ReadinessCheckType = "NonEmpty" ReadinessCheckTypeMatchString ReadinessCheckType = "MatchString" ReadinessCheckTypeMatchInteger ReadinessCheckType = "MatchInteger" ReadinessCheckTypeMatchTrue ReadinessCheckType = "MatchTrue" ReadinessCheckTypeMatchFalse ReadinessCheckType = "MatchFalse" ReadinessCheckTypeMatchCondition ReadinessCheckType = "MatchCondition" ReadinessCheckTypeNone ReadinessCheckType = "None" )
The possible values for readiness check type.
func (*ReadinessCheckType) IsValid ¶ added in v1.12.0
func (t *ReadinessCheckType) IsValid() bool
IsValid returns nil if the readiness check type is valid, or an error otherwise.
type RevisionSpecConverter ¶ added in v1.11.0
type RevisionSpecConverter interface { // goverter:ignore Revision ToRevisionSpec(in CompositionSpec) CompositionRevisionSpec FromRevisionSpec(in CompositionRevisionSpec) CompositionSpec }
A RevisionSpecConverter converts a CompositionSpec to the equivalent CompositionRevisionSpec.
goverter:converter goverter:name GeneratedRevisionSpecConverter goverter:extend ConvertRawExtension ConvertResourceQuantity +k8s:deepcopy-gen=false
type StoreConfigReference ¶ added in v1.10.0
type StoreConfigReference struct { // Name of the referenced StoreConfig. Name string `json:"name"` }
A StoreConfigReference references a secret store config that may be used to write connection details.
func (*StoreConfigReference) DeepCopy ¶ added in v1.10.0
func (in *StoreConfigReference) DeepCopy() *StoreConfigReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfigReference.
func (*StoreConfigReference) DeepCopyInto ¶ added in v1.10.0
func (in *StoreConfigReference) DeepCopyInto(out *StoreConfigReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringCombine ¶ added in v1.3.0
type StringCombine struct { // Format the input using a Go format string. See // https://golang.org/pkg/fmt/ for details. Format string `json:"fmt"` }
A StringCombine combines multiple input values into a single string.
func (*StringCombine) DeepCopy ¶ added in v1.3.0
func (in *StringCombine) DeepCopy() *StringCombine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringCombine.
func (*StringCombine) DeepCopyInto ¶ added in v1.3.0
func (in *StringCombine) DeepCopyInto(out *StringCombine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringConversionType ¶ added in v1.5.0
type StringConversionType string
StringConversionType converts a string.
const ( StringConversionTypeToUpper StringConversionType = "ToUpper" StringConversionTypeToLower StringConversionType = "ToLower" StringConversionTypeToJSON StringConversionType = "ToJson" StringConversionTypeToBase64 StringConversionType = "ToBase64" StringConversionTypeFromBase64 StringConversionType = "FromBase64" StringConversionTypeToSHA1 StringConversionType = "ToSha1" StringConversionTypeToSHA256 StringConversionType = "ToSha256" StringConversionTypeToSHA512 StringConversionType = "ToSha512" StringConversionTypeToAdler32 StringConversionType = "ToAdler32" )
Accepted StringConversionTypes.
type StringTransform ¶
type StringTransform struct { // Type of the string transform to be run. // +optional // +kubebuilder:validation:Enum=Format;Convert;TrimPrefix;TrimSuffix;Regexp // +kubebuilder:default=Format Type StringTransformType `json:"type,omitempty"` // Format the input using a Go format string. See // https://golang.org/pkg/fmt/ for details. // +optional Format *string `json:"fmt,omitempty"` // Optional conversion method to be specified. // `ToUpper` and `ToLower` change the letter case of the input string. // `ToBase64` and `FromBase64` perform a base64 conversion based on the input string. // `ToJson` converts any input value into its raw JSON representation. // `ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input // converted to JSON. // `ToAdler32` generate a addler32 hash based on the input string. // +optional // +kubebuilder:validation:Enum=ToUpper;ToLower;ToBase64;FromBase64;ToJson;ToSha1;ToSha256;ToSha512;ToAdler32 Convert *StringConversionType `json:"convert,omitempty"` // Trim the prefix or suffix from the input // +optional Trim *string `json:"trim,omitempty"` // Extract a match from the input using a regular expression. // +optional Regexp *StringTransformRegexp `json:"regexp,omitempty"` }
A StringTransform returns a string given the supplied input.
func (*StringTransform) DeepCopy ¶
func (in *StringTransform) DeepCopy() *StringTransform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringTransform.
func (*StringTransform) DeepCopyInto ¶
func (in *StringTransform) DeepCopyInto(out *StringTransform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StringTransform) Validate ¶ added in v1.12.0
func (s *StringTransform) Validate() *field.Error
Validate checks this StringTransform is valid.
type StringTransformRegexp ¶ added in v1.9.0
type StringTransformRegexp struct { // Match string. May optionally include submatches, aka capture groups. // See https://pkg.go.dev/regexp/ for details. Match string `json:"match"` // Group number to match. 0 (the default) matches the entire expression. // +optional Group *int `json:"group,omitempty"` }
A StringTransformRegexp extracts a match from the input using a regular expression.
func (*StringTransformRegexp) DeepCopy ¶ added in v1.9.0
func (in *StringTransformRegexp) DeepCopy() *StringTransformRegexp
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringTransformRegexp.
func (*StringTransformRegexp) DeepCopyInto ¶ added in v1.9.0
func (in *StringTransformRegexp) DeepCopyInto(out *StringTransformRegexp)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringTransformType ¶ added in v1.5.0
type StringTransformType string
StringTransformType transforms a string.
const ( StringTransformTypeFormat StringTransformType = "Format" // Default StringTransformTypeConvert StringTransformType = "Convert" StringTransformTypeTrimPrefix StringTransformType = "TrimPrefix" StringTransformTypeTrimSuffix StringTransformType = "TrimSuffix" StringTransformTypeRegexp StringTransformType = "Regexp" )
Accepted StringTransformTypes.
type Transform ¶
type Transform struct { // Type of the transform to be run. // +kubebuilder:validation:Enum=map;match;math;string;convert Type TransformType `json:"type"` // Math is used to transform the input via mathematical operations such as // multiplication. // +optional Math *MathTransform `json:"math,omitempty"` // Map uses the input as a key in the given map and returns the value. // +optional Map *MapTransform `json:"map,omitempty"` // Match is a more complex version of Map that matches a list of patterns. // +optional Match *MatchTransform `json:"match,omitempty"` // String is used to transform the input into a string or a different kind // of string. Note that the input does not necessarily need to be a string. // +optional String *StringTransform `json:"string,omitempty"` // Convert is used to cast the input into the given output type. // +optional Convert *ConvertTransform `json:"convert,omitempty"` }
Transform is a unit of process whose input is transformed into an output with the supplied configuration.
func (*Transform) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Transform.
func (*Transform) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Transform) GetOutputType ¶ added in v1.12.0
func (t *Transform) GetOutputType() (*TransformIOType, error)
GetOutputType returns the output type of the transform. It returns an error if the transform type is unknown. It returns nil if the output type is not known.
type TransformIOType ¶ added in v1.12.0
type TransformIOType string
TransformIOType defines the type of a ConvertTransform.
const ( TransformIOTypeString TransformIOType = "string" TransformIOTypeBool TransformIOType = "bool" TransformIOTypeInt TransformIOType = "int" TransformIOTypeInt64 TransformIOType = "int64" TransformIOTypeFloat64 TransformIOType = "float64" TransformIOTypeObject TransformIOType = "object" TransformIOTypeArray TransformIOType = "array" )
The list of supported Transform input and output types.
func (TransformIOType) IsValid ¶ added in v1.12.0
func (c TransformIOType) IsValid() bool
IsValid checks if the given TransformIOType is valid.
type TransformType ¶
type TransformType string
TransformType is type of the transform function to be chosen.
const ( ErrFmtConvertFormatPairNotSupported = "conversion from %s to %s is not supported with format %s" TransformTypeMap TransformType = "map" TransformTypeMatch TransformType = "match" TransformTypeMath TransformType = "math" TransformTypeString TransformType = "string" TransformTypeConvert TransformType = "convert" )
Accepted TransformTypes.
type TypeReference ¶
type TypeReference struct { // APIVersion of the type. APIVersion string `json:"apiVersion"` // Kind of the type. Kind string `json:"kind"` }
TypeReference is used to refer to a type for declaring compatibility.
func TypeReferenceTo ¶
func TypeReferenceTo(gvk schema.GroupVersionKind) TypeReference
TypeReferenceTo returns a reference to the supplied GroupVersionKind
func (*TypeReference) DeepCopy ¶
func (in *TypeReference) DeepCopy() *TypeReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeReference.
func (*TypeReference) DeepCopyInto ¶
func (in *TypeReference) DeepCopyInto(out *TypeReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- composition_common.go
- composition_environment.go
- composition_hash.go
- composition_patches.go
- composition_revision.go
- composition_revision_types.go
- composition_transforms.go
- composition_types.go
- composition_validation.go
- composition_webhooks.go
- conditions.go
- conversion.go
- doc.go
- register.go
- xrd_types.go
- xrd_validation.go
- xrd_webhooks.go
- zz_generated.conversion.go
- zz_generated.deepcopy.go