Documentation ¶
Overview ¶
Package v1alpha1 contains the v1alpha1 group Object resources of the Kubernetes provider. +kubebuilder:object:generate=true +groupName=kubernetes.crossplane.io +versionName=v1alpha1
Index ¶
Constants ¶
const ( Group = "kubernetes.crossplane.io" Version = "v1alpha1" )
Package type metadata.
const ( // Default means the provider can fully manage the resource. Default ManagementPolicy = "Default" // ObserveCreateUpdate means the provider can observe, create, or update // the resource, but can not delete it. ObserveCreateUpdate ManagementPolicy = "ObserveCreateUpdate" // ObserveDelete means the provider can observe or delete the resource, but // can not create and update it. ObserveDelete ManagementPolicy = "ObserveDelete" // Observe means the provider can only observe the resource. Observe ManagementPolicy = "Observe" // ObjectActionCreate means to create an Object ObjectActionCreate ObjectAction = "Create" // ObjectActionUpdate means to update an Object ObjectActionUpdate ObjectAction = "Update" // ObjectActionDelete means to delete an Object ObjectActionDelete ObjectAction = "Delete" )
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} )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependsOn.
func (*DependsOn) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagementPolicy ¶
type ManagementPolicy string
A ManagementPolicy determines what should happen to the underlying external resource when a managed resource is created, updated, deleted, or observed. +kubebuilder:validation:Enum=Default;ObserveCreateUpdate;ObserveDelete;Observe
func (*ManagementPolicy) IsActionAllowed ¶
func (p *ManagementPolicy) IsActionAllowed(action ObjectAction) bool
IsActionAllowed determines if action is allowed to be performed on Object
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:deprecatedversion Deprecated: v1alpha1.Object is deprecated in favor of v1alpha2.Object
func (*Object) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Object.
func (*Object) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Object) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Object) GetManagementPolicies ¶
func (mg *Object) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this Object.
func (*Object) SetManagementPolicies ¶
func (mg *Object) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this 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.
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 { ResourceSpec `json:",inline"` ConnectionDetails []ConnectionDetail `json:"connectionDetails,omitempty"` ForProvider ObjectParameters `json:"forProvider"` // +kubebuilder:default=Default ManagementPolicy `json:"managementPolicy,omitempty"` 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 // +kubebuilder:default=SuccessfulCreate Policy ReadinessPolicy `json:"policy,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.
func (*Readiness) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Readiness.
func (*Readiness) DeepCopyInto ¶
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" )
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 ¶
ApplyFromFieldPathPatch patches the "to" resource, using a source field on the "from" resource.
func (*Reference) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reference.
func (*Reference) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSpec ¶
type ResourceSpec struct { // WriteConnectionSecretToReference specifies the namespace and name of a // Secret to which any connection details for this managed resource should // be written. Connection details frequently include the endpoint, username, // and password required to connect to the managed resource. // This field is planned to be replaced in a future release in favor of // PublishConnectionDetailsTo. Currently, both could be set independently // and connection details would be published to both without affecting // each other. // +optional WriteConnectionSecretToReference *xpv1.SecretReference `json:"writeConnectionSecretToRef,omitempty"` // PublishConnectionDetailsTo specifies the connection secret config which // contains a name, metadata and a reference to secret store config to // which any connection details for this managed resource should be written. // Connection details frequently include the endpoint, username, // and password required to connect to the managed resource. // +optional PublishConnectionDetailsTo *xpv1.PublishConnectionDetailsTo `json:"publishConnectionDetailsTo,omitempty"` // ProviderConfigReference specifies how the provider that will be used to // create, observe, update, and delete this managed resource should be // configured. // +kubebuilder:default={"name": "default"} ProviderConfigReference *xpv1.Reference `json:"providerConfigRef,omitempty"` // ProviderReference specifies the provider that will be used to create, // observe, update, and delete this managed resource. // Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef` ProviderReference *xpv1.Reference `json:"providerRef,omitempty"` // DeletionPolicy specifies what will happen to the underlying external // when this managed resource is deleted - either "Delete" or "Orphan" the // external resource. // This field is planned to be deprecated in favor of the ManagementPolicy // field in a future release. Currently, both could be set independently and // non-default values would be honored if the feature flag is enabled. // See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 // +optional // +kubebuilder:default=Delete DeletionPolicy xpv1.DeletionPolicy `json:"deletionPolicy,omitempty"` }
A ResourceSpec defines the desired state of a managed resource.
func (*ResourceSpec) DeepCopy ¶
func (in *ResourceSpec) DeepCopy() *ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (*ResourceSpec) DeepCopyInto ¶
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.