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

com.pulumi.gcp.redis.kotlin.inputs.InstancePersistenceConfigArgs.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.redis.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.redis.inputs.InstancePersistenceConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property persistenceMode Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
 * - DISABLED: 	Persistence is disabled for the instance, and any existing snapshots are deleted.
 * - RDB: RDB based Persistence is enabled.
 * Possible values are: `DISABLED`, `RDB`.
 * @property rdbNextSnapshotTime (Output)
 * Output only. The next time that a snapshot attempt is scheduled to occur.
 * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up
 * to nine fractional digits.
 * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
 * @property rdbSnapshotPeriod Optional. Available snapshot periods for scheduling.
 * - ONE_HOUR:	Snapshot every 1 hour.
 * - SIX_HOURS:	Snapshot every 6 hours.
 * - TWELVE_HOURS:	Snapshot every 12 hours.
 * - TWENTY_FOUR_HOURS:	Snapshot every 24 hours.
 * Possible values are: `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
 * @property rdbSnapshotStartTime Optional. Date and time that the first snapshot was/will be attempted,
 * and to which future snapshots will be aligned. If not provided,
 * the current time will be used.
 * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution
 * and up to nine fractional digits.
 * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
 */
public data class InstancePersistenceConfigArgs(
    public val persistenceMode: Output? = null,
    public val rdbNextSnapshotTime: Output? = null,
    public val rdbSnapshotPeriod: Output? = null,
    public val rdbSnapshotStartTime: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.redis.inputs.InstancePersistenceConfigArgs =
        com.pulumi.gcp.redis.inputs.InstancePersistenceConfigArgs.builder()
            .persistenceMode(persistenceMode?.applyValue({ args0 -> args0 }))
            .rdbNextSnapshotTime(rdbNextSnapshotTime?.applyValue({ args0 -> args0 }))
            .rdbSnapshotPeriod(rdbSnapshotPeriod?.applyValue({ args0 -> args0 }))
            .rdbSnapshotStartTime(rdbSnapshotStartTime?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [InstancePersistenceConfigArgs].
 */
@PulumiTagMarker
public class InstancePersistenceConfigArgsBuilder internal constructor() {
    private var persistenceMode: Output? = null

    private var rdbNextSnapshotTime: Output? = null

    private var rdbSnapshotPeriod: Output? = null

    private var rdbSnapshotStartTime: Output? = null

    /**
     * @param value Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
     * - DISABLED: 	Persistence is disabled for the instance, and any existing snapshots are deleted.
     * - RDB: RDB based Persistence is enabled.
     * Possible values are: `DISABLED`, `RDB`.
     */
    @JvmName("vjyqswwrcnadgprs")
    public suspend fun persistenceMode(`value`: Output) {
        this.persistenceMode = value
    }

    /**
     * @param value (Output)
     * Output only. The next time that a snapshot attempt is scheduled to occur.
     * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up
     * to nine fractional digits.
     * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
     */
    @JvmName("khqjwkoeugapvwlw")
    public suspend fun rdbNextSnapshotTime(`value`: Output) {
        this.rdbNextSnapshotTime = value
    }

    /**
     * @param value Optional. Available snapshot periods for scheduling.
     * - ONE_HOUR:	Snapshot every 1 hour.
     * - SIX_HOURS:	Snapshot every 6 hours.
     * - TWELVE_HOURS:	Snapshot every 12 hours.
     * - TWENTY_FOUR_HOURS:	Snapshot every 24 hours.
     * Possible values are: `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
     */
    @JvmName("wkheterhffctcoes")
    public suspend fun rdbSnapshotPeriod(`value`: Output) {
        this.rdbSnapshotPeriod = value
    }

    /**
     * @param value Optional. Date and time that the first snapshot was/will be attempted,
     * and to which future snapshots will be aligned. If not provided,
     * the current time will be used.
     * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution
     * and up to nine fractional digits.
     * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
     */
    @JvmName("aqbstrgfvijpnkyy")
    public suspend fun rdbSnapshotStartTime(`value`: Output) {
        this.rdbSnapshotStartTime = value
    }

    /**
     * @param value Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
     * - DISABLED: 	Persistence is disabled for the instance, and any existing snapshots are deleted.
     * - RDB: RDB based Persistence is enabled.
     * Possible values are: `DISABLED`, `RDB`.
     */
    @JvmName("bgoxbhvnqaqdrkvx")
    public suspend fun persistenceMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.persistenceMode = mapped
    }

    /**
     * @param value (Output)
     * Output only. The next time that a snapshot attempt is scheduled to occur.
     * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up
     * to nine fractional digits.
     * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
     */
    @JvmName("yohypxfliavrcjcl")
    public suspend fun rdbNextSnapshotTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbNextSnapshotTime = mapped
    }

    /**
     * @param value Optional. Available snapshot periods for scheduling.
     * - ONE_HOUR:	Snapshot every 1 hour.
     * - SIX_HOURS:	Snapshot every 6 hours.
     * - TWELVE_HOURS:	Snapshot every 12 hours.
     * - TWENTY_FOUR_HOURS:	Snapshot every 24 hours.
     * Possible values are: `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
     */
    @JvmName("ikprnotpwmmqsrnj")
    public suspend fun rdbSnapshotPeriod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbSnapshotPeriod = mapped
    }

    /**
     * @param value Optional. Date and time that the first snapshot was/will be attempted,
     * and to which future snapshots will be aligned. If not provided,
     * the current time will be used.
     * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution
     * and up to nine fractional digits.
     * Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
     */
    @JvmName("vnwyfikivogrbtkr")
    public suspend fun rdbSnapshotStartTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbSnapshotStartTime = mapped
    }

    internal fun build(): InstancePersistenceConfigArgs = InstancePersistenceConfigArgs(
        persistenceMode = persistenceMode,
        rdbNextSnapshotTime = rdbNextSnapshotTime,
        rdbSnapshotPeriod = rdbSnapshotPeriod,
        rdbSnapshotStartTime = rdbSnapshotStartTime,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy