v1alpha2

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2024 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Overview

Package v1alpha2 contains the v1alpha2 group Object resources of the Kubernetes provider. +kubebuilder:object:generate=true +groupName=kubernetes.crossplane.io +versionName=v1alpha2

Index

Constants

View Source
const (
	Group   = "kubernetes.crossplane.io"
	Version = "v1alpha2"
)

Package type metadata.

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}
)
View Source
var (
	ObjectKind             = reflect.TypeOf(Object{}).Name()
	ObjectGroupKind        = schema.GroupKind{Group: Group, Kind: ObjectKind}.String()
	ObjectKindAPIVersion   = ObjectKind + "." + SchemeGroupVersion.String()
	ObjectGroupVersionKind = SchemeGroupVersion.WithKind(ObjectKind)
)

Object type metadata.

Functions

This section is empty.

Types

type ConnectionDetail

type ConnectionDetail struct {
	v1.ObjectReference    `json:",inline"`
	ToConnectionSecretKey string `json:"toConnectionSecretKey,omitempty"`
}

ConnectionDetail represents an entry in the connection secret for an Object

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 DependsOn

type DependsOn struct {
	// APIVersion of the referenced object.
	// +kubebuilder:default=kubernetes.crossplane.io/v1alpha1
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`
	// Kind of the referenced object.
	// +kubebuilder:default=Object
	// +optional
	Kind string `json:"kind,omitempty"`
	// Name of the referenced object.
	Name string `json:"name"`
	// Namespace of the referenced object.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

DependsOn refers to an object by Name, Kind, APIVersion, etc. It is used to reference other Object or arbitrary Kubernetes resource which is either cluster or namespace scoped.

func (*DependsOn) DeepCopy

func (in *DependsOn) DeepCopy() *DependsOn

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

func (*DependsOn) DeepCopyInto

func (in *DependsOn) DeepCopyInto(out *DependsOn)

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

type Object

type Object struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ObjectSpec   `json:"spec"`
	Status ObjectStatus `json:"status,omitempty"`
}

A Object is an provider Kubernetes API type +kubebuilder:subresource:status +kubebuilder:printcolumn:name="KIND",type="string",JSONPath=".spec.forProvider.manifest.kind" +kubebuilder:printcolumn:name="APIVERSION",type="string",JSONPath=".spec.forProvider.manifest.apiVersion",priority=1 +kubebuilder:printcolumn:name="METANAME",type="string",JSONPath=".spec.forProvider.manifest.metadata.name",priority=1 +kubebuilder:printcolumn:name="METANAMESPACE",type="string",JSONPath=".spec.forProvider.manifest.metadata.namespace",priority=1 +kubebuilder:printcolumn:name="PROVIDERCONFIG",type="string",JSONPath=".spec.providerConfigRef.name" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,kubernetes} +kubebuilder:storageversion

func (*Object) DeepCopy

func (in *Object) DeepCopy() *Object

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

func (*Object) DeepCopyInto

func (in *Object) DeepCopyInto(out *Object)

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

func (*Object) DeepCopyObject

func (in *Object) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Object) GetCondition

func (mg *Object) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Object.

func (*Object) GetDeletionPolicy

func (mg *Object) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Object.

func (*Object) GetManagementPolicies

func (mg *Object) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Object.

func (*Object) GetProviderConfigReference

func (mg *Object) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Object.

func (*Object) GetPublishConnectionDetailsTo

func (mg *Object) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Object.

func (*Object) GetWriteConnectionSecretToReference

func (mg *Object) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Object.

func (*Object) Hub

func (g *Object) Hub()

Hub marks this type as a conversion hub.

func (*Object) SetConditions

func (mg *Object) SetConditions(c ...xpv1.Condition)

SetConditions of this Object.

func (*Object) SetDeletionPolicy

func (mg *Object) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Object.

func (*Object) SetManagementPolicies

func (mg *Object) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Object.

func (*Object) SetProviderConfigReference

func (mg *Object) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Object.

func (*Object) SetPublishConnectionDetailsTo

func (mg *Object) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Object.

func (*Object) SetWriteConnectionSecretToReference

func (mg *Object) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Object.

type ObjectAction

type ObjectAction string

ObjectAction defines actions applicable to Object

type ObjectList

type ObjectList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Object `json:"items"`
}

ObjectList contains a list of Object

func (*ObjectList) DeepCopy

func (in *ObjectList) DeepCopy() *ObjectList

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

func (*ObjectList) DeepCopyInto

func (in *ObjectList) DeepCopyInto(out *ObjectList)

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

func (*ObjectList) DeepCopyObject

func (in *ObjectList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ObjectList) GetItems

func (l *ObjectList) GetItems() []resource.Managed

GetItems of this ObjectList.

type ObjectObservation

type ObjectObservation struct {
	// Raw JSON representation of the remote object.
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Manifest runtime.RawExtension `json:"manifest,omitempty"`
}

ObjectObservation are the observable fields of a Object.

func (*ObjectObservation) DeepCopy

func (in *ObjectObservation) DeepCopy() *ObjectObservation

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

func (*ObjectObservation) DeepCopyInto

func (in *ObjectObservation) DeepCopyInto(out *ObjectObservation)

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

type ObjectParameters

type ObjectParameters struct {
	// Raw JSON representation of the kubernetes object to be created.
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Manifest runtime.RawExtension `json:"manifest"`
}

ObjectParameters are the configurable fields of a Object.

func (*ObjectParameters) DeepCopy

func (in *ObjectParameters) DeepCopy() *ObjectParameters

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

func (*ObjectParameters) DeepCopyInto

func (in *ObjectParameters) DeepCopyInto(out *ObjectParameters)

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

type ObjectSpec

type ObjectSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ConnectionDetails []ConnectionDetail `json:"connectionDetails,omitempty"`
	ForProvider       ObjectParameters   `json:"forProvider"`
	References        []Reference        `json:"references,omitempty"`
	Readiness         Readiness          `json:"readiness,omitempty"`
	// Watch enables watching the referenced or managed kubernetes resources.
	//
	// THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored
	// unless "watches" feature gate is enabled, and may be changed or removed
	// without notice.
	// +optional
	// +kubebuilder:default=false
	Watch bool `json:"watch,omitempty"`
}

A ObjectSpec defines the desired state of a Object.

func (*ObjectSpec) DeepCopy

func (in *ObjectSpec) DeepCopy() *ObjectSpec

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

func (*ObjectSpec) DeepCopyInto

func (in *ObjectSpec) DeepCopyInto(out *ObjectSpec)

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

type ObjectStatus

type ObjectStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ObjectObservation `json:"atProvider,omitempty"`
}

A ObjectStatus represents the observed state of a Object.

func (*ObjectStatus) DeepCopy

func (in *ObjectStatus) DeepCopy() *ObjectStatus

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

func (*ObjectStatus) DeepCopyInto

func (in *ObjectStatus) DeepCopyInto(out *ObjectStatus)

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

type PatchesFrom

type PatchesFrom struct {
	DependsOn `json:",inline"`
	// FieldPath is the path of the field on the resource whose value is to be
	// used as input.
	FieldPath *string `json:"fieldPath"`
}

PatchesFrom refers to an object by Name, Kind, APIVersion, etc., and patch fields from this object.

func (*PatchesFrom) DeepCopy

func (in *PatchesFrom) DeepCopy() *PatchesFrom

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

func (*PatchesFrom) DeepCopyInto

func (in *PatchesFrom) DeepCopyInto(out *PatchesFrom)

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

type Readiness

type Readiness struct {
	// Policy defines how the Object's readiness condition should be computed.
	// +optional
	// +kubebuilder:validation:Enum=SuccessfulCreate;DeriveFromObject;AllTrue;DeriveFromCelQuery
	// +kubebuilder:default=SuccessfulCreate
	Policy ReadinessPolicy `json:"policy,omitempty"`

	// CelQuery defines a cel query to evaluate the readiness. The
	// observed object is passed to the cel query with the word `object`.
	// Cel macros are available to be used, see https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
	// for more information.
	// Examples:
	//  `object.status.isReady == true`: checks for a boolean field called isReady on status.
	//  `object.status.conditions.all(x, x.status == "True")` mimics the behavior of the AllTrue readiness policy
	//  `object.status.conditions.exists(c, c.type == "condition1" && c.status == "True" )` checks just one condition
	CelQuery string `json:"celQuery,omitempty"`
}

Readiness defines how the object's readiness condition should be computed, if not specified it will be considered ready as soon as the underlying external resource is considered up-to-date. +kubebuilder:validation:XValidation:rule="self.policy != 'DeriveFromCelQuery' || (self.policy == 'DeriveFromCelQuery' && size(self.celQuery) > 0)",message="celQuery must be set if policy is DeriveFromCelQuery"

func (*Readiness) DeepCopy

func (in *Readiness) DeepCopy() *Readiness

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

func (*Readiness) DeepCopyInto

func (in *Readiness) DeepCopyInto(out *Readiness)

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

type ReadinessPolicy

type ReadinessPolicy string

ReadinessPolicy defines how the Object's readiness condition should be computed.

const (
	// ReadinessPolicySuccessfulCreate means the object is marked as ready when the
	// underlying external resource is successfully created.
	ReadinessPolicySuccessfulCreate ReadinessPolicy = "SuccessfulCreate"
	// ReadinessPolicyDeriveFromObject means the object is marked as ready if and only if the underlying
	// external resource is considered ready.
	ReadinessPolicyDeriveFromObject ReadinessPolicy = "DeriveFromObject"
	// ReadinessPolicyAllTrue means that all conditions have status true on the object.
	// There must be at least one condition.
	ReadinessPolicyAllTrue ReadinessPolicy = "AllTrue"
	// ReadinessPolicyDeriveFromCelQuery means that a cel expression will be used to calculate the overall status.
	// The cel expression must be provided on the readiness struct.
	ReadinessPolicyDeriveFromCelQuery ReadinessPolicy = "DeriveFromCelQuery"
)

type Reference

type Reference struct {
	// DependsOn is used to declare dependency on other Object or arbitrary
	// Kubernetes resource.
	// +optional
	*DependsOn `json:"dependsOn,omitempty"`
	// PatchesFrom is used to declare dependency on other Object or arbitrary
	// Kubernetes resource, and also patch fields from this object.
	// +optional
	*PatchesFrom `json:"patchesFrom,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 patchesFrom.fieldPath.
	// +optional
	ToFieldPath *string `json:"toFieldPath,omitempty"`
}

Reference refers to an Object or arbitrary Kubernetes resource and optionally patch values from that resource to the current Object.

func (*Reference) ApplyFromFieldPathPatch

func (r *Reference) ApplyFromFieldPathPatch(from, to runtime.Object) error

ApplyFromFieldPathPatch patches the "to" resource, using a source field on the "from" resource.

func (*Reference) DeepCopy

func (in *Reference) DeepCopy() *Reference

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

func (*Reference) DeepCopyInto

func (in *Reference) DeepCopyInto(out *Reference)

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