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

com.pulumi.kubernetes.autoscaling.v2beta2.inputs.ContainerResourceMetricSourcePatchArgs Maven / Gradle / Ivy

There is a newer version: 4.19.0-alpha.1730750641
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.v2beta2.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.kubernetes.autoscaling.v2beta2.inputs.MetricTargetPatchArgs;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory).  The values will be averaged together before being compared to the target.  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.  Only one "target" type should be set.
 * 
 */
public final class ContainerResourceMetricSourcePatchArgs extends com.pulumi.resources.ResourceArgs {

    public static final ContainerResourceMetricSourcePatchArgs Empty = new ContainerResourceMetricSourcePatchArgs();

    /**
     * container is the name of the container in the pods of the scaling target
     * 
     */
    @Import(name="container")
    private @Nullable Output container;

    /**
     * @return container is the name of the container in the pods of the scaling target
     * 
     */
    public Optional> container() {
        return Optional.ofNullable(this.container);
    }

    /**
     * name is the name of the resource in question.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return name is the name of the resource in question.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * target specifies the target value for the given metric
     * 
     */
    @Import(name="target")
    private @Nullable Output target;

    /**
     * @return target specifies the target value for the given metric
     * 
     */
    public Optional> target() {
        return Optional.ofNullable(this.target);
    }

    private ContainerResourceMetricSourcePatchArgs() {}

    private ContainerResourceMetricSourcePatchArgs(ContainerResourceMetricSourcePatchArgs $) {
        this.container = $.container;
        this.name = $.name;
        this.target = $.target;
    }

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

    public static final class Builder {
        private ContainerResourceMetricSourcePatchArgs $;

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

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

        /**
         * @param container container is the name of the container in the pods of the scaling target
         * 
         * @return builder
         * 
         */
        public Builder container(@Nullable Output container) {
            $.container = container;
            return this;
        }

        /**
         * @param container container is the name of the container in the pods of the scaling target
         * 
         * @return builder
         * 
         */
        public Builder container(String container) {
            return container(Output.of(container));
        }

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

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

        /**
         * @param target target specifies the target value for the given metric
         * 
         * @return builder
         * 
         */
        public Builder target(@Nullable Output target) {
            $.target = target;
            return this;
        }

        /**
         * @param target target specifies the target value for the given metric
         * 
         * @return builder
         * 
         */
        public Builder target(MetricTargetPatchArgs target) {
            return target(Output.of(target));
        }

        public ContainerResourceMetricSourcePatchArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy