v1alpha1

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 9 Imported by: 115

Documentation

Overview

Package v1alpha1 contains the v1alpha1 RuntimeHooks. +kubebuilder:object:generate=true +k8s:openapi-gen=true

Index

Constants

View Source
const DefaultHandlersTimeoutSeconds = 10

DefaultHandlersTimeoutSeconds defines the default timeout duration for client calls to ExtensionHandlers.

Variables

View Source
var (
	// GroupVersion is the group version identifying RuntimeHooks defined in this package
	// and their request and response types.
	GroupVersion = schema.GroupVersion{Group: "hooks.runtime.cluster.x-k8s.io", Version: "v1alpha1"}

	// AddToCatalog adds RuntimeHooks defined in this package and their request and
	// response types to a catalog.
	AddToCatalog = catalogBuilder.AddToCatalog
)

Functions

func AfterClusterUpgrade

AfterClusterUpgrade is the hook that is called after the entire cluster is updated to the target Kubernetes version.

func AfterControlPlaneInitialized

AfterControlPlaneInitialized is the hook that will be called after the control plane is initialized for the first time.

func AfterControlPlaneUpgrade

AfterControlPlaneUpgrade is the hook called after the control plane is successfully upgraded to the target Kubernetes version and before the target version is propagated to the workload machines.

func BeforeClusterCreate

BeforeClusterCreate is the hook that will be called right before the topology of the Cluster is created.

func BeforeClusterDelete

BeforeClusterDelete is the hook that is called after delete is issued on a cluster and before the cluster and its underlying objects are deleted.

func BeforeClusterUpgrade

BeforeClusterUpgrade is the hook that will be called after a Cluster.spec.version is upgraded and before the updated version is propagated to the underlying objects.

func DiscoverVariables added in v1.4.0

DiscoverVariables returns variable schemas defined by a Runtime Extension.

func Discovery

func Discovery(*DiscoveryRequest, *DiscoveryResponse)

Discovery represents the discovery hook.

func GeneratePatches

GeneratePatches generates patches during topology reconciliation for the entire Cluster topology.

func ValidateTopology

ValidateTopology validates the Cluster topology after all patches have been applied.

Types

type AfterClusterUpgradeRequest

type AfterClusterUpgradeRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`

	// KubernetesVersion is the Kubernetes version after upgrade.
	KubernetesVersion string `json:"kubernetesVersion"`
}

AfterClusterUpgradeRequest is the request of the AfterClusterUpgrade hook. +kubebuilder:object:root=true

func (*AfterClusterUpgradeRequest) DeepCopy

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

func (*AfterClusterUpgradeRequest) DeepCopyInto

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

func (*AfterClusterUpgradeRequest) DeepCopyObject

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

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

type AfterClusterUpgradeResponse

type AfterClusterUpgradeResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`
}

AfterClusterUpgradeResponse is the response of the AfterClusterUpgrade hook. +kubebuilder:object:root=true

func (*AfterClusterUpgradeResponse) DeepCopy

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

func (*AfterClusterUpgradeResponse) DeepCopyInto

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

func (*AfterClusterUpgradeResponse) DeepCopyObject

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

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

type AfterControlPlaneInitializedRequest

type AfterControlPlaneInitializedRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`
}

AfterControlPlaneInitializedRequest is the request of the AfterControlPlaneInitialized hook. +kubebuilder:object:root=true

func (*AfterControlPlaneInitializedRequest) DeepCopy

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

func (*AfterControlPlaneInitializedRequest) DeepCopyInto

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

func (*AfterControlPlaneInitializedRequest) DeepCopyObject

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

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

type AfterControlPlaneInitializedResponse

type AfterControlPlaneInitializedResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`
}

AfterControlPlaneInitializedResponse is the response of the AfterControlPlaneInitialized hook. +kubebuilder:object:root=true

func (*AfterControlPlaneInitializedResponse) DeepCopy

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

func (*AfterControlPlaneInitializedResponse) DeepCopyInto

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

func (*AfterControlPlaneInitializedResponse) DeepCopyObject

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

type AfterControlPlaneUpgradeRequest

type AfterControlPlaneUpgradeRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`

	// KubernetesVersion is the Kubernetes version of the Control Plane after the upgrade.
	KubernetesVersion string `json:"kubernetesVersion"`
}

AfterControlPlaneUpgradeRequest is the request of the AfterControlPlaneUpgrade hook. +kubebuilder:object:root=true

func (*AfterControlPlaneUpgradeRequest) DeepCopy

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

func (*AfterControlPlaneUpgradeRequest) DeepCopyInto

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

func (*AfterControlPlaneUpgradeRequest) DeepCopyObject

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

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

type AfterControlPlaneUpgradeResponse

type AfterControlPlaneUpgradeResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRetryResponse contains Status, Message and RetryAfterSeconds fields.
	CommonRetryResponse `json:",inline"`
}

AfterControlPlaneUpgradeResponse is the response of the AfterControlPlaneUpgrade hook. +kubebuilder:object:root=true

func (*AfterControlPlaneUpgradeResponse) DeepCopy

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

func (*AfterControlPlaneUpgradeResponse) DeepCopyInto

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

func (*AfterControlPlaneUpgradeResponse) DeepCopyObject

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

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

type BeforeClusterCreateRequest

type BeforeClusterCreateRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`
}

BeforeClusterCreateRequest is the request of the BeforeClusterCreate hook. +kubebuilder:object:root=true

func (*BeforeClusterCreateRequest) DeepCopy

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

func (*BeforeClusterCreateRequest) DeepCopyInto

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

func (*BeforeClusterCreateRequest) DeepCopyObject

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

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

type BeforeClusterCreateResponse

type BeforeClusterCreateResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRetryResponse contains Status, Message and RetryAfterSeconds fields.
	CommonRetryResponse `json:",inline"`
}

BeforeClusterCreateResponse is the response of the BeforeClusterCreate hook. +kubebuilder:object:root=true

func (*BeforeClusterCreateResponse) DeepCopy

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

func (*BeforeClusterCreateResponse) DeepCopyInto

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

func (*BeforeClusterCreateResponse) DeepCopyObject

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

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

type BeforeClusterDeleteRequest

type BeforeClusterDeleteRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`
}

BeforeClusterDeleteRequest is the request of the BeforeClusterDelete hook. +kubebuilder:object:root=true

func (*BeforeClusterDeleteRequest) DeepCopy

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

func (*BeforeClusterDeleteRequest) DeepCopyInto

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

func (*BeforeClusterDeleteRequest) DeepCopyObject

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

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

type BeforeClusterDeleteResponse

type BeforeClusterDeleteResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRetryResponse contains Status, Message and RetryAfterSeconds fields.
	CommonRetryResponse `json:",inline"`
}

BeforeClusterDeleteResponse is the response of the BeforeClusterDelete hook. +kubebuilder:object:root=true

func (*BeforeClusterDeleteResponse) DeepCopy

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

func (*BeforeClusterDeleteResponse) DeepCopyInto

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

func (*BeforeClusterDeleteResponse) DeepCopyObject

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

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

type BeforeClusterUpgradeRequest

type BeforeClusterUpgradeRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains fields common to all request types.
	CommonRequest `json:",inline"`

	// Cluster is the cluster object the lifecycle hook corresponds to.
	Cluster clusterv1.Cluster `json:"cluster"`

	// FromKubernetesVersion is the current Kubernetes version of the cluster.
	FromKubernetesVersion string `json:"fromKubernetesVersion"`

	// ToKubernetesVersion is the target Kubernetes version of the upgrade.
	ToKubernetesVersion string `json:"toKubernetesVersion"`
}

BeforeClusterUpgradeRequest is the request of the BeforeClusterUpgrade hook. +kubebuilder:object:root=true

func (*BeforeClusterUpgradeRequest) DeepCopy

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

func (*BeforeClusterUpgradeRequest) DeepCopyInto

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

func (*BeforeClusterUpgradeRequest) DeepCopyObject

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

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

type BeforeClusterUpgradeResponse

type BeforeClusterUpgradeResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRetryResponse contains Status, Message and RetryAfterSeconds fields.
	CommonRetryResponse `json:",inline"`
}

BeforeClusterUpgradeResponse is the response of the BeforeClusterUpgrade hook. +kubebuilder:object:root=true

func (*BeforeClusterUpgradeResponse) DeepCopy

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

func (*BeforeClusterUpgradeResponse) DeepCopyInto

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

func (*BeforeClusterUpgradeResponse) DeepCopyObject

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

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

type CommonRequest added in v1.4.0

type CommonRequest struct {
	// Settings defines key value pairs to be passed to the call.
	// +optional
	Settings map[string]string `json:"settings,omitempty"`
}

CommonRequest is the data structure common to all request types. Note: By embedding CommonRequest in a runtime.Object the RequestObject interface is satisfied.

func (*CommonRequest) DeepCopy added in v1.4.0

func (in *CommonRequest) DeepCopy() *CommonRequest

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

func (*CommonRequest) DeepCopyInto added in v1.4.0

func (in *CommonRequest) DeepCopyInto(out *CommonRequest)

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

func (*CommonRequest) GetSettings added in v1.4.0

func (r *CommonRequest) GetSettings() map[string]string

GetSettings get the Settings field from the CommonRequest.

func (*CommonRequest) SetSettings added in v1.4.0

func (r *CommonRequest) SetSettings(settings map[string]string)

SetSettings sets the Settings field in the CommonRequest.

type CommonResponse

type CommonResponse struct {
	// Status of the call. One of "Success" or "Failure".
	Status ResponseStatus `json:"status"`

	// A human-readable description of the status of the call.
	Message string `json:"message"`
}

CommonResponse is the data structure common to all response types. Note: By embedding CommonResponse in a runtime.Object the ResponseObject interface is satisfied.

func (*CommonResponse) DeepCopy

func (in *CommonResponse) DeepCopy() *CommonResponse

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

func (*CommonResponse) DeepCopyInto

func (in *CommonResponse) DeepCopyInto(out *CommonResponse)

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

func (*CommonResponse) GetMessage

func (r *CommonResponse) GetMessage() string

GetMessage returns the Message field for the CommonResponse.

func (*CommonResponse) GetStatus

func (r *CommonResponse) GetStatus() ResponseStatus

GetStatus returns the Status field for the CommonResponse.

func (*CommonResponse) SetMessage

func (r *CommonResponse) SetMessage(message string)

SetMessage sets the Message field for the CommonResponse.

func (*CommonResponse) SetStatus

func (r *CommonResponse) SetStatus(status ResponseStatus)

SetStatus sets the Status field for the CommonResponse.

type CommonRetryResponse

type CommonRetryResponse struct {
	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`

	// RetryAfterSeconds when set to a non-zero value signifies that the hook
	// will be called again at a future time.
	RetryAfterSeconds int32 `json:"retryAfterSeconds"`
}

CommonRetryResponse is the data structure which contains all common and retry fields. Note: By embedding CommonRetryResponse in a runtime.Object the RetryResponseObject interface is satisfied.

func (*CommonRetryResponse) DeepCopy

func (in *CommonRetryResponse) DeepCopy() *CommonRetryResponse

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

func (*CommonRetryResponse) DeepCopyInto

func (in *CommonRetryResponse) DeepCopyInto(out *CommonRetryResponse)

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

func (*CommonRetryResponse) GetRetryAfterSeconds

func (r *CommonRetryResponse) GetRetryAfterSeconds() int32

GetRetryAfterSeconds returns the RetryAfterSeconds field for the CommonRetryResponse.

func (*CommonRetryResponse) SetRetryAfterSeconds

func (r *CommonRetryResponse) SetRetryAfterSeconds(retryAfterSeconds int32)

SetRetryAfterSeconds sets the RetryAfterSeconds field for the CommonRetryResponse.

type DiscoverVariablesRequest added in v1.4.0

type DiscoverVariablesRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains Settings field common to all request types.
	CommonRequest `json:",inline"`
}

DiscoverVariablesRequest is the request of the DiscoverVariables hook. +kubebuilder:object:root=true

func (*DiscoverVariablesRequest) DeepCopy added in v1.4.0

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

func (*DiscoverVariablesRequest) DeepCopyInto added in v1.4.0

func (in *DiscoverVariablesRequest) DeepCopyInto(out *DiscoverVariablesRequest)

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

func (*DiscoverVariablesRequest) DeepCopyObject added in v1.4.0

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

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

type DiscoverVariablesResponse added in v1.4.0

type DiscoverVariablesResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`

	// Variables are variable schemas for variables defined by the DiscoverVariables hook.
	Variables []clusterv1.ClusterClassVariable `json:"variables"`
}

DiscoverVariablesResponse is the response of the DiscoverVariables hook. +kubebuilder:object:root=true

func (*DiscoverVariablesResponse) DeepCopy added in v1.4.0

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

func (*DiscoverVariablesResponse) DeepCopyInto added in v1.4.0

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

func (*DiscoverVariablesResponse) DeepCopyObject added in v1.4.0

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

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

type DiscoveryRequest

type DiscoveryRequest struct {
	metav1.TypeMeta `json:",inline"`
}

DiscoveryRequest is the request of the Discovery hook. +kubebuilder:object:root=true

func (*DiscoveryRequest) DeepCopy

func (in *DiscoveryRequest) DeepCopy() *DiscoveryRequest

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

func (*DiscoveryRequest) DeepCopyInto

func (in *DiscoveryRequest) DeepCopyInto(out *DiscoveryRequest)

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

func (*DiscoveryRequest) DeepCopyObject

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

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

type DiscoveryResponse

type DiscoveryResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`

	// Handlers defines the current ExtensionHandlers supported by an Extension.
	// +listType=map
	// +listMapKey=name
	Handlers []ExtensionHandler `json:"handlers"`
}

DiscoveryResponse is the response of the Discovery hook. +kubebuilder:object:root=true

func (*DiscoveryResponse) DeepCopy

func (in *DiscoveryResponse) DeepCopy() *DiscoveryResponse

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

func (*DiscoveryResponse) DeepCopyInto

func (in *DiscoveryResponse) DeepCopyInto(out *DiscoveryResponse)

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

func (*DiscoveryResponse) DeepCopyObject

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

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

type ExtensionHandler

type ExtensionHandler struct {
	// Name is the name of the ExtensionHandler.
	Name string `json:"name"`

	// RequestHook defines the versioned runtime hook which this ExtensionHandler serves.
	RequestHook GroupVersionHook `json:"requestHook"`

	// TimeoutSeconds defines the timeout duration for client calls to the ExtensionHandler.
	// This is defaulted to 10 if left undefined.
	TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"`

	// FailurePolicy defines how failures in calls to the ExtensionHandler should be handled by a client.
	// This is defaulted to FailurePolicyFail if not defined.
	FailurePolicy *FailurePolicy `json:"failurePolicy,omitempty"`
}

ExtensionHandler represents the discovery information for an extension handler which includes the hook it supports.

func (*ExtensionHandler) DeepCopy

func (in *ExtensionHandler) DeepCopy() *ExtensionHandler

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

func (*ExtensionHandler) DeepCopyInto

func (in *ExtensionHandler) DeepCopyInto(out *ExtensionHandler)

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

type FailurePolicy

type FailurePolicy string

FailurePolicy specifies how unrecognized errors when calling the ExtensionHandler are handled. FailurePolicy helps with extensions not working consistently, e.g. due to an intermittent network issue. The following type of errors are never ignored by FailurePolicy Ignore: - Misconfigurations (e.g. incompatible types) - Extension explicitly returns a Status Failure.

const (
	// FailurePolicyIgnore means that an error when calling the extension is ignored.
	FailurePolicyIgnore FailurePolicy = "Ignore"

	// FailurePolicyFail means that an error when calling the extension is not ignored.
	FailurePolicyFail FailurePolicy = "Fail"
)

type GeneratePatchesRequest

type GeneratePatchesRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains Settings field common to all request types.
	CommonRequest `json:",inline"`

	// Variables are global variables for all templates.
	Variables []Variable `json:"variables"`

	// Items is the list of templates to generate patches for.
	Items []GeneratePatchesRequestItem `json:"items"`
}

GeneratePatchesRequest is the request of the GeneratePatches hook. +kubebuilder:object:root=true

func (*GeneratePatchesRequest) DeepCopy

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

func (*GeneratePatchesRequest) DeepCopyInto

func (in *GeneratePatchesRequest) DeepCopyInto(out *GeneratePatchesRequest)

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

func (*GeneratePatchesRequest) DeepCopyObject

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

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

type GeneratePatchesRequestItem

type GeneratePatchesRequestItem struct {
	// UID is an identifier for this template. It allows us to correlate the template in the request
	// with the corresponding generated patches in the response.
	UID types.UID `json:"uid"`

	// HolderReference is a reference to the object where the template is used.
	HolderReference HolderReference `json:"holderReference"`

	// Object contains the template as a raw object.
	Object runtime.RawExtension `json:"object"`

	// Variables are variables specific for the current template.
	// For example some builtin variables like MachineDeployment replicas and version are context-sensitive
	// and thus are only added to templates for MachineDeployments and with values which correspond to the
	// current MachineDeployment.
	Variables []Variable `json:"variables"`
}

GeneratePatchesRequestItem represents a template to generate patches for.

func (*GeneratePatchesRequestItem) DeepCopy

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

func (*GeneratePatchesRequestItem) DeepCopyInto

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

type GeneratePatchesResponse

type GeneratePatchesResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`

	// Items is the list of generated patches.
	Items []GeneratePatchesResponseItem `json:"items"`
}

GeneratePatchesResponse is the response of the GeneratePatches hook. NOTE: The patches in GeneratePatchesResponse will be applied in the order in which they are defined to the templates of the request. Thus applying changes consecutively when iterating through internal and external patches. +kubebuilder:object:root=true

func (*GeneratePatchesResponse) DeepCopy

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

func (*GeneratePatchesResponse) DeepCopyInto

func (in *GeneratePatchesResponse) DeepCopyInto(out *GeneratePatchesResponse)

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

func (*GeneratePatchesResponse) DeepCopyObject

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

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

type GeneratePatchesResponseItem

type GeneratePatchesResponseItem struct {
	// UID identifies the corresponding template in the request on which
	// the patch should be applied.
	UID types.UID `json:"uid"`

	// PatchType defines the type of the patch.
	// One of: "JSONPatch" or "JSONMergePatch".
	PatchType PatchType `json:"patchType"`

	// Patch contains the patch which should be applied to the template.
	// It must be of the corresponding PatchType.
	Patch []byte `json:"patch"`
}

GeneratePatchesResponseItem is a generated patch.

func (*GeneratePatchesResponseItem) DeepCopy

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

func (*GeneratePatchesResponseItem) DeepCopyInto

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

type GroupVersionHook

type GroupVersionHook struct {
	// APIVersion is the group and version of the Hook
	APIVersion string `json:"apiVersion"`

	// Hook is the name of the hook
	Hook string `json:"hook"`
}

GroupVersionHook defines the runtime hook when the ExtensionHandler is called.

func (*GroupVersionHook) DeepCopy

func (in *GroupVersionHook) DeepCopy() *GroupVersionHook

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

func (*GroupVersionHook) DeepCopyInto

func (in *GroupVersionHook) DeepCopyInto(out *GroupVersionHook)

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

type HolderReference

type HolderReference struct {
	// API version of the referent.
	APIVersion string `json:"apiVersion"`

	// Kind of the referent.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	Kind string `json:"kind"`

	// Namespace of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
	Namespace string `json:"namespace"`

	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	Name string `json:"name"`

	// FieldPath is the path to the field of the object which references the template.
	FieldPath string `json:"fieldPath"`
}

HolderReference represents a reference to an object which holds a template.

func (*HolderReference) DeepCopy

func (in *HolderReference) DeepCopy() *HolderReference

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

func (*HolderReference) DeepCopyInto

func (in *HolderReference) DeepCopyInto(out *HolderReference)

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

type PatchType

type PatchType string

PatchType defines the supported patch types. +enum

const (
	// JSONPatchType identifies a https://datatracker.ietf.org/doc/html/rfc6902 JSON patch.
	JSONPatchType PatchType = "JSONPatch"

	// JSONMergePatchType identifies a https://datatracker.ietf.org/doc/html/rfc7386 JSON merge patch.
	JSONMergePatchType PatchType = "JSONMergePatch"
)

type RequestObject added in v1.4.0

type RequestObject interface {
	runtime.Object
	GetSettings() map[string]string
	SetSettings(settings map[string]string)
}

RequestObject is a runtime.Object extended with methods to handle request-specific fields. +kubebuilder:object:generate=false

type ResponseObject

type ResponseObject interface {
	runtime.Object
	GetMessage() string
	GetStatus() ResponseStatus
	SetMessage(message string)
	SetStatus(status ResponseStatus)
}

ResponseObject is a runtime.Object extended with methods to handle response-specific fields. +kubebuilder:object:generate=false

type ResponseStatus

type ResponseStatus string

ResponseStatus represents the status of the hook response. +enum

const (
	// ResponseStatusSuccess represents a success response.
	ResponseStatusSuccess ResponseStatus = "Success"

	// ResponseStatusFailure represents a failure response.
	ResponseStatusFailure ResponseStatus = "Failure"
)

type RetryResponseObject

type RetryResponseObject interface {
	ResponseObject
	GetRetryAfterSeconds() int32
	SetRetryAfterSeconds(retryAfterSeconds int32)
}

RetryResponseObject is a ResponseObject which additionally defines the functionality for a response to signal a retry. +kubebuilder:object:generate=false

type ValidateTopologyRequest

type ValidateTopologyRequest struct {
	metav1.TypeMeta `json:",inline"`

	// CommonRequest contains Settings field common to all request types.
	CommonRequest `json:",inline"`

	// Variables are global variables for all templates.
	Variables []Variable `json:"variables"`

	// Items is the list of templates to validate.
	Items []*ValidateTopologyRequestItem `json:"items"`
}

ValidateTopologyRequest is the request of the ValidateTopology hook. +kubebuilder:object:root=true

func (*ValidateTopologyRequest) DeepCopy

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

func (*ValidateTopologyRequest) DeepCopyInto

func (in *ValidateTopologyRequest) DeepCopyInto(out *ValidateTopologyRequest)

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

func (*ValidateTopologyRequest) DeepCopyObject

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

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

type ValidateTopologyRequestItem

type ValidateTopologyRequestItem struct {
	// HolderReference is a reference to the object where the template is used.
	HolderReference HolderReference `json:"holderReference"`

	// Object contains the template as a raw object.
	Object runtime.RawExtension `json:"object"`

	// Variables are variables specific for the current template.
	// For example some builtin variables like MachineDeployment replicas and version are context-sensitive
	// and thus are only added to templates for MachineDeployments and with values which correspond to the
	// current MachineDeployment.
	Variables []Variable `json:"variables"`
}

ValidateTopologyRequestItem represents a template to validate.

func (*ValidateTopologyRequestItem) DeepCopy

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

func (*ValidateTopologyRequestItem) DeepCopyInto

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

type ValidateTopologyResponse

type ValidateTopologyResponse struct {
	metav1.TypeMeta `json:",inline"`

	// CommonResponse contains Status and Message fields common to all response types.
	CommonResponse `json:",inline"`
}

ValidateTopologyResponse is the response of the ValidateTopology hook. +kubebuilder:object:root=true

func (*ValidateTopologyResponse) DeepCopy

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

func (*ValidateTopologyResponse) DeepCopyInto

func (in *ValidateTopologyResponse) DeepCopyInto(out *ValidateTopologyResponse)

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

func (*ValidateTopologyResponse) DeepCopyObject

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

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

type Variable

type Variable struct {
	// Name of the variable.
	Name string `json:"name"`

	// Value of the variable.
	Value apiextensionsv1.JSON `json:"value"`
}

Variable represents a variable value.

func (*Variable) DeepCopy

func (in *Variable) DeepCopy() *Variable

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

func (*Variable) DeepCopyInto

func (in *Variable) DeepCopyInto(out *Variable)

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