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

com.pulumi.googlenative.logging.v2.inputs.BucketOptionsArgs Maven / Gradle / Ivy

// *** 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.googlenative.logging.v2.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.logging.v2.inputs.ExplicitArgs;
import com.pulumi.googlenative.logging.v2.inputs.ExponentialArgs;
import com.pulumi.googlenative.logging.v2.inputs.LinearArgs;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.
 * 
 */
public final class BucketOptionsArgs extends com.pulumi.resources.ResourceArgs {

    public static final BucketOptionsArgs Empty = new BucketOptionsArgs();

    /**
     * The explicit buckets.
     * 
     */
    @Import(name="explicitBuckets")
    private @Nullable Output explicitBuckets;

    /**
     * @return The explicit buckets.
     * 
     */
    public Optional> explicitBuckets() {
        return Optional.ofNullable(this.explicitBuckets);
    }

    /**
     * The exponential buckets.
     * 
     */
    @Import(name="exponentialBuckets")
    private @Nullable Output exponentialBuckets;

    /**
     * @return The exponential buckets.
     * 
     */
    public Optional> exponentialBuckets() {
        return Optional.ofNullable(this.exponentialBuckets);
    }

    /**
     * The linear bucket.
     * 
     */
    @Import(name="linearBuckets")
    private @Nullable Output linearBuckets;

    /**
     * @return The linear bucket.
     * 
     */
    public Optional> linearBuckets() {
        return Optional.ofNullable(this.linearBuckets);
    }

    private BucketOptionsArgs() {}

    private BucketOptionsArgs(BucketOptionsArgs $) {
        this.explicitBuckets = $.explicitBuckets;
        this.exponentialBuckets = $.exponentialBuckets;
        this.linearBuckets = $.linearBuckets;
    }

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

    public static final class Builder {
        private BucketOptionsArgs $;

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

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

        /**
         * @param explicitBuckets The explicit buckets.
         * 
         * @return builder
         * 
         */
        public Builder explicitBuckets(@Nullable Output explicitBuckets) {
            $.explicitBuckets = explicitBuckets;
            return this;
        }

        /**
         * @param explicitBuckets The explicit buckets.
         * 
         * @return builder
         * 
         */
        public Builder explicitBuckets(ExplicitArgs explicitBuckets) {
            return explicitBuckets(Output.of(explicitBuckets));
        }

        /**
         * @param exponentialBuckets The exponential buckets.
         * 
         * @return builder
         * 
         */
        public Builder exponentialBuckets(@Nullable Output exponentialBuckets) {
            $.exponentialBuckets = exponentialBuckets;
            return this;
        }

        /**
         * @param exponentialBuckets The exponential buckets.
         * 
         * @return builder
         * 
         */
        public Builder exponentialBuckets(ExponentialArgs exponentialBuckets) {
            return exponentialBuckets(Output.of(exponentialBuckets));
        }

        /**
         * @param linearBuckets The linear bucket.
         * 
         * @return builder
         * 
         */
        public Builder linearBuckets(@Nullable Output linearBuckets) {
            $.linearBuckets = linearBuckets;
            return this;
        }

        /**
         * @param linearBuckets The linear bucket.
         * 
         * @return builder
         * 
         */
        public Builder linearBuckets(LinearArgs linearBuckets) {
            return linearBuckets(Output.of(linearBuckets));
        }

        public BucketOptionsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy