v1alpha1

package
v1.9.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: Apache-2.0 Imports: 9 Imported by: 6

Documentation

Overview

Package v1alpha1 contains API types that extend the Crossplane API. +kubebuilder:object:generate=true +groupName=apiextensions.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	ReasonCompositionSpecMatches xpv1.ConditionReason = "CompositionSpecMatches"
	ReasonCompositionSpecDiffers xpv1.ConditionReason = "CompositionSpecDiffers"
)

Reasons a package is or is not current.

View Source
const (
	Group   = "apiextensions.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

View Source
const (
	// LabelCompositionName is the name of the Composition used to create
	// this CompositionRevision.
	LabelCompositionName = "crossplane.io/composition-name"

	// LabelCompositionSpecHash is a hash of the Composition spec used to
	// create this CompositionRevision. Used to identify identical
	// revisions.
	LabelCompositionSpecHash = "crossplane.io/composition-spec-hash"
)
View Source
const (
	ConvertTransformTypeString  = "string"
	ConvertTransformTypeBool    = "bool"
	ConvertTransformTypeInt     = "int"
	ConvertTransformTypeInt64   = "int64"
	ConvertTransformTypeFloat64 = "float64"
)

The list of supported ConvertTransform input and output types.

View Source
const (
	// TypeCurrent indicates whether a CompositionRevision is 'current' -
	// i.e. whether it matches the current state of its Composition.
	TypeCurrent xpv1.ConditionType = "Current"
)

Condition types.

Variables

View Source
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
)
View Source
var (
	CompositionRevisionKind             = reflect.TypeOf(CompositionRevision{}).Name()
	CompositionRevisionGroupKind        = schema.GroupKind{Group: Group, Kind: CompositionRevisionKind}.String()
	CompositionRevisionKindAPIVersion   = CompositionRevisionKind + "." + SchemeGroupVersion.String()
	CompositionRevisionGroupVersionKind = SchemeGroupVersion.WithKind(CompositionRevisionKind)
)

Composition type metadata.

Functions

func CompositionSpecDiffers added in v1.4.0

func CompositionSpecDiffers() xpv1.Condition

CompositionSpecDiffers indicates that a revision is current because its spec differs from the Composition's.

func CompositionSpecMatches added in v1.4.0

func CompositionSpecMatches() xpv1.Condition

CompositionSpecMatches indicates that a revision is current because its spec matches the Composition's.

Types

type Combine added in v1.4.0

