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

com.pulumi.azurenative.automation.inputs.SUCSchedulePropertiesArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.automation.enums.ScheduleFrequency;
import com.pulumi.azurenative.automation.inputs.AdvancedScheduleArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of schedule parameters.
 * 
 */
public final class SUCSchedulePropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final SUCSchedulePropertiesArgs Empty = new SUCSchedulePropertiesArgs();

    /**
     * Gets or sets the advanced schedule.
     * 
     */
    @Import(name="advancedSchedule")
    private @Nullable Output advancedSchedule;

    /**
     * @return Gets or sets the advanced schedule.
     * 
     */
    public Optional> advancedSchedule() {
        return Optional.ofNullable(this.advancedSchedule);
    }

    /**
     * Gets or sets the creation time.
     * 
     */
    @Import(name="creationTime")
    private @Nullable Output creationTime;

    /**
     * @return Gets or sets the creation time.
     * 
     */
    public Optional> creationTime() {
        return Optional.ofNullable(this.creationTime);
    }

    /**
     * Gets or sets the description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Gets or sets the description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Gets or sets the end time of the schedule.
     * 
     */
    @Import(name="expiryTime")
    private @Nullable Output expiryTime;

    /**
     * @return Gets or sets the end time of the schedule.
     * 
     */
    public Optional> expiryTime() {
        return Optional.ofNullable(this.expiryTime);
    }

    /**
     * Gets or sets the expiry time's offset in minutes.
     * 
     */
    @Import(name="expiryTimeOffsetMinutes")
    private @Nullable Output expiryTimeOffsetMinutes;

    /**
     * @return Gets or sets the expiry time's offset in minutes.
     * 
     */
    public Optional> expiryTimeOffsetMinutes() {
        return Optional.ofNullable(this.expiryTimeOffsetMinutes);
    }

    /**
     * Gets or sets the frequency of the schedule.
     * 
     */
    @Import(name="frequency")
    private @Nullable Output> frequency;

    /**
     * @return Gets or sets the frequency of the schedule.
     * 
     */
    public Optional>> frequency() {
        return Optional.ofNullable(this.frequency);
    }

    /**
     * Gets or sets the interval of the schedule.
     * 
     */
    @Import(name="interval")
    private @Nullable Output interval;

    /**
     * @return Gets or sets the interval of the schedule.
     * 
     */
    public Optional> interval() {
        return Optional.ofNullable(this.interval);
    }

    /**
     * Gets or sets a value indicating whether this schedule is enabled.
     * 
     */
    @Import(name="isEnabled")
    private @Nullable Output isEnabled;

    /**
     * @return Gets or sets a value indicating whether this schedule is enabled.
     * 
     */
    public Optional> isEnabled() {
        return Optional.ofNullable(this.isEnabled);
    }

    /**
     * Gets or sets the last modified time.
     * 
     */
    @Import(name="lastModifiedTime")
    private @Nullable Output lastModifiedTime;

    /**
     * @return Gets or sets the last modified time.
     * 
     */
    public Optional> lastModifiedTime() {
        return Optional.ofNullable(this.lastModifiedTime);
    }

    /**
     * Gets or sets the next run time of the schedule.
     * 
     */
    @Import(name="nextRun")
    private @Nullable Output nextRun;

    /**
     * @return Gets or sets the next run time of the schedule.
     * 
     */
    public Optional> nextRun() {
        return Optional.ofNullable(this.nextRun);
    }

    /**
     * Gets or sets the next run time's offset in minutes.
     * 
     */
    @Import(name="nextRunOffsetMinutes")
    private @Nullable Output nextRunOffsetMinutes;

    /**
     * @return Gets or sets the next run time's offset in minutes.
     * 
     */
    public Optional> nextRunOffsetMinutes() {
        return Optional.ofNullable(this.nextRunOffsetMinutes);
    }

    /**
     * Gets or sets the start time of the schedule.
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Gets or sets the start time of the schedule.
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Gets or sets the time zone of the schedule.
     * 
     */
    @Import(name="timeZone")
    private @Nullable Output timeZone;

    /**
     * @return Gets or sets the time zone of the schedule.
     * 
     */
    public Optional> timeZone() {
        return Optional.ofNullable(this.timeZone);
    }

    private SUCSchedulePropertiesArgs() {}

    private SUCSchedulePropertiesArgs(SUCSchedulePropertiesArgs $) {
        this.advancedSchedule = $.advancedSchedule;
        this.creationTime = $.creationTime;
        this.description = $.description;
        this.expiryTime = $.expiryTime;
        this.expiryTimeOffsetMinutes = $.expiryTimeOffsetMinutes;
        this.frequency = $.frequency;
        this.interval = $.interval;
        this.isEnabled = $.isEnabled;
        this.lastModifiedTime = $.lastModifiedTime;
        this.nextRun = $.nextRun;
        this.nextRunOffsetMinutes = $.nextRunOffsetMinutes;
        this.startTime = $.startTime;
        this.timeZone = $.timeZone;
    }

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

    public static final class Builder {
        private SUCSchedulePropertiesArgs $;

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

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

        /**
         * @param advancedSchedule Gets or sets the advanced schedule.
         * 
         * @return builder
         * 
         */
        public Builder advancedSchedule(@Nullable Output advancedSchedule) {
            $.advancedSchedule = advancedSchedule;
            return this;
        }

        /**
         * @param advancedSchedule Gets or sets the advanced schedule.
         * 
         * @return builder
         * 
         */
        public Builder advancedSchedule(AdvancedScheduleArgs advancedSchedule) {
            return advancedSchedule(Output.of(advancedSchedule));
        }

        /**
         * @param creationTime Gets or sets the creation time.
         * 
         * @return builder
         * 
         */
        public Builder creationTime(@Nullable Output creationTime) {
            $.creationTime = creationTime;
            return this;
        }

        /**
         * @param creationTime Gets or sets the creation time.
         * 
         * @return builder
         * 
         */
        public Builder creationTime(String creationTime) {
            return creationTime(Output.of(creationTime));
        }

        /**
         * @param description Gets or sets the description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Gets or sets the description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param expiryTime Gets or sets the end time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder expiryTime(@Nullable Output expiryTime) {
            $.expiryTime = expiryTime;
            return this;
        }

        /**
         * @param expiryTime Gets or sets the end time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder expiryTime(String expiryTime) {
            return expiryTime(Output.of(expiryTime));
        }

        /**
         * @param expiryTimeOffsetMinutes Gets or sets the expiry time's offset in minutes.
         * 
         * @return builder
         * 
         */
        public Builder expiryTimeOffsetMinutes(@Nullable Output expiryTimeOffsetMinutes) {
            $.expiryTimeOffsetMinutes = expiryTimeOffsetMinutes;
            return this;
        }

        /**
         * @param expiryTimeOffsetMinutes Gets or sets the expiry time's offset in minutes.
         * 
         * @return builder
         * 
         */
        public Builder expiryTimeOffsetMinutes(Double expiryTimeOffsetMinutes) {
            return expiryTimeOffsetMinutes(Output.of(expiryTimeOffsetMinutes));
        }

        /**
         * @param frequency Gets or sets the frequency of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder frequency(@Nullable Output> frequency) {
            $.frequency = frequency;
            return this;
        }

        /**
         * @param frequency Gets or sets the frequency of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder frequency(Either frequency) {
            return frequency(Output.of(frequency));
        }

        /**
         * @param frequency Gets or sets the frequency of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder frequency(String frequency) {
            return frequency(Either.ofLeft(frequency));
        }

        /**
         * @param frequency Gets or sets the frequency of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder frequency(ScheduleFrequency frequency) {
            return frequency(Either.ofRight(frequency));
        }

        /**
         * @param interval Gets or sets the interval of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder interval(@Nullable Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval Gets or sets the interval of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder interval(Double interval) {
            return interval(Output.of(interval));
        }

        /**
         * @param isEnabled Gets or sets a value indicating whether this schedule is enabled.
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(@Nullable Output isEnabled) {
            $.isEnabled = isEnabled;
            return this;
        }

        /**
         * @param isEnabled Gets or sets a value indicating whether this schedule is enabled.
         * 
         * @return builder
         * 
         */
        public Builder isEnabled(Boolean isEnabled) {
            return isEnabled(Output.of(isEnabled));
        }

        /**
         * @param lastModifiedTime Gets or sets the last modified time.
         * 
         * @return builder
         * 
         */
        public Builder lastModifiedTime(@Nullable Output lastModifiedTime) {
            $.lastModifiedTime = lastModifiedTime;
            return this;
        }

        /**
         * @param lastModifiedTime Gets or sets the last modified time.
         * 
         * @return builder
         * 
         */
        public Builder lastModifiedTime(String lastModifiedTime) {
            return lastModifiedTime(Output.of(lastModifiedTime));
        }

        /**
         * @param nextRun Gets or sets the next run time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder nextRun(@Nullable Output nextRun) {
            $.nextRun = nextRun;
            return this;
        }

        /**
         * @param nextRun Gets or sets the next run time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder nextRun(String nextRun) {
            return nextRun(Output.of(nextRun));
        }

        /**
         * @param nextRunOffsetMinutes Gets or sets the next run time's offset in minutes.
         * 
         * @return builder
         * 
         */
        public Builder nextRunOffsetMinutes(@Nullable Output nextRunOffsetMinutes) {
            $.nextRunOffsetMinutes = nextRunOffsetMinutes;
            return this;
        }

        /**
         * @param nextRunOffsetMinutes Gets or sets the next run time's offset in minutes.
         * 
         * @return builder
         * 
         */
        public Builder nextRunOffsetMinutes(Double nextRunOffsetMinutes) {
            return nextRunOffsetMinutes(Output.of(nextRunOffsetMinutes));
        }

        /**
         * @param startTime Gets or sets the start time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Gets or sets the start time of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder startTime(String startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param timeZone Gets or sets the time zone of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder timeZone(@Nullable Output timeZone) {
            $.timeZone = timeZone;
            return this;
        }

        /**
         * @param timeZone Gets or sets the time zone of the schedule.
         * 
         * @return builder
         * 
         */
        public Builder timeZone(String timeZone) {
            return timeZone(Output.of(timeZone));
        }

        public SUCSchedulePropertiesArgs build() {
            $.isEnabled = Codegen.booleanProp("isEnabled").output().arg($.isEnabled).def(false).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy