Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the analysis API. +k8s:deepcopy-gen=package,register +groupName=analysis.crane.io
Index ¶
- 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 NamespaceSelector
- type Recommendation
- type RecommendationContent
- type RecommendationList
- type RecommendationMission
- type RecommendationRule
- type RecommendationRuleList
- type RecommendationRuleSpec
- type RecommendationRuleStatus
- type RecommendationSpec
- type RecommendationStatus
- type Recommender
- type ResourceSelector
- type Target
Constants ¶
This section is empty.
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 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 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 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"` }
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"` }
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 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.