// *** 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.azure.managedlustre.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;


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

    public static final FileSystemMaintenanceWindowArgs Empty = new FileSystemMaintenanceWindowArgs();

    /**
     * The day of the week on which the maintenance window will occur. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.
     * 
     */
    @Import(name="dayOfWeek", required=true)
    private Output<String> dayOfWeek;

    /**
     * @return The day of the week on which the maintenance window will occur. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.
     * 
     */
    public Output<String> dayOfWeek() {
        return this.dayOfWeek;
    }

    @Import(name="timeOfDayInUtc", required=true)
    private Output<String> timeOfDayInUtc;

    public Output<String> timeOfDayInUtc() {
        return this.timeOfDayInUtc;
    }

    private FileSystemMaintenanceWindowArgs() {}

    private FileSystemMaintenanceWindowArgs(FileSystemMaintenanceWindowArgs $) {
        this.dayOfWeek = $.dayOfWeek;
        this.timeOfDayInUtc = $.timeOfDayInUtc;
    }

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

    public static final class Builder {
        private FileSystemMaintenanceWindowArgs $;

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

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

        /**
         * @param dayOfWeek The day of the week on which the maintenance window will occur. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(Output<String> dayOfWeek) {
            $.dayOfWeek = dayOfWeek;
            return this;
        }

        /**
         * @param dayOfWeek The day of the week on which the maintenance window will occur. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(String dayOfWeek) {
            return dayOfWeek(Output.of(dayOfWeek));
        }

        public Builder timeOfDayInUtc(Output<String> timeOfDayInUtc) {
            $.timeOfDayInUtc = timeOfDayInUtc;
            return this;
        }

        public Builder timeOfDayInUtc(String timeOfDayInUtc) {
            return timeOfDayInUtc(Output.of(timeOfDayInUtc));
        }

        public FileSystemMaintenanceWindowArgs build() {
            $.dayOfWeek = Objects.requireNonNull($.dayOfWeek, "expected parameter 'dayOfWeek' to be non-null");
            $.timeOfDayInUtc = Objects.requireNonNull($.timeOfDayInUtc, "expected parameter 'timeOfDayInUtc' to be non-null");
            return $;
        }
    }

}
