v1alpha1

package
v0.0.0-...-76698d7 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the autoscale v1alpha1 API group +kubebuilder:object:generate=true +groupName=autoscale.scale.shikanon.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "autoscale.scale.shikanon.com", 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
)

Functions

This section is empty.

Types

type RecommendationScaleFactor

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

	Spec   RecommendationScaleFactorSpec   `json:"spec,omitempty"`
	Status RecommendationScaleFactorStatus `json:"status,omitempty"`
}

RecommendationScaleFactor is the Schema for the recommendationscalefactors API

func (*RecommendationScaleFactor) DeepCopy

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

func (*RecommendationScaleFactor) DeepCopyInto

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

func (*RecommendationScaleFactor) DeepCopyObject

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

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

type RecommendationScaleFactorCondition

type RecommendationScaleFactorCondition struct {
	// condition type
	Type RecommendationScaleFactorConditionType `json:"type"`

	// condition status
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the last time the condition transitioned from on one status to another
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// message is a human-readable explaination containing details
	Message string `json:"message,omitempty"`
}

func (*RecommendationScaleFactorCondition) DeepCopy

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

func (*RecommendationScaleFactorCondition) DeepCopyInto

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

type RecommendationScaleFactorConditionType

type RecommendationScaleFactorConditionType string
const (
	QueryExistCondition             RecommendationScaleFactorConditionType = "QueryExist"
	ValidRecommendValueCondition    RecommendationScaleFactorConditionType = "ValidRecommendValue"
	RecommendationCoolDownCondition RecommendationScaleFactorConditionType = "Cooldown"
)

type RecommendationScaleFactorList

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

RecommendationScaleFactorList contains a list of RecommendationScaleFactor

func (*RecommendationScaleFactorList) DeepCopy

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

func (*RecommendationScaleFactorList) DeepCopyInto

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

func (*RecommendationScaleFactorList) DeepCopyObject

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

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

type RecommendationScaleFactorSpec

type RecommendationScaleFactorSpec struct {

	// Reference of resources
	Ref *autoscalingv1.CrossVersionObjectReference `json:"ref,omitempty"`

	// expression of query
	Query string `json:"query,omitempty"`

	// desiredValue
	DesiredValue string `json:"desiredValue,omitempty"`

	// cooldown is the time of calcution, only affect statusFactor update and not affect the currentValue update
	Cooldown string `json:"cooldown,omitempty"`

	// minScope is the percentage of desireValue range
	MinScope int `json:"minScope,omitempty"`
}

RecommendationScaleFactorSpec defines the desired state of RecommendationScaleFactor

func (*RecommendationScaleFactorSpec) DeepCopy

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

func (*RecommendationScaleFactorSpec) DeepCopyInto

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

type RecommendationScaleFactorStatus

type RecommendationScaleFactorStatus struct {

	// result of query current value
	CurrentValue string `json:"currentValue,omitempty"`

	// Calculated by currentvalue and desiredvalue
	ScaleFactor string `json:"scaleFactor,omitempty"`

	// Conditions is set of conditions required for the recommendation scale
	Conditions []RecommendationScaleFactorCondition `json:"conditions,omitempty"`

	// last cooldown time
	LastCoolDownTime metav1.Time `json:"lastCoolDownTime,omitempty"`
}

RecommendationScaleFactorStatus defines the observed state of RecommendationScaleFactor

func (*RecommendationScaleFactorStatus) AppendConditions

special function

func (*RecommendationScaleFactorStatus) DeepCopy

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

func (*RecommendationScaleFactorStatus) DeepCopyInto

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

type ResourceScaleFactor

type ResourceScaleFactor struct {
	// Kind of the reference resource
	Kind string `json:"kind"`

	// API version of the reference resource
	APIVersion string `json:"apiVersion,omitempty"`

	// Name of the referent
	Name string `json:"name,omitempty"`

	// Namespace
	Namespace string `json:"namespace,omitempty"`

	// the field of target resource will be updated
	Field string `json:"field,omitempty"`
}

func (*ResourceScaleFactor) DeepCopy

func (in *ResourceScaleFactor) DeepCopy() *ResourceScaleFactor

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

func (*ResourceScaleFactor) DeepCopyInto

func (in *ResourceScaleFactor) DeepCopyInto(out *ResourceScaleFactor)

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

type ResourceStautsField

type ResourceStautsField struct {
	// name of field, be consistent in spec field
	Name string `json:"name,omitempty"`

	// path of fields
	Path string `json:"path,omitempty"`

	// from ScaleFactorObject read the value
	ScaleFactor string `json:"scaleFactor,omitempty"`

	// current value of field
	CurrentFieldValue resource.Quantity `json:"currentFieldValue,omitempty"`

	// desire value of field
	DesiredFieldValue resource.Quantity `json:"desiredFieldValue,omitempty"`

	// last time of upscale
	LastUpScaleTime metav1.Time `json:"lastUpScaleTime,omitempty"`

	// last time of downscale
	LastDownScaleTime metav1.Time `json:"lastDownScaleTime,omitempty"`
}

func (*ResourceStautsField) DeepCopy

func (in *ResourceStautsField) DeepCopy() *ResourceStautsField

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

func (*ResourceStautsField) DeepCopyInto

func (in *ResourceStautsField) DeepCopyInto(out *ResourceStautsField)

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

type ScalePolicyResourceType

type ScalePolicyResourceType string
const (
	// cpu resource
	CPUResourceType ScalePolicyResourceType = "cpu"
	// memory resource
	MemoryResourceType ScalePolicyResourceType = "memory"
	// replicas resource
	ReplicasResourceType ScalePolicyResourceType = "replicas"
	// other extend resource, like gpu
	OtherResourceType ScalePolicyResourceType = "other"
)

type ScaleResourcePolicy

type ScaleResourcePolicy struct {
	// the name of scalePolicy
	Name string `json:"name"`

	// the field of target resource will be updated
	Field string `json:"field"`

	// field type
	FieldType ScalePolicyResourceType `json:"type,omitempty"`

	// Update is parameter of update
	Update *ScaleUpdateParameter `json:"update,omitempty"`

	// description of the scale factor resource
	ScaleFactorObject *ResourceScaleFactor `json:"scaleFactorObject,omitempty"`
}

func (*ScaleResourcePolicy) DeepCopy

func (in *ScaleResourcePolicy) DeepCopy() *ScaleResourcePolicy

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

func (*ScaleResourcePolicy) DeepCopyInto

func (in *ScaleResourcePolicy) DeepCopyInto(out *ScaleResourcePolicy)

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

type ScaleTargetResourceReference

type ScaleTargetResourceReference struct {
	// Kind of the reference resource
	Kind string `json:"kind"`
	// API version of the reference resource
	APIVersion string `json:"apiVersion,omitempty"`
	// Name of the referent
	Name string `json:"name,omitempty"`
	// Selector of match label
	Selector map[string]string `json:"selector,omitempty"`
}

func (*ScaleTargetResourceReference) DeepCopy

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

func (*ScaleTargetResourceReference) DeepCopyInto

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

type ScaleUpdateParameter

type ScaleUpdateParameter struct {
	// the time interval of between downscale
	DownscaleWindow string `json:"downscaleWindow,omitempty"`
	// the time interval of between upscale
	UpscaleWindow string `json:"upscaleWindow,omitempty"`
	// the field range of minimum bound
	MinAllowed resource.Quantity `json:"minAllowed,omitempty"`

	// the field range of maximum bound
	MaxAllowed resource.Quantity `json:"maxAllowed,omitempty"`
	// update action mode
	Mode UpdateMode `json:"mode,omitempty"`
}

func (*ScaleUpdateParameter) DeepCopy

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

func (*ScaleUpdateParameter) DeepCopyInto

func (in *ScaleUpdateParameter) DeepCopyInto(out *ScaleUpdateParameter)

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

type SimpleAutoScaler

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

	Spec   SimpleAutoScalerSpec   `json:"spec,omitempty"`
	Status SimpleAutoScalerStatus `json:"status,omitempty"`
}

SimpleAutoScaler is the Schema for the simpleautoscalers API

func (*SimpleAutoScaler) DeepCopy

func (in *SimpleAutoScaler) DeepCopy() *SimpleAutoScaler

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

func (*SimpleAutoScaler) DeepCopyInto

func (in *SimpleAutoScaler) DeepCopyInto(out *SimpleAutoScaler)

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

func (*SimpleAutoScaler) DeepCopyObject

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

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

type SimpleAutoScalerCondition

type SimpleAutoScalerCondition struct {
	// condition type
	Type SimpleAutoScalerConditionType `json:"type"`

	// condition status
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the last time the condition transitioned from on one status to another
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// message is a human-readable explaination containing details
	Message string `json:"message,omitempty"`
}

func (*SimpleAutoScalerCondition) DeepCopy

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

func (*SimpleAutoScalerCondition) DeepCopyInto

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

type SimpleAutoScalerConditionType

type SimpleAutoScalerConditionType string
const (
	// scaler match all resource and write it in status.resources
	MatchedAllResourceCondition SimpleAutoScalerConditionType = "MatchedAllResource"
	// checking policy filed and write it into currentFieldValue
	CheckPolicyFieldValueCondition SimpleAutoScalerConditionType = "CheckPolicyFieldValue"
	// checking policy scaleFactorObject and read the object values and write into scaleFactor
	GetScaleFactorCondition SimpleAutoScalerConditionType = "GetScaleFactor"
	// checking the desiredFieldValue whether in minAllowd and maxAllowd and write into status
	UpdatedFieldCondition SimpleAutoScalerConditionType = "UpdatedFieldCondition"
	// the scale whether can update the object compare the downscaleWindow and upscaleWindow, if okay
	// set lastUpScaleTime and lastDownScaleTime
	EndCooldownCondition SimpleAutoScalerConditionType = "EndCooldown"
	// when all ready it will update the target resource
	UpdateTargetResourceCondition SimpleAutoScalerConditionType = "UpdateTargetResource"
)

type SimpleAutoScalerList

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

SimpleAutoScalerList contains a list of SimpleAutoScaler

func (*SimpleAutoScalerList) DeepCopy

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

func (*SimpleAutoScalerList) DeepCopyInto

func (in *SimpleAutoScalerList) DeepCopyInto(out *SimpleAutoScalerList)

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

func (*SimpleAutoScalerList) DeepCopyObject

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

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

type SimpleAutoScalerResources

type SimpleAutoScalerResources struct {
	// Target points to the scale controls resources
	Target *autoscalingv1.CrossVersionObjectReference `json:"target,omitempty"`
	// record information of scale target
	ResourceFields []ResourceStautsField `json:"resourceFields,omitempty"`
}

func (*SimpleAutoScalerResources) DeepCopy

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

func (*SimpleAutoScalerResources) DeepCopyInto

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

type SimpleAutoScalerSpec

type SimpleAutoScalerSpec struct {

	// TargetRef is container scale resources
	TargetRef *ScaleTargetResourceReference `json:"targetRef"`

	// Policy is description rules to the relate parameter and update field
	Policy []ScaleResourcePolicy `json:"policy,omitempty"`
}

SimpleAutoScalerSpec defines the desired state of SimpleAutoScaler

func (*SimpleAutoScalerSpec) DeepCopy

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

func (*SimpleAutoScalerSpec) DeepCopyInto

func (in *SimpleAutoScalerSpec) DeepCopyInto(out *SimpleAutoScalerSpec)

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

type SimpleAutoScalerStatus

type SimpleAutoScalerStatus struct {

	// Conditions is set of conditions required for autoscaler to scale target
	Conditions []SimpleAutoScalerCondition `json:"conditions"`

	// Resources which scaler select
	Resources []SimpleAutoScalerResources `json:"resources"`
}

SimpleAutoScalerStatus defines the observed state of SimpleAutoScaler

func (*SimpleAutoScalerStatus) AddCondition

func (s *SimpleAutoScalerStatus) AddCondition(condtype SimpleAutoScalerConditionType, err error)

func (*SimpleAutoScalerStatus) AppendConditions

func (s *SimpleAutoScalerStatus) AppendConditions(cond SimpleAutoScalerCondition)

special function

func (*SimpleAutoScalerStatus) DeepCopy

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

func (*SimpleAutoScalerStatus) DeepCopyInto

func (in *SimpleAutoScalerStatus) DeepCopyInto(out *SimpleAutoScalerStatus)

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

func (*SimpleAutoScalerStatus) GetConditionsStatus

func (s *SimpleAutoScalerStatus) GetConditionsStatus(cond SimpleAutoScalerConditionType) string

four condition status, true, false, unknow and nil string

type UpdateMode

type UpdateMode string

UpdateMode controls whether can upscale or downscale

const (
	// default is update can upscale and downsale
	UpdateModeDefault UpdateMode = "default"
	// onlyUpScale is update only for upscale
	UpdateModeOnlyUpscale UpdateMode = "onlyUpScale"
	// onlyDownScale is update only for upscale
	UpdateModeOnlyDownscale UpdateMode = "onlyDownScale"
)

Jump to

Keyboard shortcuts

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