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

com.pulumi.azurenative.storsimple.inputs.ScheduleRecurrenceArgs 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.storsimple.inputs;

import com.pulumi.azurenative.storsimple.enums.DayOfWeek;
import com.pulumi.azurenative.storsimple.enums.RecurrenceType;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The schedule recurrence.
 * 
 */
public final class ScheduleRecurrenceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScheduleRecurrenceArgs Empty = new ScheduleRecurrenceArgs();

    /**
     * The recurrence type.
     * 
     */
    @Import(name="recurrenceType", required=true)
    private Output recurrenceType;

    /**
     * @return The recurrence type.
     * 
     */
    public Output recurrenceType() {
        return this.recurrenceType;
    }

    /**
     * The recurrence value.
     * 
     */
    @Import(name="recurrenceValue", required=true)
    private Output recurrenceValue;

    /**
     * @return The recurrence value.
     * 
     */
    public Output recurrenceValue() {
        return this.recurrenceValue;
    }

    /**
     * The week days list. Applicable only for schedules of recurrence type 'weekly'.
     * 
     */
    @Import(name="weeklyDaysList")
    private @Nullable Output> weeklyDaysList;

    /**
     * @return The week days list. Applicable only for schedules of recurrence type 'weekly'.
     * 
     */
    public Optional>> weeklyDaysList() {
        return Optional.ofNullable(this.weeklyDaysList);
    }

    private ScheduleRecurrenceArgs() {}

    private ScheduleRecurrenceArgs(ScheduleRecurrenceArgs $) {
        this.recurrenceType = $.recurrenceType;
        this.recurrenceValue = $.recurrenceValue;
        this.weeklyDaysList = $.weeklyDaysList;
    }

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

    public static final class Builder {
        private ScheduleRecurrenceArgs $;

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

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

        /**
         * @param recurrenceType The recurrence type.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceType(Output recurrenceType) {
            $.recurrenceType = recurrenceType;
            return this;
        }

        /**
         * @param recurrenceType The recurrence type.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceType(RecurrenceType recurrenceType) {
            return recurrenceType(Output.of(recurrenceType));
        }

        /**
         * @param recurrenceValue The recurrence value.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceValue(Output recurrenceValue) {
            $.recurrenceValue = recurrenceValue;
            return this;
        }

        /**
         * @param recurrenceValue The recurrence value.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceValue(Integer recurrenceValue) {
            return recurrenceValue(Output.of(recurrenceValue));
        }

        /**
         * @param weeklyDaysList The week days list. Applicable only for schedules of recurrence type 'weekly'.
         * 
         * @return builder
         * 
         */
        public Builder weeklyDaysList(@Nullable Output> weeklyDaysList) {
            $.weeklyDaysList = weeklyDaysList;
            return this;
        }

        /**
         * @param weeklyDaysList The week days list. Applicable only for schedules of recurrence type 'weekly'.
         * 
         * @return builder
         * 
         */
        public Builder weeklyDaysList(List weeklyDaysList) {
            return weeklyDaysList(Output.of(weeklyDaysList));
        }

        /**
         * @param weeklyDaysList The week days list. Applicable only for schedules of recurrence type 'weekly'.
         * 
         * @return builder
         * 
         */
        public Builder weeklyDaysList(DayOfWeek... weeklyDaysList) {
            return weeklyDaysList(List.of(weeklyDaysList));
        }

        public ScheduleRecurrenceArgs build() {
            if ($.recurrenceType == null) {
                throw new MissingRequiredPropertyException("ScheduleRecurrenceArgs", "recurrenceType");
            }
            if ($.recurrenceValue == null) {
                throw new MissingRequiredPropertyException("ScheduleRecurrenceArgs", "recurrenceValue");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy