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

com.pulumi.azurenative.cache.inputs.ScheduleEntryArgs 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.cache.inputs;

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


/**
 * Patch schedule entry for a Premium Redis Cache.
 * 
 */
public final class ScheduleEntryArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScheduleEntryArgs Empty = new ScheduleEntryArgs();

    /**
     * Day of the week when a cache can be patched.
     * 
     */
    @Import(name="dayOfWeek", required=true)
    private Output dayOfWeek;

    /**
     * @return Day of the week when a cache can be patched.
     * 
     */
    public Output dayOfWeek() {
        return this.dayOfWeek;
    }

    /**
     * ISO8601 timespan specifying how much time cache patching can take.
     * 
     */
    @Import(name="maintenanceWindow")
    private @Nullable Output maintenanceWindow;

    /**
     * @return ISO8601 timespan specifying how much time cache patching can take.
     * 
     */
    public Optional> maintenanceWindow() {
        return Optional.ofNullable(this.maintenanceWindow);
    }

    /**
     * Start hour after which cache patching can start.
     * 
     */
    @Import(name="startHourUtc", required=true)
    private Output startHourUtc;

    /**
     * @return Start hour after which cache patching can start.
     * 
     */
    public Output startHourUtc() {
        return this.startHourUtc;
    }

    private ScheduleEntryArgs() {}

    private ScheduleEntryArgs(ScheduleEntryArgs $) {
        this.dayOfWeek = $.dayOfWeek;
        this.maintenanceWindow = $.maintenanceWindow;
        this.startHourUtc = $.startHourUtc;
    }

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

    public static final class Builder {
        private ScheduleEntryArgs $;

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

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

        /**
         * @param dayOfWeek Day of the week when a cache can be patched.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(Output dayOfWeek) {
            $.dayOfWeek = dayOfWeek;
            return this;
        }

        /**
         * @param dayOfWeek Day of the week when a cache can be patched.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(DayOfWeek dayOfWeek) {
            return dayOfWeek(Output.of(dayOfWeek));
        }

        /**
         * @param maintenanceWindow ISO8601 timespan specifying how much time cache patching can take.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(@Nullable Output maintenanceWindow) {
            $.maintenanceWindow = maintenanceWindow;
            return this;
        }

        /**
         * @param maintenanceWindow ISO8601 timespan specifying how much time cache patching can take.
         * 
         * @return builder
         * 
         */
        public Builder maintenanceWindow(String maintenanceWindow) {
            return maintenanceWindow(Output.of(maintenanceWindow));
        }

        /**
         * @param startHourUtc Start hour after which cache patching can start.
         * 
         * @return builder
         * 
         */
        public Builder startHourUtc(Output startHourUtc) {
            $.startHourUtc = startHourUtc;
            return this;
        }

        /**
         * @param startHourUtc Start hour after which cache patching can start.
         * 
         * @return builder
         * 
         */
        public Builder startHourUtc(Integer startHourUtc) {
            return startHourUtc(Output.of(startHourUtc));
        }

        public ScheduleEntryArgs build() {
            if ($.dayOfWeek == null) {
                throw new MissingRequiredPropertyException("ScheduleEntryArgs", "dayOfWeek");
            }
            if ($.startHourUtc == null) {
                throw new MissingRequiredPropertyException("ScheduleEntryArgs", "startHourUtc");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy