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

com.pulumi.azure.containerservice.inputs.KubernetesClusterMaintenanceWindowAutoUpgradeArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.containerservice.inputs;

import com.pulumi.azure.containerservice.inputs.KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs;
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.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final KubernetesClusterMaintenanceWindowAutoUpgradeArgs Empty = new KubernetesClusterMaintenanceWindowAutoUpgradeArgs();

    /**
     * The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
     * 
     */
    @Import(name="dayOfMonth")
    private @Nullable Output dayOfMonth;

    /**
     * @return The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
     * 
     */
    public Optional> dayOfMonth() {
        return Optional.ofNullable(this.dayOfMonth);
    }

    /**
     * The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
     * 
     */
    @Import(name="dayOfWeek")
    private @Nullable Output dayOfWeek;

    /**
     * @return The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
     * 
     */
    public Optional> dayOfWeek() {
        return Optional.ofNullable(this.dayOfWeek);
    }

    /**
     * The duration of the window for maintenance to run in hours. Possible options are between `4` to `24`.
     * 
     */
    @Import(name="duration", required=true)
    private Output duration;

    /**
     * @return The duration of the window for maintenance to run in hours. Possible options are between `4` to `24`.
     * 
     */
    public Output duration() {
        return this.duration;
    }

    /**
     * Frequency of maintenance. Possible options are `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.
     * 
     */
    @Import(name="frequency", required=true)
    private Output frequency;

    /**
     * @return Frequency of maintenance. Possible options are `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.
     * 
     */
    public Output frequency() {
        return this.frequency;
    }

    /**
     * The interval for maintenance runs. Depending on the frequency this interval is week or month based.
     * 
     */
    @Import(name="interval", required=true)
    private Output interval;

    /**
     * @return The interval for maintenance runs. Depending on the frequency this interval is week or month based.
     * 
     */
    public Output interval() {
        return this.interval;
    }

    /**
     * One or more `not_allowed` block as defined below.
     * 
     */
    @Import(name="notAlloweds")
    private @Nullable Output> notAlloweds;

    /**
     * @return One or more `not_allowed` block as defined below.
     * 
     */
    public Optional>> notAlloweds() {
        return Optional.ofNullable(this.notAlloweds);
    }

    /**
     * The date on which the maintenance window begins to take effect.
     * 
     */
    @Import(name="startDate")
    private @Nullable Output startDate;

    /**
     * @return The date on which the maintenance window begins to take effect.
     * 
     */
    public Optional> startDate() {
        return Optional.ofNullable(this.startDate);
    }

    /**
     * The time for maintenance to begin, based on the timezone determined by `utc_offset`. Format is `HH:mm`.
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return The time for maintenance to begin, based on the timezone determined by `utc_offset`. Format is `HH:mm`.
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Used to determine the timezone for cluster maintenance.
     * 
     */
    @Import(name="utcOffset")
    private @Nullable Output utcOffset;

    /**
     * @return Used to determine the timezone for cluster maintenance.
     * 
     */
    public Optional> utcOffset() {
        return Optional.ofNullable(this.utcOffset);
    }

    /**
     * Specifies on which instance of the allowed days specified in `day_of_week` the maintenance occurs. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.
     * Required in combination with relative monthly frequency.
     * 
     */
    @Import(name="weekIndex")
    private @Nullable Output weekIndex;

    /**
     * @return Specifies on which instance of the allowed days specified in `day_of_week` the maintenance occurs. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.
     * Required in combination with relative monthly frequency.
     * 
     */
    public Optional> weekIndex() {
        return Optional.ofNullable(this.weekIndex);
    }

    private KubernetesClusterMaintenanceWindowAutoUpgradeArgs() {}

    private KubernetesClusterMaintenanceWindowAutoUpgradeArgs(KubernetesClusterMaintenanceWindowAutoUpgradeArgs $) {
        this.dayOfMonth = $.dayOfMonth;
        this.dayOfWeek = $.dayOfWeek;
        this.duration = $.duration;
        this.frequency = $.frequency;
        this.interval = $.interval;
        this.notAlloweds = $.notAlloweds;
        this.startDate = $.startDate;
        this.startTime = $.startTime;
        this.utcOffset = $.utcOffset;
        this.weekIndex = $.weekIndex;
    }

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

    public static final class Builder {
        private KubernetesClusterMaintenanceWindowAutoUpgradeArgs $;

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

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

        /**
         * @param dayOfMonth The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
         * 
         * @return builder
         * 
         */
        public Builder dayOfMonth(@Nullable Output dayOfMonth) {
            $.dayOfMonth = dayOfMonth;
            return this;
        }

        /**
         * @param dayOfMonth The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
         * 
         * @return builder
         * 
         */
        public Builder dayOfMonth(Integer dayOfMonth) {
            return dayOfMonth(Output.of(dayOfMonth));
        }

        /**
         * @param dayOfWeek The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(@Nullable Output dayOfWeek) {
            $.dayOfWeek = dayOfWeek;
            return this;
        }

        /**
         * @param dayOfWeek The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
         * 
         * @return builder
         * 
         */
        public Builder dayOfWeek(String dayOfWeek) {
            return dayOfWeek(Output.of(dayOfWeek));
        }

        /**
         * @param duration The duration of the window for maintenance to run in hours. Possible options are between `4` to `24`.
         * 
         * @return builder
         * 
         */
        public Builder duration(Output duration) {
            $.duration = duration;
            return this;
        }

        /**
         * @param duration The duration of the window for maintenance to run in hours. Possible options are between `4` to `24`.
         * 
         * @return builder
         * 
         */
        public Builder duration(Integer duration) {
            return duration(Output.of(duration));
        }

        /**
         * @param frequency Frequency of maintenance. Possible options are `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.
         * 
         * @return builder
         * 
         */
        public Builder frequency(Output frequency) {
            $.frequency = frequency;
            return this;
        }

        /**
         * @param frequency Frequency of maintenance. Possible options are `Weekly`, `AbsoluteMonthly` and `RelativeMonthly`.
         * 
         * @return builder
         * 
         */
        public Builder frequency(String frequency) {
            return frequency(Output.of(frequency));
        }

        /**
         * @param interval The interval for maintenance runs. Depending on the frequency this interval is week or month based.
         * 
         * @return builder
         * 
         */
        public Builder interval(Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval The interval for maintenance runs. Depending on the frequency this interval is week or month based.
         * 
         * @return builder
         * 
         */
        public Builder interval(Integer interval) {
            return interval(Output.of(interval));
        }

        /**
         * @param notAlloweds One or more `not_allowed` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder notAlloweds(@Nullable Output> notAlloweds) {
            $.notAlloweds = notAlloweds;
            return this;
        }

        /**
         * @param notAlloweds One or more `not_allowed` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder notAlloweds(List notAlloweds) {
            return notAlloweds(Output.of(notAlloweds));
        }

        /**
         * @param notAlloweds One or more `not_allowed` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder notAlloweds(KubernetesClusterMaintenanceWindowAutoUpgradeNotAllowedArgs... notAlloweds) {
            return notAlloweds(List.of(notAlloweds));
        }

        /**
         * @param startDate The date on which the maintenance window begins to take effect.
         * 
         * @return builder
         * 
         */
        public Builder startDate(@Nullable Output startDate) {
            $.startDate = startDate;
            return this;
        }

        /**
         * @param startDate The date on which the maintenance window begins to take effect.
         * 
         * @return builder
         * 
         */
        public Builder startDate(String startDate) {
            return startDate(Output.of(startDate));
        }

        /**
         * @param startTime The time for maintenance to begin, based on the timezone determined by `utc_offset`. Format is `HH:mm`.
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime The time for maintenance to begin, based on the timezone determined by `utc_offset`. Format is `HH:mm`.
         * 
         * @return builder
         * 
         */
        public Builder startTime(String startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param utcOffset Used to determine the timezone for cluster maintenance.
         * 
         * @return builder
         * 
         */
        public Builder utcOffset(@Nullable Output utcOffset) {
            $.utcOffset = utcOffset;
            return this;
        }

        /**
         * @param utcOffset Used to determine the timezone for cluster maintenance.
         * 
         * @return builder
         * 
         */
        public Builder utcOffset(String utcOffset) {
            return utcOffset(Output.of(utcOffset));
        }

        /**
         * @param weekIndex Specifies on which instance of the allowed days specified in `day_of_week` the maintenance occurs. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.
         * Required in combination with relative monthly frequency.
         * 
         * @return builder
         * 
         */
        public Builder weekIndex(@Nullable Output weekIndex) {
            $.weekIndex = weekIndex;
            return this;
        }

        /**
         * @param weekIndex Specifies on which instance of the allowed days specified in `day_of_week` the maintenance occurs. Options are `First`, `Second`, `Third`, `Fourth`, and `Last`.
         * Required in combination with relative monthly frequency.
         * 
         * @return builder
         * 
         */
        public Builder weekIndex(String weekIndex) {
            return weekIndex(Output.of(weekIndex));
        }

        public KubernetesClusterMaintenanceWindowAutoUpgradeArgs build() {
            if ($.duration == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterMaintenanceWindowAutoUpgradeArgs", "duration");
            }
            if ($.frequency == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterMaintenanceWindowAutoUpgradeArgs", "frequency");
            }
            if ($.interval == null) {
                throw new MissingRequiredPropertyException("KubernetesClusterMaintenanceWindowAutoUpgradeArgs", "interval");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy