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 IsOptionalFieldPathNotFound(err error, s *PatchPolicy) bool
- 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 (in *CompositeResourceDefinition) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *CompositeResourceDefinition) ValidateCreate() error
- func (in *CompositeResourceDefinition) ValidateDelete() error
- func (in *CompositeResourceDefinition) ValidateUpdate(old runtime.Object) error
- type CompositeResourceDefinitionControllerStatus
- type CompositeResourceDefinitionList
- type CompositeResourceDefinitionSpec
- type CompositeResourceDefinitionStatus
- type CompositeResourceDefinitionVersion
- type CompositeResourceValidation
- type Composition
- type CompositionList
- type CompositionSpec
- type ConnectionDetail
- type ConnectionDetailType
- type ConvertTransform
- type FromFieldPathPolicy
- type MapTransform
- type MathTransform
- type Patch
- type PatchPolicy
- type PatchSet
- type PatchType
- type ReadinessCheck
- type ReadinessCheckType
- type StringCombine
- type StringConversionType
- type StringTransform
- type StringTransformType
- type Transform
- type TransformType
- type TypeReference
Constants ¶
const ( ConversionTypeToUpper = "ToUpper" ConversionTypeToLower = "ToLower" )
ConversionType accepted values.
const ( ConvertTransformTypeString = "string" ConvertTransformTypeBool = "bool" ConvertTransformTypeInt = "int" ConvertTransformTypeInt64 = "int64" ConvertTransformTypeFloat64 = "float64" )
The list of supported ConvertTransform input and output types.
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.
Functions ¶
func IsOptionalFieldPathNotFound ¶ added in v1.2.0
func IsOptionalFieldPathNotFound(err error, s *PatchPolicy) bool
IsOptionalFieldPathNotFound returns true if the supplied error indicates a field path was not found, and the supplied policy indicates a patch from that field path was optional.
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 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.
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) SetupWebhookWithManager ¶ added in v1.7.0
func (in *CompositeResourceDefinition) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager sets up webhook with manager.
func (*CompositeResourceDefinition) ValidateCreate ¶ added in v1.7.0
func (in *CompositeResourceDefinition) ValidateCreate() error
ValidateCreate is run for creation actions.
func (*CompositeResourceDefinition) ValidateDelete ¶ added in v1.7.0
func (in *CompositeResourceDefinition) ValidateDelete() error
ValidateDelete is run for delete actions.
func (*CompositeResourceDefinition) ValidateUpdate ¶ added in v1.7.0
func (in *CompositeResourceDefinition) ValidateUpdate(old runtime.Object) error
ValidateUpdate is run for update actions.
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"` // DefaultCompositionRef refers to the Composition resource that will be used // in case no composition selector is given. // +optional DefaultCompositionRef *xpv1.Reference `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 *xpv1.Reference `json:"enforcedCompositionRef,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. Note that all // versions must have identical schemas; Crossplane does not currently // support conversion between different version schemas. Versions []CompositeResourceDefinitionVersion `json:"versions"` }
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 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. 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 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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories=crossplane
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.
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 CompositionSpec ¶
type CompositionSpec struct { // CompositeTypeRef specifies the type of composite resource that this // composition is compatible with. // +immutable CompositeTypeRef TypeReference `json:"compositeTypeRef"` // PatchSets define a named set of patches that may be included by // any resource in this Composition. // PatchSets cannot themselves refer to other PatchSets. // +optional PatchSets []PatchSet `json:"patchSets,omitempty"` // Resources is the list of resource templates that will be used when a // composite resource referring to this composition is created. Resources []ComposedTemplate `json:"resources"` // 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 secrets of composite resource dynamically // provisioned using this composition will be published. // +optional // +kubebuilder:default={"name": "default"} PublishConnectionDetailsWithStoreConfigRef *xpv1.Reference `json:"publishConnectionDetailsWithStoreConfigRef,omitempty"` }
CompositionSpec specifies desired state of a composition.
func (*CompositionSpec) ComposedTemplates ¶ added in v1.4.0
func (rs *CompositionSpec) ComposedTemplates() ([]ComposedTemplate, error)
ComposedTemplates returns a revision's composed resource templates with any patchsets dereferenced.
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.
func (CompositionSpec) Hash ¶ added in v1.4.0
func (cs CompositionSpec) Hash() string
Hash of the CompositionSpec.
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. // +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 given target resource's 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 is specified. // +optional FromFieldPath *string `json:"fromFieldPath,omitempty"` // Value that will be propagated to the connection secret of the composition // instance. Typically you should use FromConnectionSecretKey instead, but // an explicit value may be set to inject a fixed, non-sensitive connection // secret values, for example a well-known port. Supercedes // FromConnectionSecretKey when set. // +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 ToType string `json:"toType"` }
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) Resolve ¶
func (s *ConvertTransform) Resolve(input interface{}) (interface{}, error)
Resolve runs the String transform.
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 MapTransform ¶
type MapTransform struct { // Pairs is the map that will be used for transform. // +optional Pairs map[string]string `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) Resolve ¶
func (m *MapTransform) Resolve(input interface{}) (interface{}, error)
Resolve runs the Map transform.
func (*MapTransform) UnmarshalJSON ¶
func (m *MapTransform) UnmarshalJSON(b []byte) error
UnmarshalJSON into this MapTransform.
type MathTransform ¶
type MathTransform struct { // Multiply the value. // +optional Multiply *int64 `json:"multiply,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) Resolve ¶
func (m *MathTransform) Resolve(input interface{}) (interface{}, error)
Resolve runs the Math transform.
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;PatchSet;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"` // 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) Apply ¶
Apply executes a patching operation between the from and to resources. Applies all patch types unless an 'only' filter is supplied.
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.
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.
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 PatchTypePatchSet PatchType = "PatchSet" PatchTypeToCompositeFieldPath PatchType = "ToCompositeFieldPath" PatchTypeCombineFromComposite PatchType = "CombineFromComposite" PatchTypeCombineToComposite PatchType = "CombineToComposite" )
Patch types.
type ReadinessCheck ¶
type ReadinessCheck struct { // Type indicates the type of probe you'd like to use. // +kubebuilder:validation:Enum="MatchString";"MatchInteger";"NonEmpty";"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"` }
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.
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" ReadinessCheckTypeNone ReadinessCheckType = "None" )
The possible values for readiness check type.
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) Combine ¶ added in v1.3.0
func (s *StringCombine) Combine(vars []interface{}) (interface{}, error)
Combine returns a single output by running a string format with all of its' input variables.
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 is the type of string conversion, ToUpper/ToLower
type StringTransform ¶
type StringTransform struct { // Type of the string transform to be run. // +optional // +kubebuilder:validation:Enum=Format;Convert;TrimPrefix;TrimSuffix // +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"` // Convert the type of conversion to Upper/Lower case. // +optional // +kubebuilder:validation:Enum=ToUpper;ToLower Convert *StringConversionType `json:"convert,omitempty"` // Trim the prefix or suffix from the input // +optional Trim *string `json:"trim,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) Resolve ¶
func (s *StringTransform) Resolve(input interface{}) (interface{}, error)
Resolve runs the String transform.
type StringTransformType ¶ added in v1.5.0
type StringTransformType string
StringTransformType is type of the string transform function to be executed fmt/convert.
const ( StringTransformFormat StringTransformType = "Format" // Default StringTransformConvert StringTransformType = "Convert" StringTransformTrimPrefix StringTransformType = "TrimPrefix" StringTransformTrimSuffix StringTransformType = "TrimSuffix" )
Accepted StringTransformType.
type Transform ¶
type Transform struct { // Type of the transform to be run. // +kubebuilder:validation:Enum=map;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"` // 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.
type TransformType ¶
type TransformType string
TransformType is type of the transform function to be chosen.
const ( TransformTypeMap TransformType = "map" 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.