Documentation ¶
Index ¶
- Variables
- func PeriodicallyInvalidate(cache AvailableAPIsGetter, interval time.Duration, stopCh <-chan struct{})
- type AvailableAPIsGetter
- type CustomMetricsClient
- func NewForConfig(baseConfig *rest.Config, mapper meta.RESTMapper, ...) CustomMetricsClient
- func NewForVersion(client rest.Interface, mapper meta.RESTMapper, version schema.GroupVersion) CustomMetricsClient
- func NewForVersionForConfig(c *rest.Config, mapper meta.RESTMapper, version schema.GroupVersion) (CustomMetricsClient, error)
- type MetricConverter
- func (c *MetricConverter) Codecs() serializer.CodecFactory
- func (c *MetricConverter) ConvertListOptionsToVersion(opts *cmint.MetricListOptions, version schema.GroupVersion) (runtime.Object, error)
- func (c *MetricConverter) ConvertResultToVersion(res rest.Result, gv schema.GroupVersion) (runtime.Object, error)
- func (c *MetricConverter) Scheme() *runtime.Scheme
- func (c *MetricConverter) UnsafeConvertToVersionVia(obj runtime.Object, externalVersion schema.GroupVersion) (runtime.Object, error)
- type MetricsInterface
- type NamespacedMetricsGetter
- type RootScopedMetricsGetter
Constants ¶
This section is empty.
Variables ¶
var ( // MetricVersions is the set of metric versions accepted by the converter. MetricVersions = []schema.GroupVersion{ cmv1beta2.SchemeGroupVersion, cmv1beta1.SchemeGroupVersion, cmint.SchemeGroupVersion, } )
Functions ¶
func PeriodicallyInvalidate ¶
func PeriodicallyInvalidate(cache AvailableAPIsGetter, interval time.Duration, stopCh <-chan struct{})
PeriodicallyInvalidate periodically invalidates the preferred version cache until told to stop.
Types ¶
type AvailableAPIsGetter ¶
type AvailableAPIsGetter interface { PreferredVersion() (schema.GroupVersion, error) Invalidate() }
AvailableAPIsGetter knows how to fetch and cache the preferred custom metrics API version, and invalidate that cache when asked.
func NewAvailableAPIsGetter ¶
func NewAvailableAPIsGetter(client discovery.DiscoveryInterface) AvailableAPIsGetter
NewAvailableAPIsGetter creates an AvailableAPIsGetter that checks discovery to find the available versions of the custom metrics api.
type CustomMetricsClient ¶
type CustomMetricsClient interface { RootScopedMetricsGetter NamespacedMetricsGetter }
CustomMetricsClient is a client for fetching metrics describing both root-scoped and namespaced resources.
func NewForConfig ¶
func NewForConfig(baseConfig *rest.Config, mapper meta.RESTMapper, availableAPIs AvailableAPIsGetter) CustomMetricsClient
NewForConfig creates a new custom metrics client which delegates to a client which uses the preferred api version.
func NewForVersion ¶
func NewForVersion(client rest.Interface, mapper meta.RESTMapper, version schema.GroupVersion) CustomMetricsClient
NewForVersion returns a new CustomMetricsClient for a particular api version.
func NewForVersionForConfig ¶
func NewForVersionForConfig(c *rest.Config, mapper meta.RESTMapper, version schema.GroupVersion) (CustomMetricsClient, error)
NewForVersionForConfig returns a new CustomMetricsClient for a particular api version and base configuration.
type MetricConverter ¶
type MetricConverter struct {
// contains filtered or unexported fields
}
MetricConverter knows how to convert between external MetricValue versions.
func NewMetricConverter ¶
func NewMetricConverter() *MetricConverter
NewMetricConverter creates a MetricConverter which knows how to convert objects between different versions of the custom metrics api.
func (*MetricConverter) Codecs ¶
func (c *MetricConverter) Codecs() serializer.CodecFactory
Codecs returns the codecs used by this metric converter
func (*MetricConverter) ConvertListOptionsToVersion ¶
func (c *MetricConverter) ConvertListOptionsToVersion(opts *cmint.MetricListOptions, version schema.GroupVersion) (runtime.Object, error)
ConvertListOptionsToVersion converts converts a set of MetricListOptions to the provided GroupVersion.
func (*MetricConverter) ConvertResultToVersion ¶
func (c *MetricConverter) ConvertResultToVersion(res rest.Result, gv schema.GroupVersion) (runtime.Object, error)
ConvertResultToVersion converts a Result to the provided GroupVersion
func (*MetricConverter) Scheme ¶
func (c *MetricConverter) Scheme() *runtime.Scheme
Scheme returns the scheme used by this metric converter.
func (*MetricConverter) UnsafeConvertToVersionVia ¶
func (c *MetricConverter) UnsafeConvertToVersionVia(obj runtime.Object, externalVersion schema.GroupVersion) (runtime.Object, error)
UnsafeConvertToVersionVia is like Scheme.UnsafeConvertToVersion, but it does so via an internal version first. We use it here to work with the v1beta2 client internally, while preserving backwards compatibility for existing custom metrics adapters
type MetricsInterface ¶
type MetricsInterface interface { // GetForObject fetchs the given metric describing the given object. GetForObject(groupKind schema.GroupKind, name string, metricName string, metricSelector labels.Selector) (*v1beta2.MetricValue, error) // GetForObjects fetches the given metric describing all objects of the given // type matching the given label selector (or simply all objects of the given type // if the selector is nil). GetForObjects(groupKind schema.GroupKind, selector labels.Selector, metricName string, metricSelector labels.Selector) (*v1beta2.MetricValueList, error) }
MetricsInterface provides access to metrics describing Kubernetes objects.
type NamespacedMetricsGetter ¶
type NamespacedMetricsGetter interface {
NamespacedMetrics(namespace string) MetricsInterface
}
NamespacedMetricsGetter provides access to an interface for fetching metrics describing resources in a particular namespace.
type RootScopedMetricsGetter ¶
type RootScopedMetricsGetter interface {
RootScopedMetrics() MetricsInterface
}
RootScopedMetricsGetter provides access to an interface for fetching metrics describing root-scoped objects. Note that metrics describing a namespace are simply considered a special case of root-scoped metrics.