Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the analysis API. +k8s:deepcopy-gen=package,register +groupName=analysis.crane.io
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AdoptionType
- type AnalysisType
- type Analytics
- type AnalyticsList
- type AnalyticsSpec
- type AnalyticsStatus
- type CompletionStrategy
- type CompletionStrategyType
- type Config
- type ConfigSet
- type ConfigSetList
- type ContainerRecommendation
- type EffectiveHorizontalPodAutoscalerRecommendation
- type NamespaceSelector
- type PatchReplicas
- type PatchReplicasSpec
- type PatchResource
- type PatchResourcePodSpec
- type PatchResourcePodTemplateSpec
- type PatchResourceSpec
- type ProposedRecommendation
- type Recommendation
- type RecommendationContent
- type RecommendationList
- type RecommendationMission
- type RecommendationRule
- type RecommendationRuleList
- type RecommendationRuleSpec
- type RecommendationRuleStatus
- type RecommendationSpec
- type RecommendationStatus
- type Recommender
- type ReplicasRecommendation
- type ResourceList
- type ResourceRequestRecommendation
- type ResourceSelector
- type Target
Constants ¶
const ( // ReplicasRecommender name ReplicasRecommender string = "Replicas" // ResourceRecommender name ResourceRecommender string = "Resource" // HPARecommender name HPARecommender string = "HPA" // IdleNodeRecommender name IdleNodeRecommender string = "IdleNode" )
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var (
AllRecommenderType []string
)
var SchemeGroupVersion = schema.GroupVersion{Group: analysis.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AdoptionType ¶ added in v0.3.0
type AdoptionType string
const ( AdoptionTypeStatus AdoptionType = "Status" AdoptionTypeStatusAndAnnotation AdoptionType = "StatusAndAnnotation" AdoptionTypeAuto AdoptionType = "Auto" )
type AnalysisType ¶
type AnalysisType string
const ( AnalysisTypeReplicas AnalysisType = "Replicas" AnalysisTypeResource AnalysisType = "Resource" )
type Analytics ¶
type Analytics struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec AnalyticsSpec `json:"spec"`
// +optional
Status AnalyticsStatus `json:"status,omitempty"`
}
Analytics represents the configuration of an analytics object.
func (*Analytics) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Analytics.
func (*Analytics) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Analytics) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalyticsList ¶
type AnalyticsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Analytics `json:"items"`
}
AnalyticsList is a list of Analytics items.
func (*AnalyticsList) DeepCopy ¶
func (in *AnalyticsList) DeepCopy() *AnalyticsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalyticsList.
func (*AnalyticsList) DeepCopyInto ¶
func (in *AnalyticsList) DeepCopyInto(out *AnalyticsList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AnalyticsList) DeepCopyObject ¶
func (in *AnalyticsList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AnalyticsSpec ¶
type AnalyticsSpec struct {
// Type is the analysis type, including HPA and resource.
// +required
// +kubebuilder:validation:Required
Type AnalysisType `json:"type"`
// ResourceSelector indicates how to select resources(e.g. a set of Deployments) for an Analytics.
// +required
// +kubebuilder:validation:Required
ResourceSelectors []ResourceSelector `json:"resourceSelectors"`
// CompletionStrategy indicate how to complete an Analytics.
// +optional
CompletionStrategy CompletionStrategy `json:"completionStrategy"`
// Override Recommendation configs
// +optional
Config map[string]string `json:"config,omitempty"`
}
AnalyticsSpec describes the analytics type, what the analysis is for and how often the analysis routine runs.
func (*AnalyticsSpec) DeepCopy ¶
func (in *AnalyticsSpec) DeepCopy() *AnalyticsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalyticsSpec.
func (*AnalyticsSpec) DeepCopyInto ¶
func (in *AnalyticsSpec) DeepCopyInto(out *AnalyticsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnalyticsStatus ¶
type AnalyticsStatus struct {
// LastUpdateTime is the last time the status updated.
// +optional
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// Conditions is an array of current analytics conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Recommendations is a list of RecommendationMission that run parallel.
// +optional
// +listType=atomic
Recommendations []RecommendationMission `json:"recommendations,omitempty"`
}
AnalyticsStatus represents the current state of an analytics item.
func (*AnalyticsStatus) DeepCopy ¶
func (in *AnalyticsStatus) DeepCopy() *AnalyticsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalyticsStatus.
func (*AnalyticsStatus) DeepCopyInto ¶
func (in *AnalyticsStatus) DeepCopyInto(out *AnalyticsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompletionStrategy ¶
type CompletionStrategy struct {
// CompletionStrategy indicate the strategy to request an Analytics or Recommendation, value can be "Once" and "Periodical"
// the default CompletionStrategy is Once.
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Once;Periodical
// +kubebuilder:default=Once
CompletionStrategyType CompletionStrategyType `json:"completionStrategyType,omitempty"`
// PeriodSeconds is the duration in seconds for an Analytics or Recommendation.
// +optional
PeriodSeconds *int64 `json:"periodSeconds,omitempty"`
}
CompletionStrategy presents how to complete a recommendation or a recommendation request.
func (*CompletionStrategy) DeepCopy ¶
func (in *CompletionStrategy) DeepCopy() *CompletionStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CompletionStrategy.
func (*CompletionStrategy) DeepCopyInto ¶
func (in *CompletionStrategy) DeepCopyInto(out *CompletionStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CompletionStrategyType ¶
type CompletionStrategyType string
const ( CompletionStrategyPeriodical CompletionStrategyType = "Periodical" CompletionStrategyOnce CompletionStrategyType = "Once" )
type Config ¶
type Config struct {
// +optional
Targets []Target `json:"targets,omitempty"`
Properties map[string]string `json:"properties,omitempty"`
}
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigSet ¶
type ConfigSet struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
Configs []Config `json:"configs,omitempty"`
}
ConfigSet represents the configuration set for recommendation.
func (*ConfigSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSet.
func (*ConfigSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigSet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigSetList ¶
type ConfigSetList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Items []ConfigSet `json:"items" protobuf:"bytes,2,rep,name=items"`
}
ConfigSetList is a list of ConfigSet.
func (*ConfigSetList) DeepCopy ¶
func (in *ConfigSetList) DeepCopy() *ConfigSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSetList.
func (*ConfigSetList) DeepCopyInto ¶
func (in *ConfigSetList) DeepCopyInto(out *ConfigSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigSetList) DeepCopyObject ¶
func (in *ConfigSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ContainerRecommendation ¶ added in v0.9.0
type ContainerRecommendation struct {
ContainerName string `json:"containerName,omitempty"`
Target ResourceList `json:"target,omitempty"`
}
func (*ContainerRecommendation) DeepCopy ¶ added in v0.9.0
func (in *ContainerRecommendation) DeepCopy() *ContainerRecommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRecommendation.
func (*ContainerRecommendation) DeepCopyInto ¶ added in v0.9.0
func (in *ContainerRecommendation) DeepCopyInto(out *ContainerRecommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EffectiveHorizontalPodAutoscalerRecommendation ¶ added in v0.9.0
type EffectiveHorizontalPodAutoscalerRecommendation struct {
MinReplicas *int32 `json:"minReplicas,omitempty"`
MaxReplicas *int32 `json:"maxReplicas,omitempty"`
Metrics []autoscalingv2.MetricSpec `json:"metrics,omitempty"`
Prediction *autoscalingapi.Prediction `json:"prediction,omitempty"`
}
func (*EffectiveHorizontalPodAutoscalerRecommendation) DeepCopy ¶ added in v0.9.0
func (in *EffectiveHorizontalPodAutoscalerRecommendation) DeepCopy() *EffectiveHorizontalPodAutoscalerRecommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EffectiveHorizontalPodAutoscalerRecommendation.
func (*EffectiveHorizontalPodAutoscalerRecommendation) DeepCopyInto ¶ added in v0.9.0
func (in *EffectiveHorizontalPodAutoscalerRecommendation) DeepCopyInto(out *EffectiveHorizontalPodAutoscalerRecommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceSelector ¶ added in v0.7.0
type NamespaceSelector struct {
// Select all namespace if true
Any bool `json:"any,omitempty"`
// List of namespace names to select from.
MatchNames []string `json:"matchNames,omitempty"`
}
NamespaceSelector describes how to select namespaces for recommend
func (*NamespaceSelector) DeepCopy ¶ added in v0.7.0
func (in *NamespaceSelector) DeepCopy() *NamespaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSelector.
func (*NamespaceSelector) DeepCopyInto ¶ added in v0.7.0
func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchReplicas ¶ added in v0.9.0
type PatchReplicas struct {
Spec PatchReplicasSpec `json:"spec,omitempty"`
}
func (*PatchReplicas) DeepCopy ¶ added in v0.9.0
func (in *PatchReplicas) DeepCopy() *PatchReplicas
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchReplicas.
func (*PatchReplicas) DeepCopyInto ¶ added in v0.9.0
func (in *PatchReplicas) DeepCopyInto(out *PatchReplicas)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchReplicasSpec ¶ added in v0.9.0
type PatchReplicasSpec struct {
Replicas *int32 `json:"replicas,omitempty"`
}
func (*PatchReplicasSpec) DeepCopy ¶ added in v0.9.0
func (in *PatchReplicasSpec) DeepCopy() *PatchReplicasSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchReplicasSpec.
func (*PatchReplicasSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PatchReplicasSpec) DeepCopyInto(out *PatchReplicasSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchResource ¶ added in v0.9.0
type PatchResource struct {
Spec PatchResourceSpec `json:"spec,omitempty"`
}
func (*PatchResource) DeepCopy ¶ added in v0.9.0
func (in *PatchResource) DeepCopy() *PatchResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchResource.
func (*PatchResource) DeepCopyInto ¶ added in v0.9.0
func (in *PatchResource) DeepCopyInto(out *PatchResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchResourcePodSpec ¶ added in v0.9.0
type PatchResourcePodSpec struct {
// +patchMergeKey=name
// +patchStrategy=merge
Containers []corev1.Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name"`
}
func (*PatchResourcePodSpec) DeepCopy ¶ added in v0.9.0
func (in *PatchResourcePodSpec) DeepCopy() *PatchResourcePodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchResourcePodSpec.
func (*PatchResourcePodSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PatchResourcePodSpec) DeepCopyInto(out *PatchResourcePodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchResourcePodTemplateSpec ¶ added in v0.9.0
type PatchResourcePodTemplateSpec struct {
Spec PatchResourcePodSpec `json:"spec,omitempty"`
}
func (*PatchResourcePodTemplateSpec) DeepCopy ¶ added in v0.9.0
func (in *PatchResourcePodTemplateSpec) DeepCopy() *PatchResourcePodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchResourcePodTemplateSpec.
func (*PatchResourcePodTemplateSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PatchResourcePodTemplateSpec) DeepCopyInto(out *PatchResourcePodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchResourceSpec ¶ added in v0.9.0
type PatchResourceSpec struct {
Template PatchResourcePodTemplateSpec `json:"template"`
}
func (*PatchResourceSpec) DeepCopy ¶ added in v0.9.0
func (in *PatchResourceSpec) DeepCopy() *PatchResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchResourceSpec.
func (*PatchResourceSpec) DeepCopyInto ¶ added in v0.9.0
func (in *PatchResourceSpec) DeepCopyInto(out *PatchResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProposedRecommendation ¶ added in v0.9.0
type ProposedRecommendation struct {
// EffectiveHPA is the proposed recommendation for type Replicas
EffectiveHPA *EffectiveHorizontalPodAutoscalerRecommendation `json:"effectiveHPA,omitempty"`
// ReplicasRecommendation is the proposed replicas for type Replicas
ReplicasRecommendation *ReplicasRecommendation `json:"replicasRecommendation,omitempty"`
// ResourceRequest is the proposed recommendation for type Resource
ResourceRequest *ResourceRequestRecommendation `json:"resourceRequest,omitempty"`
}
ProposedRecommendation is the result for one recommendation
func (*ProposedRecommendation) DeepCopy ¶ added in v0.9.0
func (in *ProposedRecommendation) DeepCopy() *ProposedRecommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProposedRecommendation.
func (*ProposedRecommendation) DeepCopyInto ¶ added in v0.9.0
func (in *ProposedRecommendation) DeepCopyInto(out *ProposedRecommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Recommendation ¶
type Recommendation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec RecommendationSpec `json:"spec,omitempty"`
// +optional
Status RecommendationStatus `json:"status,omitempty"`
}
Recommendation represents the configuration of a single recommendation.
func (*Recommendation) DeepCopy ¶
func (in *Recommendation) DeepCopy() *Recommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Recommendation.
func (*Recommendation) DeepCopyInto ¶
func (in *Recommendation) DeepCopyInto(out *Recommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Recommendation) DeepCopyObject ¶
func (in *Recommendation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecommendationContent ¶ added in v0.7.0
type RecommendationContent struct {
// +optional
RecommendedValue string `json:"recommendedValue,omitempty"`
// +optional
TargetRef corev1.ObjectReference `json:"targetRef"`
// +optional
RecommendedInfo string `json:"recommendedInfo,omitempty"`
// +optional
CurrentInfo string `json:"currentInfo,omitempty"`
// +optional
Action string `json:"action,omitempty"`
// +optional
Description string `json:"description,omitempty"`
}
RecommendationContent contains results for one recommendation
func (*RecommendationContent) DeepCopy ¶ added in v0.7.0
func (in *RecommendationContent) DeepCopy() *RecommendationContent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationContent.
func (*RecommendationContent) DeepCopyInto ¶ added in v0.7.0
func (in *RecommendationContent) DeepCopyInto(out *RecommendationContent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecommendationList ¶
type RecommendationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Recommendation `json:"items"`
}
RecommendationList is a list of recommendations
func (*RecommendationList) DeepCopy ¶
func (in *RecommendationList) DeepCopy() *RecommendationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationList.
func (*RecommendationList) DeepCopyInto ¶
func (in *RecommendationList) DeepCopyInto(out *RecommendationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecommendationList) DeepCopyObject ¶
func (in *RecommendationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecommendationMission ¶ added in v0.5.0
type RecommendationMission struct {
corev1.ObjectReference `json:",inline"`
// +optional
TargetRef corev1.ObjectReference `json:"targetRef"`
// LastStartTime is last time we start a recommendation mission.
// +optional
LastStartTime *metav1.Time `json:"lastStartTime,omitempty"`
// Message presents the running message for this mission
// +optional
Message string `json:"message,omitempty"`
// RecommenderRef presents recommender info for recommendation mission.
// +optional
RecommenderRef Recommender `json:"recommenderRef"`
}
func (*RecommendationMission) DeepCopy ¶ added in v0.5.0
func (in *RecommendationMission) DeepCopy() *RecommendationMission
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationMission.
func (*RecommendationMission) DeepCopyInto ¶ added in v0.5.0
func (in *RecommendationMission) DeepCopyInto(out *RecommendationMission)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecommendationRule ¶ added in v0.7.0
type RecommendationRule struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec RecommendationRuleSpec `json:"spec"`
// +optional
Status RecommendationRuleStatus `json:"status,omitempty"`
}
RecommendationRule represents the configuration of an RecommendationRule object.
func (*RecommendationRule) DeepCopy ¶ added in v0.7.0
func (in *RecommendationRule) DeepCopy() *RecommendationRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationRule.
func (*RecommendationRule) DeepCopyInto ¶ added in v0.7.0
func (in *RecommendationRule) DeepCopyInto(out *RecommendationRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecommendationRule) DeepCopyObject ¶ added in v0.7.0
func (in *RecommendationRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecommendationRuleList ¶ added in v0.7.0
type RecommendationRuleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []RecommendationRule `json:"items"`
}
RecommendationRuleList is a list of RecommendationRule items.
func (*RecommendationRuleList) DeepCopy ¶ added in v0.7.0
func (in *RecommendationRuleList) DeepCopy() *RecommendationRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationRuleList.
func (*RecommendationRuleList) DeepCopyInto ¶ added in v0.7.0
func (in *RecommendationRuleList) DeepCopyInto(out *RecommendationRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecommendationRuleList) DeepCopyObject ¶ added in v0.7.0
func (in *RecommendationRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RecommendationRuleSpec ¶ added in v0.7.0
type RecommendationRuleSpec struct {
// ResourceSelector indicates how to select resources(e.g. a set of Deployments) for a Recommendation.
// +required
// +kubebuilder:validation:Required
ResourceSelectors []ResourceSelector `json:"resourceSelectors"`
// NamespaceSelector indicates resource namespaces to select from
NamespaceSelector NamespaceSelector `json:"namespaceSelector"`
// RunInterval between two recommendation
RunInterval string `json:"runInterval,omitempty"`
// List of recommender type to run
Recommenders []Recommender `json:"recommenders"`
}
RecommendationRuleSpec defines resources and runInterval to recommend
func (*RecommendationRuleSpec) DeepCopy ¶ added in v0.7.0
func (in *RecommendationRuleSpec) DeepCopy() *RecommendationRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationRuleSpec.
func (*RecommendationRuleSpec) DeepCopyInto ¶ added in v0.7.0
func (in *RecommendationRuleSpec) DeepCopyInto(out *RecommendationRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecommendationRuleStatus ¶ added in v0.7.0
type RecommendationRuleStatus struct {
// LastUpdateTime is the last time the status updated.
// +optional
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// Recommendations is a list of RecommendationMission that run parallel.
// +optional
// +listType=atomic
Recommendations []RecommendationMission `json:"recommendations,omitempty"`
// RunNumber is the numbers of runs
// +optional
RunNumber int32 `json:"runNumber,omitempty"`
}
RecommendationRuleStatus represents the current state of an RecommendationRule item.
func (*RecommendationRuleStatus) DeepCopy ¶ added in v0.7.0
func (in *RecommendationRuleStatus) DeepCopy() *RecommendationRuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationRuleStatus.
func (*RecommendationRuleStatus) DeepCopyInto ¶ added in v0.7.0
func (in *RecommendationRuleStatus) DeepCopyInto(out *RecommendationRuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecommendationSpec ¶
type RecommendationSpec struct {
// +required
// +kubebuilder:validation:Required
TargetRef corev1.ObjectReference `json:"targetRef"`
// +required
// +kubebuilder:validation:Required
Type AnalysisType `json:"type"`
// CompletionStrategy indicate how to complete a recommendation.
// the default CompletionStrategy is Once.
// +optional
CompletionStrategy CompletionStrategy `json:"completionStrategy,omitempty"`
// AdoptionType indicate how to adopt recommendation value to target.
// the default AdoptionType is StatusAndAnnotation.
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Status;StatusAndAnnotation;Auto
// +kubebuilder:default=StatusAndAnnotation
AdoptionType AdoptionType `json:"adoptionType,omitempty"`
}
RecommendationSpec describes the recommendation type and what the recommendation is for.
func (*RecommendationSpec) DeepCopy ¶
func (in *RecommendationSpec) DeepCopy() *RecommendationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationSpec.
func (*RecommendationSpec) DeepCopyInto ¶
func (in *RecommendationSpec) DeepCopyInto(out *RecommendationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RecommendationStatus ¶
type RecommendationStatus struct {
RecommendationContent `json:",inline"`
// Conditions is an array of current recommendation conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// LastUpdateTime is last time we got an update on this status.
// +optional
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
}
RecommendationStatus represents the current state of a recommendation.
func (*RecommendationStatus) DeepCopy ¶
func (in *RecommendationStatus) DeepCopy() *RecommendationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendationStatus.
func (*RecommendationStatus) DeepCopyInto ¶
func (in *RecommendationStatus) DeepCopyInto(out *RecommendationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Recommender ¶ added in v0.7.0
type Recommender struct {
// Recommender's Name
Name string `json:"name"`
// Override Recommendation configs
// +optional
Config map[string]string `json:"config,omitempty"`
}
Recommender referring to the Recommender in RecommendationConfiguration
func (*Recommender) DeepCopy ¶ added in v0.7.0
func (in *Recommender) DeepCopy() *Recommender
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Recommender.
func (*Recommender) DeepCopyInto ¶ added in v0.7.0
func (in *Recommender) DeepCopyInto(out *Recommender)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicasRecommendation ¶ added in v0.9.0
type ReplicasRecommendation struct {
Replicas *int32 `json:"replicas,omitempty"`
}
func (*ReplicasRecommendation) DeepCopy ¶ added in v0.9.0
func (in *ReplicasRecommendation) DeepCopy() *ReplicasRecommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicasRecommendation.
func (*ReplicasRecommendation) DeepCopyInto ¶ added in v0.9.0
func (in *ReplicasRecommendation) DeepCopyInto(out *ReplicasRecommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceList ¶ added in v0.9.0
type ResourceList map[corev1.ResourceName]string
func (ResourceList) DeepCopy ¶ added in v0.9.0
func (in ResourceList) DeepCopy() ResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.
func (ResourceList) DeepCopyInto ¶ added in v0.9.0
func (in ResourceList) DeepCopyInto(out *ResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequestRecommendation ¶ added in v0.9.0
type ResourceRequestRecommendation struct {
Containers []ContainerRecommendation `json:"containers,omitempty"`
}
func (*ResourceRequestRecommendation) DeepCopy ¶ added in v0.9.0
func (in *ResourceRequestRecommendation) DeepCopy() *ResourceRequestRecommendation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequestRecommendation.
func (*ResourceRequestRecommendation) DeepCopyInto ¶ added in v0.9.0
func (in *ResourceRequestRecommendation) DeepCopyInto(out *ResourceRequestRecommendation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSelector ¶
type ResourceSelector struct {
// Kind of the resource, e.g. Deployment
Kind string `json:"kind"`
// API version of the resource, e.g. "apps/v1"
// +optional
APIVersion string `json:"apiVersion"`
// Name of the resource.
// +optional
Name string `json:"name,omitempty"`
// +optional
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}
ResourceSelector describes how the resources will be selected.
func (*ResourceSelector) DeepCopy ¶
func (in *ResourceSelector) DeepCopy() *ResourceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSelector.
func (*ResourceSelector) DeepCopyInto ¶
func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Target ¶
type Target struct {
// +optional
Namespace string `json:"namespace,omitempty"`
// +optional
Kind string `json:"kind,omitempty"`
// +optional
Name string `json:"name,omitempty"`
}
func (*Target) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.