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

com.pulumi.azurenative.app.inputs.JobScaleArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.app.inputs;

import com.pulumi.azurenative.app.inputs.JobScaleRuleArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Scaling configurations for event driven jobs.
 * 
 */
public final class JobScaleArgs extends com.pulumi.resources.ResourceArgs {

    public static final JobScaleArgs Empty = new JobScaleArgs();

    /**
     * Maximum number of job executions that are created for a trigger, default 100.
     * 
     */
    @Import(name="maxExecutions")
    private @Nullable Output maxExecutions;

    /**
     * @return Maximum number of job executions that are created for a trigger, default 100.
     * 
     */
    public Optional> maxExecutions() {
        return Optional.ofNullable(this.maxExecutions);
    }

    /**
     * Minimum number of job executions that are created for a trigger, default 0
     * 
     */
    @Import(name="minExecutions")
    private @Nullable Output minExecutions;

    /**
     * @return Minimum number of job executions that are created for a trigger, default 0
     * 
     */
    public Optional> minExecutions() {
        return Optional.ofNullable(this.minExecutions);
    }

    /**
     * Interval to check each event source in seconds. Defaults to 30s
     * 
     */
    @Import(name="pollingInterval")
    private @Nullable Output pollingInterval;

    /**
     * @return Interval to check each event source in seconds. Defaults to 30s
     * 
     */
    public Optional> pollingInterval() {
        return Optional.ofNullable(this.pollingInterval);
    }

    /**
     * Scaling rules.
     * 
     */
    @Import(name="rules")
    private @Nullable Output> rules;

    /**
     * @return Scaling rules.
     * 
     */
    public Optional>> rules() {
        return Optional.ofNullable(this.rules);
    }

    private JobScaleArgs() {}

    private JobScaleArgs(JobScaleArgs $) {
        this.maxExecutions = $.maxExecutions;
        this.minExecutions = $.minExecutions;
        this.pollingInterval = $.pollingInterval;
        this.rules = $.rules;
    }

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

    public static final class Builder {
        private JobScaleArgs $;

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

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

        /**
         * @param maxExecutions Maximum number of job executions that are created for a trigger, default 100.
         * 
         * @return builder
         * 
         */
        public Builder maxExecutions(@Nullable Output maxExecutions) {
            $.maxExecutions = maxExecutions;
            return this;
        }

        /**
         * @param maxExecutions Maximum number of job executions that are created for a trigger, default 100.
         * 
         * @return builder
         * 
         */
        public Builder maxExecutions(Integer maxExecutions) {
            return maxExecutions(Output.of(maxExecutions));
        }

        /**
         * @param minExecutions Minimum number of job executions that are created for a trigger, default 0
         * 
         * @return builder
         * 
         */
        public Builder minExecutions(@Nullable Output minExecutions) {
            $.minExecutions = minExecutions;
            return this;
        }

        /**
         * @param minExecutions Minimum number of job executions that are created for a trigger, default 0
         * 
         * @return builder
         * 
         */
        public Builder minExecutions(Integer minExecutions) {
            return minExecutions(Output.of(minExecutions));
        }

        /**
         * @param pollingInterval Interval to check each event source in seconds. Defaults to 30s
         * 
         * @return builder
         * 
         */
        public Builder pollingInterval(@Nullable Output pollingInterval) {
            $.pollingInterval = pollingInterval;
            return this;
        }

        /**
         * @param pollingInterval Interval to check each event source in seconds. Defaults to 30s
         * 
         * @return builder
         * 
         */
        public Builder pollingInterval(Integer pollingInterval) {
            return pollingInterval(Output.of(pollingInterval));
        }

        /**
         * @param rules Scaling rules.
         * 
         * @return builder
         * 
         */
        public Builder rules(@Nullable Output> rules) {
            $.rules = rules;
            return this;
        }

        /**
         * @param rules Scaling rules.
         * 
         * @return builder
         * 
         */
        public Builder rules(List rules) {
            return rules(Output.of(rules));
        }

        /**
         * @param rules Scaling rules.
         * 
         * @return builder
         * 
         */
        public Builder rules(JobScaleRuleArgs... rules) {
            return rules(List.of(rules));
        }

        public JobScaleArgs build() {
            $.maxExecutions = Codegen.integerProp("maxExecutions").output().arg($.maxExecutions).def(100).getNullable();
            $.minExecutions = Codegen.integerProp("minExecutions").output().arg($.minExecutions).def(0).getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy