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

com.pulumi.gcp.container.kotlin.outputs.ClusterMaintenancePolicy.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.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.container.kotlin.outputs

import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property dailyMaintenanceWindow Time window specified for daily maintenance operations.
 * Specify `start_time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format "HH:MM”,
 * where HH : \[00-23\] and MM : \[00-59\] GMT. For example:
 * Examples:
 * @property maintenanceExclusions Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to 20 maintenance exclusions at a time [Maintenance Window and Exclusions](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions)
 * @property recurringWindow Time window for recurring maintenance operations.
 * Specify `start_time` and `end_time` in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) "Zulu" date format.  The start time's date is
 * the initial date that the window starts, and the end time is used for calculating duration.  Specify `recurrence` in
 * [RFC5545](https://tools.ietf.org/html/rfc5545#section-3.8.5.3) RRULE format, to specify when this recurs.
 * Note that GKE may accept other formats, but will return values in UTC, causing a permanent diff.
 * Examples:
 * ```
 * maintenance_policy {
 * recurring_window {
 * start_time = "2019-08-01T02:00:00Z"
 * end_time = "2019-08-01T06:00:00Z"
 * recurrence = "FREQ=DAILY"
 * }
 * }
 * ```
 * ```
 * maintenance_policy {
 * recurring_window {
 * start_time = "2019-01-01T09:00:00Z"
 * end_time = "2019-01-01T17:00:00Z"
 * recurrence = "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"
 * }
 * }
 * ```
 */
public data class ClusterMaintenancePolicy(
    public val dailyMaintenanceWindow: ClusterMaintenancePolicyDailyMaintenanceWindow? = null,
    public val maintenanceExclusions: List? = null,
    public val recurringWindow: ClusterMaintenancePolicyRecurringWindow? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterMaintenancePolicy): ClusterMaintenancePolicy = ClusterMaintenancePolicy(
            dailyMaintenanceWindow = javaType.dailyMaintenanceWindow().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterMaintenancePolicyDailyMaintenanceWindow.Companion.toKotlin(args0)
                })
            }).orElse(null),
            maintenanceExclusions = javaType.maintenanceExclusions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterMaintenancePolicyMaintenanceExclusion.Companion.toKotlin(args0)
                })
            }),
            recurringWindow = javaType.recurringWindow().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterMaintenancePolicyRecurringWindow.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy