Class MetricSpecV2.Jsii$Proxy

  • All Implemented Interfaces:
    MetricSpecV2, software.amazon.jsii.JsiiSerializable
    Enclosing interface:
    MetricSpecV2

    @Stability(Stable)
    @Internal
    public static final class MetricSpecV2.Jsii$Proxy
    extends software.amazon.jsii.JsiiObject
    implements MetricSpecV2
    An implementation for MetricSpecV2
    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getType

        public final String getType()
        Description copied from interface: MetricSpecV2
        type is the type of metric source.

        It should be one of "ContainerResource", "External", "Object", "Pods" or "Resource", each mapping to a matching field in the object. Note: "ContainerResource" type is available on when the feature-gate HPAContainerMetrics is enabled

        Specified by:
        getType in interface MetricSpecV2
      • getContainerResource

        public final ContainerResourceMetricSourceV2 getContainerResource()
        Description copied from interface: MetricSpecV2
        containerResource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing a single container in each pod of the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
        Specified by:
        getContainerResource in interface MetricSpecV2
      • getExternal

        public final ExternalMetricSourceV2 getExternal()
        Description copied from interface: MetricSpecV2
        external refers to a global metric that is not associated with any Kubernetes object.

        It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).

        Specified by:
        getExternal in interface MetricSpecV2
      • getObject

        public final ObjectMetricSourceV2 getObject()
        Description copied from interface: MetricSpecV2
        object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).
        Specified by:
        getObject in interface MetricSpecV2
      • getPods

        public final PodsMetricSourceV2 getPods()
        Description copied from interface: MetricSpecV2
        pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second).

        The values will be averaged together before being compared to the target value.

        Specified by:
        getPods in interface MetricSpecV2
      • getResource

        public final ResourceMetricSourceV2 getResource()
        Description copied from interface: MetricSpecV2
        resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source.
        Specified by:
        getResource in interface MetricSpecV2
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object