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

com.pulumi.gcp.oracledatabase.kotlin.inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.13.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.oracledatabase.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property customActionTimeoutMins Determines the amount of time the system will wait before the start of each
 * database server patching operation. Custom action timeout is in minutes and
 * valid value is between 15 to 120 (inclusive).
 * @property daysOfWeeks Days during the week when maintenance should be performed.
 * @property hoursOfDays The window of hours during the day when maintenance should be performed.
 * The window is a 4 hour slot. Valid values are:
 * 0 - represents time slot 0:00 - 3:59 UTC
 * 4 - represents time slot 4:00 - 7:59 UTC
 * 8 - represents time slot 8:00 - 11:59 UTC
 * 12 - represents time slot 12:00 - 15:59 UTC
 * 16 - represents time slot 16:00 - 19:59 UTC
 * 20 - represents time slot 20:00 - 23:59 UTC
 * @property isCustomActionTimeoutEnabled If true, enables the configuration of a custom action timeout (waiting
 * period) between database server patching operations.
 * @property leadTimeWeek Lead time window allows user to set a lead time to prepare for a down time.
 * The lead time is in weeks and valid value is between 1 to 4.
 * @property months Months during the year when maintenance should be performed.
 * @property patchingMode Cloud CloudExadataInfrastructure node patching method, either "ROLLING"
 * or "NONROLLING". Default value is ROLLING.
 * Possible values:
 * PATCHING_MODE_UNSPECIFIED
 * ROLLING
 * NON_ROLLING
 * @property preference The maintenance window scheduling preference.
 * Possible values:
 * MAINTENANCE_WINDOW_PREFERENCE_UNSPECIFIED
 * CUSTOM_PREFERENCE
 * NO_PREFERENCE
 * @property weeksOfMonths Weeks during the month when maintenance should be performed. Weeks start on
 * the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7
 * days. Weeks start and end based on calendar dates, not days of the week.
 */
public data class CloudExadataInfrastructurePropertiesMaintenanceWindowArgs(
    public val customActionTimeoutMins: Output? = null,
    public val daysOfWeeks: Output>? = null,
    public val hoursOfDays: Output>? = null,
    public val isCustomActionTimeoutEnabled: Output? = null,
    public val leadTimeWeek: Output? = null,
    public val months: Output>? = null,
    public val patchingMode: Output? = null,
    public val preference: Output? = null,
    public val weeksOfMonths: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs =
        com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs.builder()
            .customActionTimeoutMins(customActionTimeoutMins?.applyValue({ args0 -> args0 }))
            .daysOfWeeks(daysOfWeeks?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .hoursOfDays(hoursOfDays?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .isCustomActionTimeoutEnabled(isCustomActionTimeoutEnabled?.applyValue({ args0 -> args0 }))
            .leadTimeWeek(leadTimeWeek?.applyValue({ args0 -> args0 }))
            .months(months?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .patchingMode(patchingMode?.applyValue({ args0 -> args0 }))
            .preference(preference?.applyValue({ args0 -> args0 }))
            .weeksOfMonths(weeksOfMonths?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [CloudExadataInfrastructurePropertiesMaintenanceWindowArgs].
 */
@PulumiTagMarker
public class CloudExadataInfrastructurePropertiesMaintenanceWindowArgsBuilder internal constructor() {
    private var customActionTimeoutMins: Output? = null

    private var daysOfWeeks: Output>? = null

    private var hoursOfDays: Output>? = null

    private var isCustomActionTimeoutEnabled: Output? = null

    private var leadTimeWeek: Output? = null

    private var months: Output>? = null

    private var patchingMode: Output? = null

    private var preference: Output? = null

    private var weeksOfMonths: Output>? = null

    /**
     * @param value Determines the amount of time the system will wait before the start of each
     * database server patching operation. Custom action timeout is in minutes and
     * valid value is between 15 to 120 (inclusive).
     */
    @JvmName("wikflyvqhbmewekf")
    public suspend fun customActionTimeoutMins(`value`: Output) {
        this.customActionTimeoutMins = value
    }

    /**
     * @param value Days during the week when maintenance should be performed.
     */
    @JvmName("iahcqrpmcslgspjt")
    public suspend fun daysOfWeeks(`value`: Output>) {
        this.daysOfWeeks = value
    }

    @JvmName("evgkjedyqckumpqh")
    public suspend fun daysOfWeeks(vararg values: Output) {
        this.daysOfWeeks = Output.all(values.asList())
    }

    /**
     * @param values Days during the week when maintenance should be performed.
     */
    @JvmName("cmpbmuvkttmusudj")
    public suspend fun daysOfWeeks(values: List>) {
        this.daysOfWeeks = Output.all(values)
    }

    /**
     * @param value The window of hours during the day when maintenance should be performed.
     * The window is a 4 hour slot. Valid values are:
     * 0 - represents time slot 0:00 - 3:59 UTC
     * 4 - represents time slot 4:00 - 7:59 UTC
     * 8 - represents time slot 8:00 - 11:59 UTC
     * 12 - represents time slot 12:00 - 15:59 UTC
     * 16 - represents time slot 16:00 - 19:59 UTC
     * 20 - represents time slot 20:00 - 23:59 UTC
     */
    @JvmName("qdlnodwtviixhpwt")
    public suspend fun hoursOfDays(`value`: Output>) {
        this.hoursOfDays = value
    }

    @JvmName("oxsemlkqccbyfgga")
    public suspend fun hoursOfDays(vararg values: Output) {
        this.hoursOfDays = Output.all(values.asList())
    }

    /**
     * @param values The window of hours during the day when maintenance should be performed.
     * The window is a 4 hour slot. Valid values are:
     * 0 - represents time slot 0:00 - 3:59 UTC
     * 4 - represents time slot 4:00 - 7:59 UTC
     * 8 - represents time slot 8:00 - 11:59 UTC
     * 12 - represents time slot 12:00 - 15:59 UTC
     * 16 - represents time slot 16:00 - 19:59 UTC
     * 20 - represents time slot 20:00 - 23:59 UTC
     */
    @JvmName("mfpcljfnrmymksqf")
    public suspend fun hoursOfDays(values: List>) {
        this.hoursOfDays = Output.all(values)
    }

    /**
     * @param value If true, enables the configuration of a custom action timeout (waiting
     * period) between database server patching operations.
     */
    @JvmName("njdntqptlknuopnx")
    public suspend fun isCustomActionTimeoutEnabled(`value`: Output) {
        this.isCustomActionTimeoutEnabled = value
    }

    /**
     * @param value Lead time window allows user to set a lead time to prepare for a down time.
     * The lead time is in weeks and valid value is between 1 to 4.
     */
    @JvmName("tfmmvwhabudqloul")
    public suspend fun leadTimeWeek(`value`: Output) {
        this.leadTimeWeek = value
    }

    /**
     * @param value Months during the year when maintenance should be performed.
     */
    @JvmName("icigiqhsxsfnqkcw")
    public suspend fun months(`value`: Output>) {
        this.months = value
    }

    @JvmName("grpmqktaalclkwsh")
    public suspend fun months(vararg values: Output) {
        this.months = Output.all(values.asList())
    }

    /**
     * @param values Months during the year when maintenance should be performed.
     */
    @JvmName("rsunblmumomqmmbk")
    public suspend fun months(values: List>) {
        this.months = Output.all(values)
    }

    /**
     * @param value Cloud CloudExadataInfrastructure node patching method, either "ROLLING"
     * or "NONROLLING". Default value is ROLLING.
     * Possible values:
     * PATCHING_MODE_UNSPECIFIED
     * ROLLING
     * NON_ROLLING
     */
    @JvmName("ihxgljfohxvxnvwp")
    public suspend fun patchingMode(`value`: Output) {
        this.patchingMode = value
    }

    /**
     * @param value The maintenance window scheduling preference.
     * Possible values:
     * MAINTENANCE_WINDOW_PREFERENCE_UNSPECIFIED
     * CUSTOM_PREFERENCE
     * NO_PREFERENCE
     */
    @JvmName("skprerpskdrkxeet")
    public suspend fun preference(`value`: Output) {
        this.preference = value
    }

    /**
     * @param value Weeks during the month when maintenance should be performed. Weeks start on
     * the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7
     * days. Weeks start and end based on calendar dates, not days of the week.
     */
    @JvmName("xtwipvacmeyjigpd")
    public suspend fun weeksOfMonths(`value`: Output>) {
        this.weeksOfMonths = value
    }

    @JvmName("gbkcwokhrnqqsveg")
    public suspend fun weeksOfMonths(vararg values: Output) {
        this.weeksOfMonths = Output.all(values.asList())
    }

    /**
     * @param values Weeks during the month when maintenance should be performed. Weeks start on
     * the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7
     * days. Weeks start and end based on calendar dates, not days of the week.
     */
    @JvmName("yxkqialxjyaxxkca")
    public suspend fun weeksOfMonths(values: List>) {
        this.weeksOfMonths = Output.all(values)
    }

    /**
     * @param value Determines the amount of time the system will wait before the start of each
     * database server patching operation. Custom action timeout is in minutes and
     * valid value is between 15 to 120 (inclusive).
     */
    @JvmName("egqjoxrmygigijbk")
    public suspend fun customActionTimeoutMins(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customActionTimeoutMins = mapped
    }

    /**
     * @param value Days during the week when maintenance should be performed.
     */
    @JvmName("veqikiuhvqfiedgu")
    public suspend fun daysOfWeeks(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.daysOfWeeks = mapped
    }

    /**
     * @param values Days during the week when maintenance should be performed.
     */
    @JvmName("wpdxgqenqeilsytu")
    public suspend fun daysOfWeeks(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.daysOfWeeks = mapped
    }

    /**
     * @param value The window of hours during the day when maintenance should be performed.
     * The window is a 4 hour slot. Valid values are:
     * 0 - represents time slot 0:00 - 3:59 UTC
     * 4 - represents time slot 4:00 - 7:59 UTC
     * 8 - represents time slot 8:00 - 11:59 UTC
     * 12 - represents time slot 12:00 - 15:59 UTC
     * 16 - represents time slot 16:00 - 19:59 UTC
     * 20 - represents time slot 20:00 - 23:59 UTC
     */
    @JvmName("bkpelnajhcbhpesv")
    public suspend fun hoursOfDays(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hoursOfDays = mapped
    }

    /**
     * @param values The window of hours during the day when maintenance should be performed.
     * The window is a 4 hour slot. Valid values are:
     * 0 - represents time slot 0:00 - 3:59 UTC
     * 4 - represents time slot 4:00 - 7:59 UTC
     * 8 - represents time slot 8:00 - 11:59 UTC
     * 12 - represents time slot 12:00 - 15:59 UTC
     * 16 - represents time slot 16:00 - 19:59 UTC
     * 20 - represents time slot 20:00 - 23:59 UTC
     */
    @JvmName("mdjccplnhphmwwvf")
    public suspend fun hoursOfDays(vararg values: Int) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.hoursOfDays = mapped
    }

    /**
     * @param value If true, enables the configuration of a custom action timeout (waiting
     * period) between database server patching operations.
     */
    @JvmName("aqnpiuqxwxnlacwx")
    public suspend fun isCustomActionTimeoutEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isCustomActionTimeoutEnabled = mapped
    }

    /**
     * @param value Lead time window allows user to set a lead time to prepare for a down time.
     * The lead time is in weeks and valid value is between 1 to 4.
     */
    @JvmName("ijlbvxvhwqsnfblv")
    public suspend fun leadTimeWeek(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.leadTimeWeek = mapped
    }

    /**
     * @param value Months during the year when maintenance should be performed.
     */
    @JvmName("mqmqotsjltqufxkg")
    public suspend fun months(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.months = mapped
    }

    /**
     * @param values Months during the year when maintenance should be performed.
     */
    @JvmName("qvfpmjoldumbmnxr")
    public suspend fun months(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.months = mapped
    }

    /**
     * @param value Cloud CloudExadataInfrastructure node patching method, either "ROLLING"
     * or "NONROLLING". Default value is ROLLING.
     * Possible values:
     * PATCHING_MODE_UNSPECIFIED
     * ROLLING
     * NON_ROLLING
     */
    @JvmName("oswfusgwduicjusq")
    public suspend fun patchingMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.patchingMode = mapped
    }

    /**
     * @param value The maintenance window scheduling preference.
     * Possible values:
     * MAINTENANCE_WINDOW_PREFERENCE_UNSPECIFIED
     * CUSTOM_PREFERENCE
     * NO_PREFERENCE
     */
    @JvmName("htjlqvwjfrrocecy")
    public suspend fun preference(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.preference = mapped
    }

    /**
     * @param value Weeks during the month when maintenance should be performed. Weeks start on
     * the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7
     * days. Weeks start and end based on calendar dates, not days of the week.
     */
    @JvmName("tqgailfqilpgxmwb")
    public suspend fun weeksOfMonths(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weeksOfMonths = mapped
    }

    /**
     * @param values Weeks during the month when maintenance should be performed. Weeks start on
     * the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7
     * days. Weeks start and end based on calendar dates, not days of the week.
     */
    @JvmName("duskofmhgqjybxfe")
    public suspend fun weeksOfMonths(vararg values: Int) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.weeksOfMonths = mapped
    }

    internal fun build(): CloudExadataInfrastructurePropertiesMaintenanceWindowArgs =
        CloudExadataInfrastructurePropertiesMaintenanceWindowArgs(
            customActionTimeoutMins = customActionTimeoutMins,
            daysOfWeeks = daysOfWeeks,
            hoursOfDays = hoursOfDays,
            isCustomActionTimeoutEnabled = isCustomActionTimeoutEnabled,
            leadTimeWeek = leadTimeWeek,
            months = months,
            patchingMode = patchingMode,
            preference = preference,
            weeksOfMonths = weeksOfMonths,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy