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

com.pulumi.azurenative.sql.inputs.JobScheduleArgs 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.sql.inputs;

import com.pulumi.azurenative.sql.enums.JobScheduleType;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Scheduling properties of a job.
 * 
 */
public final class JobScheduleArgs extends com.pulumi.resources.ResourceArgs {

    public static final JobScheduleArgs Empty = new JobScheduleArgs();

    /**
     * Whether or not the schedule is enabled.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Whether or not the schedule is enabled.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Schedule end time.
     * 
     */
    @Import(name="endTime")
    private @Nullable Output endTime;

    /**
     * @return Schedule end time.
     * 
     */
    public Optional> endTime() {
        return Optional.ofNullable(this.endTime);
    }

    /**
     * Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.
     * 
     */
    @Import(name="interval")
    private @Nullable Output interval;

    /**
     * @return Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.
     * 
     */
    public Optional> interval() {
        return Optional.ofNullable(this.interval);
    }

    /**
     * Schedule start time.
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Schedule start time.
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Schedule interval type
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return Schedule interval type
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private JobScheduleArgs() {}

    private JobScheduleArgs(JobScheduleArgs $) {
        this.enabled = $.enabled;
        this.endTime = $.endTime;
        this.interval = $.interval;
        this.startTime = $.startTime;
        this.type = $.type;
    }

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

    public static final class Builder {
        private JobScheduleArgs $;

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

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

        /**
         * @param enabled Whether or not the schedule is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether or not the schedule is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param endTime Schedule end time.
         * 
         * @return builder
         * 
         */
        public Builder endTime(@Nullable Output endTime) {
            $.endTime = endTime;
            return this;
        }

        /**
         * @param endTime Schedule end time.
         * 
         * @return builder
         * 
         */
        public Builder endTime(String endTime) {
            return endTime(Output.of(endTime));
        }

        /**
         * @param interval Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.
         * 
         * @return builder
         * 
         */
        public Builder interval(@Nullable Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.
         * 
         * @return builder
         * 
         */
        public Builder interval(String interval) {
            return interval(Output.of(interval));
        }

        /**
         * @param startTime Schedule start time.
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Schedule start time.
         * 
         * @return builder
         * 
         */
        public Builder startTime(String startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param type Schedule interval type
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Schedule interval type
         * 
         * @return builder
         * 
         */
        public Builder type(JobScheduleType type) {
            return type(Output.of(type));
        }

        public JobScheduleArgs build() {
            $.endTime = Codegen.stringProp("endTime").output().arg($.endTime).def("9999-12-31T11:59:59+00:00").getNullable();
            $.startTime = Codegen.stringProp("startTime").output().arg($.startTime).def("0001-01-01T00:00:00+00:00").getNullable();
            $.type = Codegen.objectProp("type", JobScheduleType.class).output().arg($.type).def(JobScheduleType.Once).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy