All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.kubernetes.autoscaling.v2beta1.inputs.PodsMetricStatusArgs Maven / Gradle / Ivy

There is a newer version: 4.19.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.kubernetes.autoscaling.v2beta1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.kubernetes.meta.v1.inputs.LabelSelectorArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).
 * 
 */
public final class PodsMetricStatusArgs extends com.pulumi.resources.ResourceArgs {

    public static final PodsMetricStatusArgs Empty = new PodsMetricStatusArgs();

    /**
     * currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)
     * 
     */
    @Import(name="currentAverageValue", required=true)
    private Output currentAverageValue;

    /**
     * @return currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)
     * 
     */
    public Output currentAverageValue() {
        return this.currentAverageValue;
    }

    /**
     * metricName is the name of the metric in question
     * 
     */
    @Import(name="metricName", required=true)
    private Output metricName;

    /**
     * @return metricName is the name of the metric in question
     * 
     */
    public Output metricName() {
        return this.metricName;
    }

    /**
     * selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.
     * 
     */
    @Import(name="selector")
    private @Nullable Output selector;

    /**
     * @return selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.
     * 
     */
    public Optional> selector() {
        return Optional.ofNullable(this.selector);
    }

    private PodsMetricStatusArgs() {}

    private PodsMetricStatusArgs(PodsMetricStatusArgs $) {
        this.currentAverageValue = $.currentAverageValue;
        this.metricName = $.metricName;
        this.selector = $.selector;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(PodsMetricStatusArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private PodsMetricStatusArgs $;

        public Builder() {
            $ = new PodsMetricStatusArgs();
        }

        public Builder(PodsMetricStatusArgs defaults) {
            $ = new PodsMetricStatusArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param currentAverageValue currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)
         * 
         * @return builder
         * 
         */
        public Builder currentAverageValue(Output currentAverageValue) {
            $.currentAverageValue = currentAverageValue;
            return this;
        }

        /**
         * @param currentAverageValue currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)
         * 
         * @return builder
         * 
         */
        public Builder currentAverageValue(String currentAverageValue) {
            return currentAverageValue(Output.of(currentAverageValue));
        }

        /**
         * @param metricName metricName is the name of the metric in question
         * 
         * @return builder
         * 
         */
        public Builder metricName(Output metricName) {
            $.metricName = metricName;
            return this;
        }

        /**
         * @param metricName metricName is the name of the metric in question
         * 
         * @return builder
         * 
         */
        public Builder metricName(String metricName) {
            return metricName(Output.of(metricName));
        }

        /**
         * @param selector selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.
         * 
         * @return builder
         * 
         */
        public Builder selector(@Nullable Output selector) {
            $.selector = selector;
            return this;
        }

        /**
         * @param selector selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.
         * 
         * @return builder
         * 
         */
        public Builder selector(LabelSelectorArgs selector) {
            return selector(Output.of(selector));
        }

        public PodsMetricStatusArgs build() {
            if ($.currentAverageValue == null) {
                throw new MissingRequiredPropertyException("PodsMetricStatusArgs", "currentAverageValue");
            }
            if ($.metricName == null) {
                throw new MissingRequiredPropertyException("PodsMetricStatusArgs", "metricName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy