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

com.pulumi.azurenative.sqlvirtualmachine.inputs.ScheduleArgs 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.sqlvirtualmachine.inputs;

import com.pulumi.azurenative.sqlvirtualmachine.enums.AssessmentDayOfWeek;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 ScheduleArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScheduleArgs Empty = new ScheduleArgs();

    /**
     * Day of the week to run assessment.
     * 
     */
    @Import(name="dayOfWeek")
    private @Nullable Output dayOfWeek;

    /**
     * @return Day of the week to run assessment.
     * 
     */
    public Optional> dayOfWeek() {
        return Optional.ofNullable(this.dayOfWeek);
    }

    /**
     * Enable or disable assessment schedule on SQL virtual machine.
     * 
     */
    @Import(name="enable")
    private @Nullable Output enable;

    /**
     * @return Enable or disable assessment schedule on SQL virtual machine.
     * 
     */
    public Optional> enable() {
        return Optional.ofNullable(this.enable);
    }

    /**
     * Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month
     * 
     */
    @Import(name="monthlyOccurrence")
    private @Nullable Output monthlyOccurrence;

    /**
     * @return Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month
     * 
     */
    public Optional> monthlyOccurrence() {
        return Optional.ofNullable(this.monthlyOccurrence);
    }

    /**
     * Time of the day in HH:mm format. Eg. 17:30
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Time of the day in HH:mm format. Eg. 17:30
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Number of weeks to schedule between 2 assessment runs. Takes value from 1-6
     * 
     */
    @Import(name="weeklyInterval")
    private @Nullable Output weeklyInterval;

    /**
     * @return Number of weeks to schedule between 2 assessment runs. Takes value from 1-6
     * 
     */
    public Optional> weeklyInterval() {
        return Optional.ofNullable(this.weeklyInterval);
    }

    private ScheduleArgs() {}

    private ScheduleArgs(ScheduleArgs $) {
        this.dayOfWeek = $.dayOfWeek;
        this.enable = $.enable;
        this.monthlyOccurrence = $.monthlyOccurrence;
        this.startTime = $.startTime;
        this.weeklyInterval = $.weeklyInterval;
    }

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

    public static final class Builder {
        private ScheduleArgs $;

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

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

        /**
         * @param dayOfWeek Day of the week to run assessment.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(@Nullable Output dayOfWeek) {
            $.dayOfWeek = dayOfWeek;
            return this;
        }

        /**
         * @param dayOfWeek Day of the week to run assessment.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(AssessmentDayOfWeek dayOfWeek) {
            return dayOfWeek(Output.of(dayOfWeek));
        }

        /**
         * @param enable Enable or disable assessment schedule on SQL virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder enable(@Nullable Output enable) {
            $.enable = enable;
            return this;
        }

        /**
         * @param enable Enable or disable assessment schedule on SQL virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder enable(Boolean enable) {
            return enable(Output.of(enable));
        }

        /**
         * @param monthlyOccurrence Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month
         * 
         * @return builder
         * 
         */
        public Builder monthlyOccurrence(@Nullable Output monthlyOccurrence) {
            $.monthlyOccurrence = monthlyOccurrence;
            return this;
        }

        /**
         * @param monthlyOccurrence Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month
         * 
         * @return builder
         * 
         */
        public Builder monthlyOccurrence(Integer monthlyOccurrence) {
            return monthlyOccurrence(Output.of(monthlyOccurrence));
        }

        /**
         * @param startTime Time of the day in HH:mm format. Eg. 17:30
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Time of the day in HH:mm format. Eg. 17:30
         * 
         * @return builder
         * 
         */
        public Builder startTime(String startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param weeklyInterval Number of weeks to schedule between 2 assessment runs. Takes value from 1-6
         * 
         * @return builder
         * 
         */
        public Builder weeklyInterval(@Nullable Output weeklyInterval) {
            $.weeklyInterval = weeklyInterval;
            return this;
        }

        /**
         * @param weeklyInterval Number of weeks to schedule between 2 assessment runs. Takes value from 1-6
         * 
         * @return builder
         * 
         */
        public Builder weeklyInterval(Integer weeklyInterval) {
            return weeklyInterval(Output.of(weeklyInterval));
        }

        public ScheduleArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy