v1alpha1

package
v0.9.1-beta.2 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2024 License: AGPL-3.0 Imports: 11 Imported by: 4

Documentation

Overview

+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +groupName=extensions.kubeblocks.io

Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=extensions.kubeblocks.io

Index

Constants

View Source
const (
	// condition types
	ConditionTypeProgressing = "Progressing"
	ConditionTypeChecked     = "InstallableChecked"
	ConditionTypeSucceed     = "Succeed"
	ConditionTypeFailed      = "Failed"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "extensions.kubeblocks.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func Resource added in v0.6.0

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Addon

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

	Spec   AddonSpec   `json:"spec,omitempty"`
	Status AddonStatus `json:"status,omitempty"`
}

Addon is the Schema for the add-ons API.

func (*Addon) DeepCopy added in v0.6.0

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto added in v0.6.0

func (in *Addon) DeepCopyInto(out *Addon)

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

func (*Addon) DeepCopyObject added in v0.6.0

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

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

func (*Addon) GetExtraNames

func (r *Addon) GetExtraNames() []string

GetExtraNames extracts extra items' name.

type AddonDefaultInstallSpecItem

type AddonDefaultInstallSpecItem struct {
	AddonInstallSpec `json:",inline"`

	// Indicates the default selectors for add-on installations. If multiple selectors are provided,
	// all selectors must evaluate to true.
	//
	// +optional
	Selectors []SelectorRequirement `json:"selectors,omitempty"`
}

func (*AddonDefaultInstallSpecItem) DeepCopy added in v0.6.0

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

func (*AddonDefaultInstallSpecItem) DeepCopyInto added in v0.6.0

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

func (*AddonDefaultInstallSpecItem) GetSelectorsStrings

func (r *AddonDefaultInstallSpecItem) GetSelectorsStrings() []string

GetSelectorsStrings extracts selectors to string representations.

type AddonInstallExtraItem

type AddonInstallExtraItem struct {
	AddonInstallSpecItem `json:",inline"`

	// Specifies the name of the item.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

func (*AddonInstallExtraItem) DeepCopy added in v0.6.0

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

func (*AddonInstallExtraItem) DeepCopyInto added in v0.6.0

func (in *AddonInstallExtraItem) DeepCopyInto(out *AddonInstallExtraItem)

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

type AddonInstallSpec

type AddonInstallSpec struct {
	AddonInstallSpecItem `json:",inline"`

	// Can be set to true if there are no specific installation attributes to be set.
	//
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Specifies the installation specifications for extra items.
	//
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +listType=map
	// +listMapKey=name
	// +optional
	ExtraItems []AddonInstallExtraItem `json:"extras,omitempty"`
}

func (*AddonInstallSpec) DeepCopy added in v0.6.0

func (in *AddonInstallSpec) DeepCopy() *AddonInstallSpec

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

func (*AddonInstallSpec) DeepCopyInto added in v0.6.0

func (in *AddonInstallSpec) DeepCopyInto(out *AddonInstallSpec)

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

func (*AddonInstallSpec) GetEnabled

func (r *AddonInstallSpec) GetEnabled() bool

GetEnabled provides the Enabled property getter.

func (*AddonInstallSpec) HasSetValues

func (r *AddonInstallSpec) HasSetValues() bool

func (*AddonInstallSpec) IsDisabled

func (r *AddonInstallSpec) IsDisabled() bool

type AddonInstallSpecItem

type AddonInstallSpecItem struct {
	// Specifies the number of replicas.
	//
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Indicates whether the Persistent Volume is enabled or not.
	//
	// +optional
	PVEnabled *bool `json:"persistentVolumeEnabled,omitempty"`

	// Specifies the name of the storage class.
	//
	// +optional
	StorageClass string `json:"storageClass,omitempty"`

	// Specifies the tolerations in a JSON array string format.
	//
	// +optional
	Tolerations string `json:"tolerations,omitempty"`

	// Specifies the resource requirements.
	//
	// +optional
	Resources ResourceRequirements `json:"resources,omitempty"`
}

func NewAddonInstallSpecItem

func NewAddonInstallSpecItem() AddonInstallSpecItem

NewAddonInstallSpecItem creates an initialized AddonInstallSpecItem object.

func (*AddonInstallSpecItem) DeepCopy added in v0.6.0

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

func (*AddonInstallSpecItem) DeepCopyInto added in v0.6.0

func (in *AddonInstallSpecItem) DeepCopyInto(out *AddonInstallSpecItem)

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

func (*AddonInstallSpecItem) IsEmpty

func (r *AddonInstallSpecItem) IsEmpty() bool

type AddonList

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

AddonList contains a list of add-ons.

func (*AddonList) DeepCopy added in v0.6.0

func (in *AddonList) DeepCopy() *AddonList

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

func (*AddonList) DeepCopyInto added in v0.6.0

func (in *AddonList) DeepCopyInto(out *AddonList)

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

func (*AddonList) DeepCopyObject added in v0.6.0

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

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

type AddonPhase

type AddonPhase string

AddonPhase defines addon phases. +enum

const (
	AddonDisabled  AddonPhase = "Disabled"
	AddonEnabled   AddonPhase = "Enabled"
	AddonFailed    AddonPhase = "Failed"
	AddonEnabling  AddonPhase = "Enabling"
	AddonDisabling AddonPhase = "Disabling"
)

type AddonSelectorKey

type AddonSelectorKey string

AddonSelectorKey are selector requirement key types. +enum +kubebuilder:validation:Enum={KubeGitVersion,KubeVersion,KubeProvider}

const (
	KubeGitVersion AddonSelectorKey = "KubeGitVersion"
	KubeVersion    AddonSelectorKey = "KubeVersion"
	KubeProvider   AddonSelectorKey = "KubeProvider"
)

type AddonSpec

type AddonSpec struct {
	// Specifies the description of the add-on.
	//
	// +optional
	Description string `json:"description,omitempty"`

	// Defines the type of the add-on. The only valid value is 'helm'.
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	Type AddonType `json:"type"`

	// Indicates the version of the add-on.
	//
	// +optional
	Version string `json:"version,omitempty"`

	// Specifies the provider of the add-on.
	//
	// +optional
	Provider string `json:"provider,omitempty"`

	// Represents the Helm installation specifications. This is only processed
	// when the type is set to 'helm'.
	//
	// +optional
	Helm *HelmTypeInstallSpec `json:"helm,omitempty"`

	// Specifies the default installation parameters.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	DefaultInstallValues []AddonDefaultInstallSpecItem `json:"defaultInstallValues"`

	// Defines the installation parameters.
	//
	// +optional
	InstallSpec *AddonInstallSpec `json:"install,omitempty"`

	// Represents the installable specifications of the add-on. This includes
	// the selector and auto-install settings.
	//
	// +optional
	Installable *InstallableSpec `json:"installable,omitempty"`

	// Specifies the CLI plugin installation specifications.
	//
	// +optional
	CliPlugins []CliPlugin `json:"cliPlugins,omitempty"`
}

AddonSpec defines the desired state of an add-on. +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Helm' ? has(self.helm) : !has(self.helm)",message="spec.helm is required when spec.type is Helm, and forbidden otherwise"

func (*AddonSpec) DeepCopy added in v0.6.0

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto added in v0.6.0

func (in *AddonSpec) DeepCopyInto(out *AddonSpec)

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

func (*AddonSpec) GetSortedDefaultInstallValues

func (r *AddonSpec) GetSortedDefaultInstallValues() []AddonDefaultInstallSpecItem

GetSortedDefaultInstallValues returns DefaultInstallValues items with items that have a provided selector first.

type AddonStatus

type AddonStatus struct {
	// Defines the current installation phase of the add-on. It can take one of
	// the following values: `Disabled`, `Enabled`, `Failed`, `Enabling`, `Disabling`.
	//
	// +kubebuilder:validation:Enum={Disabled,Enabled,Failed,Enabling,Disabling}
	Phase AddonPhase `json:"phase,omitempty"`

	// Provides a detailed description of the current state of add-on API installation.
	//
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Represents the most recent generation observed for this add-on. It corresponds
	// to the add-on's generation, which is updated on mutation by the API Server.
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

AddonStatus defines the observed state of an add-on.

func (*AddonStatus) DeepCopy added in v0.6.0

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto added in v0.6.0

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

type AddonType

type AddonType string

AddonType defines the addon types. +enum +kubebuilder:validation:Enum={Helm}

const (
	HelmType AddonType = "Helm"
)

type CliPlugin added in v0.6.0

type CliPlugin struct {
	// Specifies the name of the plugin.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Defines the index repository of the plugin.
	//
	// +kubebuilder:validation:Required
	IndexRepository string `json:"indexRepository"`

	// Provides a brief description of the plugin.
	//
	// +optional
	Description string `json:"description,omitempty"`
}

func (*CliPlugin) DeepCopy added in v0.6.0

func (in *CliPlugin) DeepCopy() *CliPlugin

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

func (*CliPlugin) DeepCopyInto added in v0.6.0

func (in *CliPlugin) DeepCopyInto(out *CliPlugin)

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

type DataObjectKeySelector

type DataObjectKeySelector struct {
	// Defines the name of the object being referred to.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`
	Name string `json:"name"` // need corev1.LocalObjectReference

	// Specifies the key to be selected.
	//
	// +kubebuilder:validation:Required
	Key string `json:"key"`
}

func (*DataObjectKeySelector) DeepCopy added in v0.6.0

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

func (*DataObjectKeySelector) DeepCopyInto added in v0.6.0

func (in *DataObjectKeySelector) DeepCopyInto(out *DataObjectKeySelector)

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

type HelmInstallOptions

type HelmInstallOptions map[string]string

func (HelmInstallOptions) DeepCopy added in v0.6.0

func (in HelmInstallOptions) DeepCopy() HelmInstallOptions

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

func (HelmInstallOptions) DeepCopyInto added in v0.6.0

func (in HelmInstallOptions) DeepCopyInto(out *HelmInstallOptions)

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

type HelmInstallValues

type HelmInstallValues struct {
	// Specifies the URL location of the values file.
	//
	// +optional
	URLs []string `json:"urls,omitempty"`

	// Selects a key from a ConfigMap item list. The value can be
	// a JSON or YAML string content. Use a key name with ".json", ".yaml", or ".yml"
	// extension to specify a content type.
	//
	// +optional
	ConfigMapRefs []DataObjectKeySelector `json:"configMapRefs,omitempty"`

	// Selects a key from a Secrets item list. The value can be
	// a JSON or YAML string content. Use a key name with ".json", ".yaml", or ".yml"
	// extension to specify a content type.
	//
	// +optional
	SecretRefs []DataObjectKeySelector `json:"secretRefs,omitempty"`

	// Values set during Helm installation. Multiple or separate values can be specified with commas (key1=val1,key2=val2).
	//
	// +optional
	SetValues []string `json:"setValues,omitempty"`

	// JSON values set during Helm installation. Multiple or separate values can be specified with commas (key1=jsonval1,key2=jsonval2).
	//
	// +optional
	SetJSONValues []string `json:"setJSONValues,omitempty"`
}

func (*HelmInstallValues) DeepCopy added in v0.6.0

func (in *HelmInstallValues) DeepCopy() *HelmInstallValues

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

func (*HelmInstallValues) DeepCopyInto added in v0.6.0

func (in *HelmInstallValues) DeepCopyInto(out *HelmInstallValues)

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

type HelmJSONValueMapType

type HelmJSONValueMapType struct {
	// Specifies the toleration mapping key.
	//
	// +optional
	Tolerations string `json:"tolerations,omitempty"`
}

func (*HelmJSONValueMapType) DeepCopy added in v0.6.0

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

func (*HelmJSONValueMapType) DeepCopyInto added in v0.6.0

func (in *HelmJSONValueMapType) DeepCopyInto(out *HelmJSONValueMapType)

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

type HelmTypeInstallSpec

type HelmTypeInstallSpec struct {
	// Specifies the URL location of the Helm Chart.
	//
	// +kubebuilder:validation:Required
	ChartLocationURL string `json:"chartLocationURL"`

	// Defines the options for Helm release installation.
	//
	// +optional
	InstallOptions HelmInstallOptions `json:"installOptions,omitempty"`

	// Defines the set values for Helm release installation.
	//
	// +optional
	InstallValues HelmInstallValues `json:"installValues,omitempty"`

	// Defines the mapping of add-on normalized resources parameters to Helm values' keys.
	//
	// +optional
	ValuesMapping HelmValuesMapping `json:"valuesMapping,omitempty"`

	// Defines the image of Helm charts.
	//
	// +optional
	ChartsImage string `json:"chartsImage,omitempty"`

	// Defines the path of Helm charts in the image. This path is used to copy
	// Helm charts from the image to the shared volume. The default path is "/charts".
	//
	// +kubeBuilder:default="/charts"
	// +optional
	ChartsPathInImage string `json:"chartsPathInImage,omitempty"`
}

HelmTypeInstallSpec defines the Helm installation spec. +kubebuilder:validation:XValidation:rule="self.chartLocationURL.startsWith('file://') ? has(self.chartsImage) : true",message="chartsImage is required when chartLocationURL starts with 'file://'"

func (*HelmTypeInstallSpec) BuildContainerArgs

func (r *HelmTypeInstallSpec) BuildContainerArgs(helmContainer *corev1.Container, installValues HelmInstallValues) error

BuildContainerArgs derives helm container args.

func (*HelmTypeInstallSpec) BuildMergedValues

func (r *HelmTypeInstallSpec) BuildMergedValues(installSpec *AddonInstallSpec) HelmInstallValues

BuildMergedValues merges values from a AddonInstallSpec and pre-set values.

func (*HelmTypeInstallSpec) DeepCopy added in v0.6.0

func (in *HelmTypeInstallSpec) DeepCopy() *HelmTypeInstallSpec

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

func (*HelmTypeInstallSpec) DeepCopyInto added in v0.6.0

func (in *HelmTypeInstallSpec) DeepCopyInto(out *HelmTypeInstallSpec)

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

type HelmValueMapType

type HelmValueMapType struct {
	// Defines the key for setting the replica count in the Helm values map.
	//
	// +optional
	ReplicaCount string `json:"replicaCount,omitempty"`

	// Indicates whether the persistent volume is enabled in the Helm values map.
	//
	// +optional
	PVEnabled string `json:"persistentVolumeEnabled,omitempty"`

	// Specifies the key for setting the storage class in the Helm values map.
	//
	// +optional
	StorageClass string `json:"storageClass,omitempty"`
}

func (*HelmValueMapType) DeepCopy added in v0.6.0

func (in *HelmValueMapType) DeepCopy() *HelmValueMapType

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

func (*HelmValueMapType) DeepCopyInto added in v0.6.0

func (in *HelmValueMapType) DeepCopyInto(out *HelmValueMapType)

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

type HelmValuesMapping

type HelmValuesMapping struct {
	HelmValuesMappingItem `json:",inline"`

	// Helm value mapping items for extra items.
	//
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +listType=map
	// +listMapKey=name
	// +optional
	ExtraItems []HelmValuesMappingExtraItem `json:"extras,omitempty"`
}

func (*HelmValuesMapping) DeepCopy added in v0.6.0

func (in *HelmValuesMapping) DeepCopy() *HelmValuesMapping

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

func (*HelmValuesMapping) DeepCopyInto added in v0.6.0

func (in *HelmValuesMapping) DeepCopyInto(out *HelmValuesMapping)

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

type HelmValuesMappingExtraItem

type HelmValuesMappingExtraItem struct {
	HelmValuesMappingItem `json:",inline"`

	// Name of the item.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

func (*HelmValuesMappingExtraItem) DeepCopy added in v0.6.0

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

func (*HelmValuesMappingExtraItem) DeepCopyInto added in v0.6.0

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

type HelmValuesMappingItem

type HelmValuesMappingItem struct {
	// Defines the "key" mapping values. Valid keys include `replicaCount`,
	// `persistentVolumeEnabled`, and `storageClass`.
	// Enum values explained:
	//
	// - `replicaCount` sets the replicaCount value mapping key.
	// - `persistentVolumeEnabled` sets the persistent volume enabled mapping key.
	// - `storageClass` sets the storageClass mapping key.
	//
	// +optional
	HelmValueMap HelmValueMapType `json:"valueMap,omitempty"`

	// Defines the "key" mapping values. The valid key is tolerations.
	// Enum values explained:
	//
	// - `tolerations` sets the toleration mapping key.
	//
	// +optional
	HelmJSONMap HelmJSONValueMapType `json:"jsonMap,omitempty"`

	// Sets resources related mapping keys.
	//
	// +optional
	ResourcesMapping *ResourceMappingItem `json:"resources,omitempty"`
}

func (*HelmValuesMappingItem) DeepCopy added in v0.6.0

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

func (*HelmValuesMappingItem) DeepCopyInto added in v0.6.0

func (in *HelmValuesMappingItem) DeepCopyInto(out *HelmValuesMappingItem)

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

type InstallableSpec

type InstallableSpec struct {
	// Specifies the selectors for add-on installation. If multiple selectors are provided,
	// they must all evaluate to true for the add-on to be installed.
	//
	// +optional
	Selectors []SelectorRequirement `json:"selectors,omitempty"`

	// Indicates whether an add-on should be installed automatically.
	//
	// +kubebuilder:default=false
	AutoInstall bool `json:"autoInstall"`
}

func (*InstallableSpec) DeepCopy added in v0.6.0

func (in *InstallableSpec) DeepCopy() *InstallableSpec

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

func (*InstallableSpec) DeepCopyInto added in v0.6.0

func (in *InstallableSpec) DeepCopyInto(out *InstallableSpec)

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

func (*InstallableSpec) GetSelectorsStrings

func (r *InstallableSpec) GetSelectorsStrings() []string

GetSelectorsStrings extracts selectors to string representations.

type LineSelectorOperator

type LineSelectorOperator string

LineSelectorOperator defines line selector operators. +enum +kubebuilder:validation:Enum={Contains,DoesNotContain,MatchRegex,DoesNotMatchRegex}

const (
	Contains          LineSelectorOperator = "Contains"
	DoesNotContain    LineSelectorOperator = "DoesNotContain"
	MatchRegex        LineSelectorOperator = "MatchRegex"
	DoesNotMatchRegex LineSelectorOperator = "DoesNotMatchRegex"
)

type ResourceMappingItem

type ResourceMappingItem struct {
	// Specifies the key used for mapping the storage size value.
	//
	// +optional
	Storage string `json:"storage,omitempty"`

	// Specifies the key used for mapping both CPU requests and limits.
	//
	// +optional
	CPU *ResourceReqLimItem `json:"cpu,omitempty"`

	// Specifies the key used for mapping both Memory requests and limits.
	//
	// +optional
	Memory *ResourceReqLimItem `json:"memory,omitempty"`
}

func (*ResourceMappingItem) DeepCopy added in v0.6.0

func (in *ResourceMappingItem) DeepCopy() *ResourceMappingItem

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

func (*ResourceMappingItem) DeepCopyInto added in v0.6.0

func (in *ResourceMappingItem) DeepCopyInto(out *ResourceMappingItem)

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

func (*ResourceMappingItem) HasCPULimMapping

func (r *ResourceMappingItem) HasCPULimMapping() bool

func (*ResourceMappingItem) HasCPUReqMapping

func (r *ResourceMappingItem) HasCPUReqMapping() bool

func (*ResourceMappingItem) HasMemLimMapping

func (r *ResourceMappingItem) HasMemLimMapping() bool

func (*ResourceMappingItem) HasMemReqMapping

func (r *ResourceMappingItem) HasMemReqMapping() bool

func (*ResourceMappingItem) HasStorageMapping

func (r *ResourceMappingItem) HasStorageMapping() bool

type ResourceReqLimItem

type ResourceReqLimItem struct {
	// Specifies the mapping key for the request value.
	//
	// +optional
	Requests string `json:"requests,omitempty"`

	// Specifies the mapping key for the limit value.
	//
	// +optional
	Limits string `json:"limits,omitempty"`
}

func (*ResourceReqLimItem) DeepCopy added in v0.6.0

func (in *ResourceReqLimItem) DeepCopy() *ResourceReqLimItem

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

func (*ResourceReqLimItem) DeepCopyInto added in v0.6.0

func (in *ResourceReqLimItem) DeepCopyInto(out *ResourceReqLimItem)

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

type ResourceRequirements

type ResourceRequirements struct {
	// Limits describes the maximum amount of compute resources allowed.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.
	//
	// +optional
	Limits corev1.ResourceList `json:"limits,omitempty"`

	// Requests describes the minimum amount of compute resources required.
	// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified;
	// otherwise, it defaults to an implementation-defined value.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.
	//
	// +optional
	Requests corev1.ResourceList `json:"requests,omitempty"`
}

func (*ResourceRequirements) DeepCopy added in v0.6.0

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

func (*ResourceRequirements) DeepCopyInto added in v0.6.0

func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)

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

type SelectorRequirement

type SelectorRequirement struct {
	// The selector key. Valid values are KubeVersion, KubeGitVersion and KubeProvider.
	//
	// - `KubeVersion` the semver expression of Kubernetes versions, i.e., v1.24.
	// - `KubeGitVersion` may contain distro. info., i.e., v1.24.4+eks.
	// - `KubeProvider` the Kubernetes provider, i.e., aws, gcp, azure, huaweiCloud, tencentCloud etc.
	//
	// +kubebuilder:validation:Required
	Key AddonSelectorKey `json:"key"`

	// Represents a key's relationship to a set of values.
	// Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex.
	//
	// Possible enum values:
	//
	// - `Contains` line contains a string.
	// - `DoesNotContain` line does not contain a string.
	// - `MatchRegex` line contains a match to the regular expression.
	// - `DoesNotMatchRegex` line does not contain a match to the regular expression.
	//
	// +kubebuilder:validation:Required
	Operator LineSelectorOperator `json:"operator"`

	// Represents an array of string values. This serves as an "OR" expression to the operator.
	//
	// +optional
	Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
}

func (*SelectorRequirement) DeepCopy added in v0.6.0

func (in *SelectorRequirement) DeepCopy() *SelectorRequirement

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

func (*SelectorRequirement) DeepCopyInto added in v0.6.0

func (in *SelectorRequirement) DeepCopyInto(out *SelectorRequirement)

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

func (*SelectorRequirement) MatchesFromConfig

func (r *SelectorRequirement) MatchesFromConfig() bool

MatchesFromConfig matches the selector requirement value.

func (*SelectorRequirement) String

func (r *SelectorRequirement) String() string

Jump to

Keyboard shortcuts

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