type Combine struct {
	// Variables are the list of variables whose values will be retrieved and
	// combined.
	// +kubebuilder:validation:MinItems=1
	// +immutable
	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
	// +immutable
	Strategy CombineStrategy `json:"strategy"`

	// String declares that input variables should be combined into a single
	// string, using the relevant settings for formatting purposes.
	// +optional
	// +immutable
	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.4.0

func (in *Combine) DeepCopy() *Combine

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

func (*Combine) DeepCopyInto added in v1.4.0

func (in *Combine) DeepCopyInto(out *Combine)

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

type CombineStrategy added in v1.4.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.4.0

type CombineVariable struct {
	// FromFieldPath is the path of the field on the source whose value is
	// to be used as input.
	// +immutable
	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.4.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.4.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
	// +immutable
	Name *string `json:"name,omitempty"`

	// Base is the target resource that the patches will be applied on.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:EmbeddedResource
	// +immutable
	Base runtime.RawExtension `json:"base"`

	// Patches will be applied as overlay to the base resource.
	// +optional
	// +immutable
	Patches []Patch `json:"patches,omitempty"`

	// ConnectionDetails lists the propagation secret keys from this target
	// resource to the composition instance connection secret.
	// +optional
	// +immutable
	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
	// +immutable
	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 CompositionRevision added in v1.4.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="CURRENT",type="string",JSONPath=".status.conditions[?(@.type=='Current')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories=crossplane +kubebuilder:subresource:status

func (*CompositionRevision) DeepCopy added in v1.4.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.4.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.4.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.4.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.4.0

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

func (*CompositionRevisionList) DeepCopyInto added in v1.4.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.4.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.4.0

type CompositionRevisionSpec 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 removed 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"`

	// 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.4.0

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

func (*CompositionRevisionSpec) DeepCopyInto added in v1.4.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.4.0

type CompositionRevisionStatus struct {
	xpv1.ConditionedStatus `json:",inline"`
}

CompositionRevisionStatus shows the observed state of the composition revision.

func (*CompositionRevisionStatus) DeepCopy added in v1.4.0

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

func (*CompositionRevisionStatus) DeepCopyInto added in v1.4.0

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

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
	// +immutable
	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
	// +immutable
	// +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
	// +immutable
	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
	// +immutable
	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
	// +immutable
	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.4.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 added in v1.4.0

type ConvertTransform struct {
	// ToType is the type of the output of this transform.
	// +immutable
	// +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 added in v1.4.0

func (in *ConvertTransform) DeepCopy() *ConvertTransform

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

func (*ConvertTransform) DeepCopyInto added in v1.4.0

func (in *ConvertTransform) DeepCopyInto(out *ConvertTransform)

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

type FromFieldPathPolicy added in v1.4.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
	// +immutable
	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 added in v0.11.0

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 added in v0.11.0

func (m *MapTransform) UnmarshalJSON(b []byte) error

UnmarshalJSON into this MapTransform.

type MathTransform

type MathTransform struct {
	// Multiply the value.
	// +optional
	// +immutable
	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.

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
	// +immutable
	// +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
	// +immutable
	FromFieldPath *string `json:"fromFieldPath,omitempty"`

	// Combine is the patch configuration for a CombineFromComposite or
	// CombineToComposite patch.
	// +optional
	// +immutable
	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
	// +immutable
	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
	// +immutable
	Transforms []Transform `json:"transforms,omitempty"`

	// Policy configures the specifics of patching behaviour.
	// +optional
	// +immutable
	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

func (in *Patch) DeepCopy() *Patch

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

func (*Patch) DeepCopyInto

func (in *Patch) DeepCopyInto(out *Patch)

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

type PatchPolicy added in v1.4.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
	// +immutable
	FromFieldPath *FromFieldPathPolicy `json:"fromFieldPath,omitempty"`
}

A PatchPolicy configures the specifics of patching behaviour.

func (*PatchPolicy) DeepCopy added in v1.4.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.4.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 added in v1.4.0

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 added in v1.4.0

func (in *PatchSet) DeepCopy() *PatchSet

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

func (*PatchSet) DeepCopyInto added in v1.4.0

func (in *PatchSet) DeepCopyInto(out *PatchSet)

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

type PatchType added in v1.4.0

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 added in v0.13.0

type ReadinessCheck struct {
	// Type indicates the type of probe you'd like to use.
	// +kubebuilder:validation:Enum="MatchString";"MatchInteger";"NonEmpty";"None"
	// +immutable
	Type ReadinessCheckType `json:"type"`

	// FieldPath shows the path of the field whose value will be used.
	// +optional
	// +immutable
	FieldPath string `json:"fieldPath,omitempty"`

	// MatchString is the value you'd like to match if you're using "MatchString" type.
	// +optional
	// +immutable
	MatchString string `json:"matchString,omitempty"`

	// MatchInt is the value you'd like to match if you're using "MatchInt" type.
	// +optional
	// +immutable
	MatchInteger int64 `json:"matchInteger,omitempty"`
}

ReadinessCheck is used to indicate how to tell whether a resource is ready for consumption

func (*ReadinessCheck) DeepCopy added in v0.13.0

func (in *ReadinessCheck) DeepCopy() *ReadinessCheck

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

func (*ReadinessCheck) DeepCopyInto added in v0.13.0

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.4.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.4.0

type StringCombine struct {
	// Format the input using a Go format string. See
	// https://golang.org/pkg/fmt/ for details.
	// +immutable
	Format string `json:"fmt"`
}

A StringCombine combines multiple input values into a single string.

func (*StringCombine) DeepCopy added in v1.4.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.4.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.7.3

type StringConversionType string

A StringConversionType converts a string.

const (
	StringConversionTypeToUpper    StringConversionType = "ToUpper"
	StringConversionTypeToLower    StringConversionType = "ToLower"
	StringConversionTypeToBase64   StringConversionType = "ToBase64"
	StringConversionTypeFromBase64 StringConversionType = "FromBase64"
)

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
	// +immutable
	Format *string `json:"fmt,omitempty"`

	// Convert the type of conversion to Upper/Lower case.
	// +optional
	// +kubebuilder:validation:Enum=ToUpper;ToLower;ToBase64;FromBase64
	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.

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

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.7.3

type StringTransformType string

A 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;math;string;convert
	// +immutable
	Type TransformType `json:"type"`

	// Math is used to transform the input via mathematical operations such as
	// multiplication.
	// +optional
	// +immutable
	Math *MathTransform `json:"math,omitempty"`

	// Map uses the input as a key in the given map and returns the value.
	// +optional
	// +immutable
	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
	// +immutable
	String *StringTransform `json:"string,omitempty"`

	// Convert is used to cast the input into the given output type.
	// +optional
	// +immutable
	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

func (in *Transform) DeepCopy() *Transform

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

func (*Transform) DeepCopyInto

func (in *Transform) DeepCopyInto(out *Transform)

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 added in v0.14.0

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.

Jump to

Keyboard shortcuts

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