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

com.pulumi.alicloud.log.inputs.AlertScheduleArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.log.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AlertScheduleArgs extends com.pulumi.resources.ResourceArgs {

    public static final AlertScheduleArgs Empty = new AlertScheduleArgs();

    /**
     * Cron expression when type is Cron.
     * 
     */
    @Import(name="cronExpression")
    private @Nullable Output cronExpression;

    /**
     * @return Cron expression when type is Cron.
     * 
     */
    public Optional> cronExpression() {
        return Optional.ofNullable(this.cronExpression);
    }

    /**
     * Day of week when type is Weekly, including 0,1,2,3,4,5,6, 0 for Sunday, 1 for Monday
     * 
     */
    @Import(name="dayOfWeek")
    private @Nullable Output dayOfWeek;

    /**
     * @return Day of week when type is Weekly, including 0,1,2,3,4,5,6, 0 for Sunday, 1 for Monday
     * 
     */
    public Optional> dayOfWeek() {
        return Optional.ofNullable(this.dayOfWeek);
    }

    @Import(name="delay")
    private @Nullable Output delay;

    public Optional> delay() {
        return Optional.ofNullable(this.delay);
    }

    /**
     * Hour of day when type is Weekly/Daily.
     * 
     */
    @Import(name="hour")
    private @Nullable Output hour;

    /**
     * @return Hour of day when type is Weekly/Daily.
     * 
     */
    public Optional> hour() {
        return Optional.ofNullable(this.hour);
    }

    /**
     * Execution interval. 60 seconds minimum, such as 60s, 1h. used when type is FixedRate.
     * 
     */
    @Import(name="interval")
    private @Nullable Output interval;

    /**
     * @return Execution interval. 60 seconds minimum, such as 60s, 1h. used when type is FixedRate.
     * 
     */
    public Optional> interval() {
        return Optional.ofNullable(this.interval);
    }

    @Import(name="runImmediately")
    private @Nullable Output runImmediately;

    public Optional> runImmediately() {
        return Optional.ofNullable(this.runImmediately);
    }

    /**
     * Time zone for schedule.
     * 
     */
    @Import(name="timeZone")
    private @Nullable Output timeZone;

    /**
     * @return Time zone for schedule.
     * 
     */
    public Optional> timeZone() {
        return Optional.ofNullable(this.timeZone);
    }

    /**
     * including FixedRate,Hourly,Daily,Weekly,Cron.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return including FixedRate,Hourly,Daily,Weekly,Cron.
     * 
     */
    public Output type() {
        return this.type;
    }

    private AlertScheduleArgs() {}

    private AlertScheduleArgs(AlertScheduleArgs $) {
        this.cronExpression = $.cronExpression;
        this.dayOfWeek = $.dayOfWeek;
        this.delay = $.delay;
        this.hour = $.hour;
        this.interval = $.interval;
        this.runImmediately = $.runImmediately;
        this.timeZone = $.timeZone;
        this.type = $.type;
    }

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

    public static final class Builder {
        private AlertScheduleArgs $;

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

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

        /**
         * @param cronExpression Cron expression when type is Cron.
         * 
         * @return builder
         * 
         */
        public Builder cronExpression(@Nullable Output cronExpression) {
            $.cronExpression = cronExpression;
            return this;
        }

        /**
         * @param cronExpression Cron expression when type is Cron.
         * 
         * @return builder
         * 
         */
        public Builder cronExpression(String cronExpression) {
            return cronExpression(Output.of(cronExpression));
        }

        /**
         * @param dayOfWeek Day of week when type is Weekly, including 0,1,2,3,4,5,6, 0 for Sunday, 1 for Monday
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(@Nullable Output dayOfWeek) {
            $.dayOfWeek = dayOfWeek;
            return this;
        }

        /**
         * @param dayOfWeek Day of week when type is Weekly, including 0,1,2,3,4,5,6, 0 for Sunday, 1 for Monday
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(Integer dayOfWeek) {
            return dayOfWeek(Output.of(dayOfWeek));
        }

        public Builder delay(@Nullable Output delay) {
            $.delay = delay;
            return this;
        }

        public Builder delay(Integer delay) {
            return delay(Output.of(delay));
        }

        /**
         * @param hour Hour of day when type is Weekly/Daily.
         * 
         * @return builder
         * 
         */
        public Builder hour(@Nullable Output hour) {
            $.hour = hour;
            return this;
        }

        /**
         * @param hour Hour of day when type is Weekly/Daily.
         * 
         * @return builder
         * 
         */
        public Builder hour(Integer hour) {
            return hour(Output.of(hour));
        }

        /**
         * @param interval Execution interval. 60 seconds minimum, such as 60s, 1h. used when type is FixedRate.
         * 
         * @return builder
         * 
         */
        public Builder interval(@Nullable Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval Execution interval. 60 seconds minimum, such as 60s, 1h. used when type is FixedRate.
         * 
         * @return builder
         * 
         */
        public Builder interval(String interval) {
            return interval(Output.of(interval));
        }

        public Builder runImmediately(@Nullable Output runImmediately) {
            $.runImmediately = runImmediately;
            return this;
        }

        public Builder runImmediately(Boolean runImmediately) {
            return runImmediately(Output.of(runImmediately));
        }

        /**
         * @param timeZone Time zone for schedule.
         * 
         * @return builder
         * 
         */
        public Builder timeZone(@Nullable Output timeZone) {
            $.timeZone = timeZone;
            return this;
        }

        /**
         * @param timeZone Time zone for schedule.
         * 
         * @return builder
         * 
         */
        public Builder timeZone(String timeZone) {
            return timeZone(Output.of(timeZone));
        }

        /**
         * @param type including FixedRate,Hourly,Daily,Weekly,Cron.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type including FixedRate,Hourly,Daily,Weekly,Cron.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public AlertScheduleArgs build() {
            if ($.type == null) {
                throw new MissingRequiredPropertyException("AlertScheduleArgs", "type");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy