v1alpha1

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=workload.castai.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "workload.castai.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	ScalingPolicy_Kind             = "ScalingPolicy"
	ScalingPolicy_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ScalingPolicy_Kind}.String()
	ScalingPolicy_KindAPIVersion   = ScalingPolicy_Kind + "." + CRDGroupVersion.String()
	ScalingPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ScalingPolicy_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AntiAffinityInitParameters

type AntiAffinityInitParameters struct {

	// affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	// Defines if anti-affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	ConsiderAntiAffinity *bool `json:"considerAntiAffinity,omitempty" tf:"consider_anti_affinity,omitempty"`
}

func (*AntiAffinityInitParameters) DeepCopy

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

func (*AntiAffinityInitParameters) DeepCopyInto

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

type AntiAffinityObservation

type AntiAffinityObservation struct {

	// affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	// Defines if anti-affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	ConsiderAntiAffinity *bool `json:"considerAntiAffinity,omitempty" tf:"consider_anti_affinity,omitempty"`
}

func (*AntiAffinityObservation) DeepCopy

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

func (*AntiAffinityObservation) DeepCopyInto

func (in *AntiAffinityObservation) DeepCopyInto(out *AntiAffinityObservation)

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

type AntiAffinityParameters

type AntiAffinityParameters struct {

	// affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	// Defines if anti-affinity should be considered when scaling the workload.
	// If enabled, requiring host ports, or having anti-affinity on hostname will force all recommendations to be deferred.
	// +kubebuilder:validation:Optional
	ConsiderAntiAffinity *bool `json:"considerAntiAffinity,omitempty" tf:"consider_anti_affinity,omitempty"`
}

func (*AntiAffinityParameters) DeepCopy

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

func (*AntiAffinityParameters) DeepCopyInto

func (in *AntiAffinityParameters) DeepCopyInto(out *AntiAffinityParameters)

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

type CPUInitParameters

type CPUInitParameters struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*CPUInitParameters) DeepCopy

func (in *CPUInitParameters) DeepCopy() *CPUInitParameters

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

func (*CPUInitParameters) DeepCopyInto

func (in *CPUInitParameters) DeepCopyInto(out *CPUInitParameters)

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

type CPUObservation

type CPUObservation struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*CPUObservation) DeepCopy

func (in *CPUObservation) DeepCopy() *CPUObservation

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

func (*CPUObservation) DeepCopyInto

func (in *CPUObservation) DeepCopyInto(out *CPUObservation)

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

type CPUParameters

type CPUParameters struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// +kubebuilder:validation:Optional
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	// +kubebuilder:validation:Optional
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	// +kubebuilder:validation:Optional
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	// +kubebuilder:validation:Optional
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	// +kubebuilder:validation:Optional
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*CPUParameters) DeepCopy

func (in *CPUParameters) DeepCopy() *CPUParameters

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

func (*CPUParameters) DeepCopyInto

func (in *CPUParameters) DeepCopyInto(out *CPUParameters)

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

type DownscalingInitParameters

type DownscalingInitParameters struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when downscaling.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*DownscalingInitParameters) DeepCopy

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

func (*DownscalingInitParameters) DeepCopyInto

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

type DownscalingObservation

type DownscalingObservation struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when downscaling.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*DownscalingObservation) DeepCopy

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

func (*DownscalingObservation) DeepCopyInto

func (in *DownscalingObservation) DeepCopyInto(out *DownscalingObservation)

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

type DownscalingParameters

type DownscalingParameters struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when downscaling.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	// +kubebuilder:validation:Optional
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*DownscalingParameters) DeepCopy

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

func (*DownscalingParameters) DeepCopyInto

func (in *DownscalingParameters) DeepCopyInto(out *DownscalingParameters)

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

type MemoryEventInitParameters

type MemoryEventInitParameters struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when applying recommendation for memory related event.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*MemoryEventInitParameters) DeepCopy

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

func (*MemoryEventInitParameters) DeepCopyInto

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

type MemoryEventObservation

type MemoryEventObservation struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when applying recommendation for memory related event.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*MemoryEventObservation) DeepCopy

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

func (*MemoryEventObservation) DeepCopyInto

func (in *MemoryEventObservation) DeepCopyInto(out *MemoryEventObservation)

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

type MemoryEventParameters

type MemoryEventParameters struct {

	// (String) Recommendation apply type.
	// Defines the apply type to be used when applying recommendation for memory related event.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	// +kubebuilder:validation:Optional
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`
}

func (*MemoryEventParameters) DeepCopy

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

func (*MemoryEventParameters) DeepCopyInto

func (in *MemoryEventParameters) DeepCopyInto(out *MemoryEventParameters)

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

type MemoryInitParameters

type MemoryInitParameters struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*MemoryInitParameters) DeepCopy

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

func (*MemoryInitParameters) DeepCopyInto

func (in *MemoryInitParameters) DeepCopyInto(out *MemoryInitParameters)

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

type MemoryObservation

type MemoryObservation struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*MemoryObservation) DeepCopy

func (in *MemoryObservation) DeepCopy() *MemoryObservation

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

func (*MemoryObservation) DeepCopyInto

func (in *MemoryObservation) DeepCopyInto(out *MemoryObservation)

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

type MemoryParameters

type MemoryParameters struct {

	// (Number) The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// The threshold of when to apply the recommendation. Recommendation will be applied when diff of current requests and new recommendation is greater than set value
	// +kubebuilder:validation:Optional
	ApplyThreshold *float64 `json:"applyThreshold,omitempty" tf:"apply_threshold,omitempty"`

	// i.e. for QUANTILE this should be a [0, 1] float. MAX doesn't accept any args
	// The arguments for the function - i.e. for `QUANTILE` this should be a [0, 1] float. `MAX` doesn't accept any args
	// +kubebuilder:validation:Optional
	Args []*string `json:"args,omitempty" tf:"args,omitempty"`

	// (String) The function used to calculate the resource recommendation. Supported values: QUANTILE, MAX
	// The function used to calculate the resource recommendation. Supported values: `QUANTILE`, `MAX`
	// +kubebuilder:validation:Optional
	Function *string `json:"function,omitempty" tf:"function,omitempty"`

	// (Number) The look back period in seconds for the recommendation.
	// The look back period in seconds for the recommendation.
	// +kubebuilder:validation:Optional
	LookBackPeriodSeconds *float64 `json:"lookBackPeriodSeconds,omitempty" tf:"look_back_period_seconds,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Max values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// this is in MiB, for CPU - this is in cores.
	// Min values for the recommendation, applies to every container. For memory - this is in MiB, for CPU - this is in cores.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`

	// (Number) Overhead for the recommendation, e.g. 0.1 will result in 10% higher recommendation
	// Overhead for the recommendation, e.g. `0.1` will result in 10% higher recommendation
	// +kubebuilder:validation:Optional
	Overhead *float64 `json:"overhead,omitempty" tf:"overhead,omitempty"`
}

func (*MemoryParameters) DeepCopy

func (in *MemoryParameters) DeepCopy() *MemoryParameters

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

func (*MemoryParameters) DeepCopyInto

func (in *MemoryParameters) DeepCopyInto(out *MemoryParameters)

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

type ScalingPolicy

type ScalingPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.applyType) || (has(self.initProvider) && has(self.initProvider.applyType))",message="spec.forProvider.applyType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.clusterId) || (has(self.initProvider) && has(self.initProvider.clusterId))",message="spec.forProvider.clusterId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.cpu) || (has(self.initProvider) && has(self.initProvider.cpu))",message="spec.forProvider.cpu is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.managementOption) || (has(self.initProvider) && has(self.initProvider.managementOption))",message="spec.forProvider.managementOption is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.memory) || (has(self.initProvider) && has(self.initProvider.memory))",message="spec.forProvider.memory is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   ScalingPolicySpec   `json:"spec"`
	Status ScalingPolicyStatus `json:"status,omitempty"`
}

ScalingPolicy is the Schema for the ScalingPolicys API. Manage workload scaling policy. Scaling policy reference https://docs.cast.ai/docs/woop-scaling-policies +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="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,castai}

func (*ScalingPolicy) DeepCopy

func (in *ScalingPolicy) DeepCopy() *ScalingPolicy

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

func (*ScalingPolicy) DeepCopyInto

func (in *ScalingPolicy) DeepCopyInto(out *ScalingPolicy)

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

func (*ScalingPolicy) DeepCopyObject

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

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

func (*ScalingPolicy) GetCondition

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

GetCondition of this ScalingPolicy.

func (*ScalingPolicy) GetConnectionDetailsMapping

func (tr *ScalingPolicy) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ScalingPolicy

func (*ScalingPolicy) GetDeletionPolicy

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

GetDeletionPolicy of this ScalingPolicy.

func (*ScalingPolicy) GetID

func (tr *ScalingPolicy) GetID() string

GetID returns ID of underlying Terraform resource of this ScalingPolicy

func (*ScalingPolicy) GetInitParameters

func (tr *ScalingPolicy) GetInitParameters() (map[string]any, error)

GetInitParameters of this ScalingPolicy

func (*ScalingPolicy) GetManagementPolicies

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

GetManagementPolicies of this ScalingPolicy.

func (*ScalingPolicy) GetMergedParameters

func (tr *ScalingPolicy) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ScalingPolicy

func (*ScalingPolicy) GetObservation

func (tr *ScalingPolicy) GetObservation() (map[string]any, error)

GetObservation of this ScalingPolicy

func (*ScalingPolicy) GetParameters

func (tr *ScalingPolicy) GetParameters() (map[string]any, error)

GetParameters of this ScalingPolicy

func (*ScalingPolicy) GetProviderConfigReference

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

GetProviderConfigReference of this ScalingPolicy.

func (*ScalingPolicy) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ScalingPolicy.

func (*ScalingPolicy) GetTerraformResourceType

func (mg *ScalingPolicy) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ScalingPolicy

func (*ScalingPolicy) GetTerraformSchemaVersion

func (tr *ScalingPolicy) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ScalingPolicy) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ScalingPolicy.

func (*ScalingPolicy) Hub

func (tr *ScalingPolicy) Hub()

Hub marks this type as a conversion hub.

func (*ScalingPolicy) LateInitialize

func (tr *ScalingPolicy) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ScalingPolicy using its observed tfState. returns True if there are any spec changes for the resource.

func (*ScalingPolicy) SetConditions

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

SetConditions of this ScalingPolicy.

func (*ScalingPolicy) SetDeletionPolicy

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

SetDeletionPolicy of this ScalingPolicy.

func (*ScalingPolicy) SetManagementPolicies

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

SetManagementPolicies of this ScalingPolicy.

func (*ScalingPolicy) SetObservation

func (tr *ScalingPolicy) SetObservation(obs map[string]any) error

SetObservation for this ScalingPolicy

func (*ScalingPolicy) SetParameters

func (tr *ScalingPolicy) SetParameters(params map[string]any) error

SetParameters for this ScalingPolicy

func (*ScalingPolicy) SetProviderConfigReference

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

SetProviderConfigReference of this ScalingPolicy.

func (*ScalingPolicy) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ScalingPolicy.

func (*ScalingPolicy) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ScalingPolicy.

type ScalingPolicyInitParameters

type ScalingPolicyInitParameters struct {

	// (Block List, Max: 1) (see below for nested schema)
	AntiAffinity []AntiAffinityInitParameters `json:"antiAffinity,omitempty" tf:"anti_affinity,omitempty"`

	// (String) Recommendation apply type.
	// Recommendation apply type.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	CPU []CPUInitParameters `json:"cpu,omitempty" tf:"cpu,omitempty"`

	// (String) CAST AI cluster id
	// CAST AI cluster id
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Downscaling []DownscalingInitParameters `json:"downscaling,omitempty" tf:"downscaling,omitempty"`

	// (String) Defines possible options for workload management.
	// Defines possible options for workload management.
	// - READ_ONLY - workload watched (metrics collected), but no actions performed by CAST AI.
	// - MANAGED - workload watched (metrics collected), CAST AI may perform actions on the workload.
	ManagementOption *string `json:"managementOption,omitempty" tf:"management_option,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	Memory []MemoryInitParameters `json:"memory,omitempty" tf:"memory,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	MemoryEvent []MemoryEventInitParameters `json:"memoryEvent,omitempty" tf:"memory_event,omitempty"`

	// (String) Scaling policy name
	// Scaling policy name
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Startup []StartupInitParameters `json:"startup,omitempty" tf:"startup,omitempty"`
}

func (*ScalingPolicyInitParameters) DeepCopy

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

func (*ScalingPolicyInitParameters) DeepCopyInto

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

type ScalingPolicyList

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

ScalingPolicyList contains a list of ScalingPolicys

func (*ScalingPolicyList) DeepCopy

func (in *ScalingPolicyList) DeepCopy() *ScalingPolicyList

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

func (*ScalingPolicyList) DeepCopyInto

func (in *ScalingPolicyList) DeepCopyInto(out *ScalingPolicyList)

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

func (*ScalingPolicyList) DeepCopyObject

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

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

func (*ScalingPolicyList) GetItems

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

GetItems of this ScalingPolicyList.

type ScalingPolicyObservation

type ScalingPolicyObservation struct {

	// (Block List, Max: 1) (see below for nested schema)
	AntiAffinity []AntiAffinityObservation `json:"antiAffinity,omitempty" tf:"anti_affinity,omitempty"`

	// (String) Recommendation apply type.
	// Recommendation apply type.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	CPU []CPUObservation `json:"cpu,omitempty" tf:"cpu,omitempty"`

	// (String) CAST AI cluster id
	// CAST AI cluster id
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Downscaling []DownscalingObservation `json:"downscaling,omitempty" tf:"downscaling,omitempty"`

	// (String) The ID of this resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (String) Defines possible options for workload management.
	// Defines possible options for workload management.
	// - READ_ONLY - workload watched (metrics collected), but no actions performed by CAST AI.
	// - MANAGED - workload watched (metrics collected), CAST AI may perform actions on the workload.
	ManagementOption *string `json:"managementOption,omitempty" tf:"management_option,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	Memory []MemoryObservation `json:"memory,omitempty" tf:"memory,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	MemoryEvent []MemoryEventObservation `json:"memoryEvent,omitempty" tf:"memory_event,omitempty"`

	// (String) Scaling policy name
	// Scaling policy name
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	Startup []StartupObservation `json:"startup,omitempty" tf:"startup,omitempty"`
}

func (*ScalingPolicyObservation) DeepCopy

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

func (*ScalingPolicyObservation) DeepCopyInto

func (in *ScalingPolicyObservation) DeepCopyInto(out *ScalingPolicyObservation)

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

type ScalingPolicyParameters

type ScalingPolicyParameters struct {

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	AntiAffinity []AntiAffinityParameters `json:"antiAffinity,omitempty" tf:"anti_affinity,omitempty"`

	// (String) Recommendation apply type.
	// Recommendation apply type.
	// - IMMEDIATE - pods are restarted immediately when new recommendation is generated.
	// - DEFERRED - pods are not restarted and recommendation values are applied during natural restarts only (new deployment, etc.)
	// +kubebuilder:validation:Optional
	ApplyType *string `json:"applyType,omitempty" tf:"apply_type,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	CPU []CPUParameters `json:"cpu,omitempty" tf:"cpu,omitempty"`

	// (String) CAST AI cluster id
	// CAST AI cluster id
	// +kubebuilder:validation:Optional
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	Downscaling []DownscalingParameters `json:"downscaling,omitempty" tf:"downscaling,omitempty"`

	// (String) Defines possible options for workload management.
	// Defines possible options for workload management.
	// - READ_ONLY - workload watched (metrics collected), but no actions performed by CAST AI.
	// - MANAGED - workload watched (metrics collected), CAST AI may perform actions on the workload.
	// +kubebuilder:validation:Optional
	ManagementOption *string `json:"managementOption,omitempty" tf:"management_option,omitempty"`

	// (Block List, Min: 1, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	Memory []MemoryParameters `json:"memory,omitempty" tf:"memory,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	MemoryEvent []MemoryEventParameters `json:"memoryEvent,omitempty" tf:"memory_event,omitempty"`

	// (String) Scaling policy name
	// Scaling policy name
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Block List, Max: 1) (see below for nested schema)
	// +kubebuilder:validation:Optional
	Startup []StartupParameters `json:"startup,omitempty" tf:"startup,omitempty"`
}

func (*ScalingPolicyParameters) DeepCopy

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

func (*ScalingPolicyParameters) DeepCopyInto

func (in *ScalingPolicyParameters) DeepCopyInto(out *ScalingPolicyParameters)

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

type ScalingPolicySpec

type ScalingPolicySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ScalingPolicyParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ScalingPolicyInitParameters `json:"initProvider,omitempty"`
}

ScalingPolicySpec defines the desired state of ScalingPolicy

func (*ScalingPolicySpec) DeepCopy

func (in *ScalingPolicySpec) DeepCopy() *ScalingPolicySpec

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

func (*ScalingPolicySpec) DeepCopyInto

func (in *ScalingPolicySpec) DeepCopyInto(out *ScalingPolicySpec)

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

type ScalingPolicyStatus

type ScalingPolicyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ScalingPolicyObservation `json:"atProvider,omitempty"`
}

ScalingPolicyStatus defines the observed state of ScalingPolicy.

func (*ScalingPolicyStatus) DeepCopy

func (in *ScalingPolicyStatus) DeepCopy() *ScalingPolicyStatus

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

func (*ScalingPolicyStatus) DeepCopyInto

func (in *ScalingPolicyStatus) DeepCopyInto(out *ScalingPolicyStatus)

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

type StartupInitParameters

type StartupInitParameters struct {

	// (Number) Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	// Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	PeriodSeconds *float64 `json:"periodSeconds,omitempty" tf:"period_seconds,omitempty"`
}

func (*StartupInitParameters) DeepCopy

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

func (*StartupInitParameters) DeepCopyInto

func (in *StartupInitParameters) DeepCopyInto(out *StartupInitParameters)

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

type StartupObservation

type StartupObservation struct {

	// (Number) Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	// Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	PeriodSeconds *float64 `json:"periodSeconds,omitempty" tf:"period_seconds,omitempty"`
}

func (*StartupObservation) DeepCopy

func (in *StartupObservation) DeepCopy() *StartupObservation

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

func (*StartupObservation) DeepCopyInto

func (in *StartupObservation) DeepCopyInto(out *StartupObservation)

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

type StartupParameters

type StartupParameters struct {

	// (Number) Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	// Defines the duration (in seconds) during which elevated resource usage is expected at startup.
	// When set, recommendations will be adjusted to disregard resource spikes within this period.
	// If not specified, the workload will receive standard recommendations without startup considerations.
	// +kubebuilder:validation:Optional
	PeriodSeconds *float64 `json:"periodSeconds,omitempty" tf:"period_seconds,omitempty"`
}

func (*StartupParameters) DeepCopy

func (in *StartupParameters) DeepCopy() *StartupParameters

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

func (*StartupParameters) DeepCopyInto

func (in *StartupParameters) DeepCopyInto(out *StartupParameters)

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