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

com.pulumi.azurenative.servicefabric.outputs.AveragePartitionLoadScalingTriggerResponse Maven / Gradle / Ivy

There is a newer version: 2.72.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.azurenative.servicefabric.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class AveragePartitionLoadScalingTriggerResponse {
    /**
     * @return Enumerates the ways that a service can be partitioned.
     * Expected value is 'AveragePartitionLoadTrigger'.
     * 
     */
    private String kind;
    /**
     * @return The lower limit of the load below which a scale in operation should be performed.
     * 
     */
    private Double lowerLoadThreshold;
    /**
     * @return The name of the metric for which usage should be tracked.
     * 
     */
    private String metricName;
    /**
     * @return The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
     * 
     */
    private String scaleInterval;
    /**
     * @return The upper limit of the load beyond which a scale out operation should be performed.
     * 
     */
    private Double upperLoadThreshold;

    private AveragePartitionLoadScalingTriggerResponse() {}
    /**
     * @return Enumerates the ways that a service can be partitioned.
     * Expected value is 'AveragePartitionLoadTrigger'.
     * 
     */
    public String kind() {
        return this.kind;
    }
    /**
     * @return The lower limit of the load below which a scale in operation should be performed.
     * 
     */
    public Double lowerLoadThreshold() {
        return this.lowerLoadThreshold;
    }
    /**
     * @return The name of the metric for which usage should be tracked.
     * 
     */
    public String metricName() {
        return this.metricName;
    }
    /**
     * @return The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format "hh:mm:ss".
     * 
     */
    public String scaleInterval() {
        return this.scaleInterval;
    }
    /**
     * @return The upper limit of the load beyond which a scale out operation should be performed.
     * 
     */
    public Double upperLoadThreshold() {
        return this.upperLoadThreshold;
    }

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

    public static Builder builder(AveragePartitionLoadScalingTriggerResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String kind;
        private Double lowerLoadThreshold;
        private String metricName;
        private String scaleInterval;
        private Double upperLoadThreshold;
        public Builder() {}
        public Builder(AveragePartitionLoadScalingTriggerResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.kind = defaults.kind;
    	      this.lowerLoadThreshold = defaults.lowerLoadThreshold;
    	      this.metricName = defaults.metricName;
    	      this.scaleInterval = defaults.scaleInterval;
    	      this.upperLoadThreshold = defaults.upperLoadThreshold;
        }

        @CustomType.Setter
        public Builder kind(String kind) {
            if (kind == null) {
              throw new MissingRequiredPropertyException("AveragePartitionLoadScalingTriggerResponse", "kind");
            }
            this.kind = kind;
            return this;
        }
        @CustomType.Setter
        public Builder lowerLoadThreshold(Double lowerLoadThreshold) {
            if (lowerLoadThreshold == null) {
              throw new MissingRequiredPropertyException("AveragePartitionLoadScalingTriggerResponse", "lowerLoadThreshold");
            }
            this.lowerLoadThreshold = lowerLoadThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder metricName(String metricName) {
            if (metricName == null) {
              throw new MissingRequiredPropertyException("AveragePartitionLoadScalingTriggerResponse", "metricName");
            }
            this.metricName = metricName;
            return this;
        }
        @CustomType.Setter
        public Builder scaleInterval(String scaleInterval) {
            if (scaleInterval == null) {
              throw new MissingRequiredPropertyException("AveragePartitionLoadScalingTriggerResponse", "scaleInterval");
            }
            this.scaleInterval = scaleInterval;
            return this;
        }
        @CustomType.Setter
        public Builder upperLoadThreshold(Double upperLoadThreshold) {
            if (upperLoadThreshold == null) {
              throw new MissingRequiredPropertyException("AveragePartitionLoadScalingTriggerResponse", "upperLoadThreshold");
            }
            this.upperLoadThreshold = upperLoadThreshold;
            return this;
        }
        public AveragePartitionLoadScalingTriggerResponse build() {
            final var _resultValue = new AveragePartitionLoadScalingTriggerResponse();
            _resultValue.kind = kind;
            _resultValue.lowerLoadThreshold = lowerLoadThreshold;
            _resultValue.metricName = metricName;
            _resultValue.scaleInterval = scaleInterval;
            _resultValue.upperLoadThreshold = upperLoadThreshold;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy