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

com.pulumi.azurenative.cache.kotlin.inputs.RedisCommonPropertiesRedisConfigurationArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.cache.kotlin.inputs

import com.pulumi.azurenative.cache.inputs.RedisCommonPropertiesRedisConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.
 * @property aofBackupEnabled Specifies whether the aof backup is enabled
 * @property aofStorageConnectionString0 First storage account connection string
 * @property aofStorageConnectionString1 Second storage account connection string
 * @property authnotrequired Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view.
 * @property maxfragmentationmemoryReserved Value in megabytes reserved for fragmentation per shard
 * @property maxmemoryDelta Value in megabytes reserved for non-cache usage per shard e.g. failover.
 * @property maxmemoryPolicy The eviction strategy used when your data won't fit within its memory limit.
 * @property maxmemoryReserved Value in megabytes reserved for non-cache usage per shard e.g. failover.
 * @property preferredDataPersistenceAuthMethod Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS
 * @property rdbBackupEnabled Specifies whether the rdb backup is enabled
 * @property rdbBackupFrequency Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440)
 * @property rdbBackupMaxSnapshotCount Specifies the maximum number of snapshots for rdb backup
 * @property rdbStorageConnectionString The storage account connection string for storing rdb file
 * @property storageSubscriptionId SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.
 */
public data class RedisCommonPropertiesRedisConfigurationArgs(
    public val aofBackupEnabled: Output? = null,
    public val aofStorageConnectionString0: Output? = null,
    public val aofStorageConnectionString1: Output? = null,
    public val authnotrequired: Output? = null,
    public val maxfragmentationmemoryReserved: Output? = null,
    public val maxmemoryDelta: Output? = null,
    public val maxmemoryPolicy: Output? = null,
    public val maxmemoryReserved: Output? = null,
    public val preferredDataPersistenceAuthMethod: Output? = null,
    public val rdbBackupEnabled: Output? = null,
    public val rdbBackupFrequency: Output? = null,
    public val rdbBackupMaxSnapshotCount: Output? = null,
    public val rdbStorageConnectionString: Output? = null,
    public val storageSubscriptionId: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.cache.inputs.RedisCommonPropertiesRedisConfigurationArgs =
        com.pulumi.azurenative.cache.inputs.RedisCommonPropertiesRedisConfigurationArgs.builder()
            .aofBackupEnabled(aofBackupEnabled?.applyValue({ args0 -> args0 }))
            .aofStorageConnectionString0(aofStorageConnectionString0?.applyValue({ args0 -> args0 }))
            .aofStorageConnectionString1(aofStorageConnectionString1?.applyValue({ args0 -> args0 }))
            .authnotrequired(authnotrequired?.applyValue({ args0 -> args0 }))
            .maxfragmentationmemoryReserved(maxfragmentationmemoryReserved?.applyValue({ args0 -> args0 }))
            .maxmemoryDelta(maxmemoryDelta?.applyValue({ args0 -> args0 }))
            .maxmemoryPolicy(maxmemoryPolicy?.applyValue({ args0 -> args0 }))
            .maxmemoryReserved(maxmemoryReserved?.applyValue({ args0 -> args0 }))
            .preferredDataPersistenceAuthMethod(
                preferredDataPersistenceAuthMethod?.applyValue({ args0 ->
                    args0
                }),
            )
            .rdbBackupEnabled(rdbBackupEnabled?.applyValue({ args0 -> args0 }))
            .rdbBackupFrequency(rdbBackupFrequency?.applyValue({ args0 -> args0 }))
            .rdbBackupMaxSnapshotCount(rdbBackupMaxSnapshotCount?.applyValue({ args0 -> args0 }))
            .rdbStorageConnectionString(rdbStorageConnectionString?.applyValue({ args0 -> args0 }))
            .storageSubscriptionId(storageSubscriptionId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [RedisCommonPropertiesRedisConfigurationArgs].
 */
@PulumiTagMarker
public class RedisCommonPropertiesRedisConfigurationArgsBuilder internal constructor() {
    private var aofBackupEnabled: Output? = null

    private var aofStorageConnectionString0: Output? = null

    private var aofStorageConnectionString1: Output? = null

    private var authnotrequired: Output? = null

    private var maxfragmentationmemoryReserved: Output? = null

    private var maxmemoryDelta: Output? = null

    private var maxmemoryPolicy: Output? = null

    private var maxmemoryReserved: Output? = null

    private var preferredDataPersistenceAuthMethod: Output? = null

    private var rdbBackupEnabled: Output? = null

    private var rdbBackupFrequency: Output? = null

    private var rdbBackupMaxSnapshotCount: Output? = null

    private var rdbStorageConnectionString: Output? = null

    private var storageSubscriptionId: Output? = null

    /**
     * @param value Specifies whether the aof backup is enabled
     */
    @JvmName("vnaklmirsjgfggpc")
    public suspend fun aofBackupEnabled(`value`: Output) {
        this.aofBackupEnabled = value
    }

    /**
     * @param value First storage account connection string
     */
    @JvmName("fqdlnkqmpxobqopx")
    public suspend fun aofStorageConnectionString0(`value`: Output) {
        this.aofStorageConnectionString0 = value
    }

    /**
     * @param value Second storage account connection string
     */
    @JvmName("wksiaghdvtlokvxs")
    public suspend fun aofStorageConnectionString1(`value`: Output) {
        this.aofStorageConnectionString1 = value
    }

    /**
     * @param value Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view.
     */
    @JvmName("wdxobudvpynomjwf")
    public suspend fun authnotrequired(`value`: Output) {
        this.authnotrequired = value
    }

    /**
     * @param value Value in megabytes reserved for fragmentation per shard
     */
    @JvmName("gsjikumvaqjuevmc")
    public suspend fun maxfragmentationmemoryReserved(`value`: Output) {
        this.maxfragmentationmemoryReserved = value
    }

    /**
     * @param value Value in megabytes reserved for non-cache usage per shard e.g. failover.
     */
    @JvmName("tqavuldlcqqqspwk")
    public suspend fun maxmemoryDelta(`value`: Output) {
        this.maxmemoryDelta = value
    }

    /**
     * @param value The eviction strategy used when your data won't fit within its memory limit.
     */
    @JvmName("qxaqsevfsgkgjfla")
    public suspend fun maxmemoryPolicy(`value`: Output) {
        this.maxmemoryPolicy = value
    }

    /**
     * @param value Value in megabytes reserved for non-cache usage per shard e.g. failover.
     */
    @JvmName("mubmvkivxfpqpfkg")
    public suspend fun maxmemoryReserved(`value`: Output) {
        this.maxmemoryReserved = value
    }

    /**
     * @param value Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS
     */
    @JvmName("pbmxexxvhibwenat")
    public suspend fun preferredDataPersistenceAuthMethod(`value`: Output) {
        this.preferredDataPersistenceAuthMethod = value
    }

    /**
     * @param value Specifies whether the rdb backup is enabled
     */
    @JvmName("oalfpyvupjyjpwmt")
    public suspend fun rdbBackupEnabled(`value`: Output) {
        this.rdbBackupEnabled = value
    }

    /**
     * @param value Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440)
     */
    @JvmName("uhoyacwnmwhnlljb")
    public suspend fun rdbBackupFrequency(`value`: Output) {
        this.rdbBackupFrequency = value
    }

    /**
     * @param value Specifies the maximum number of snapshots for rdb backup
     */
    @JvmName("waxcfgtwnsdaihdm")
    public suspend fun rdbBackupMaxSnapshotCount(`value`: Output) {
        this.rdbBackupMaxSnapshotCount = value
    }

    /**
     * @param value The storage account connection string for storing rdb file
     */
    @JvmName("rehoonpcgtnsinox")
    public suspend fun rdbStorageConnectionString(`value`: Output) {
        this.rdbStorageConnectionString = value
    }

    /**
     * @param value SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.
     */
    @JvmName("wnxnyakypeutkkts")
    public suspend fun storageSubscriptionId(`value`: Output) {
        this.storageSubscriptionId = value
    }

    /**
     * @param value Specifies whether the aof backup is enabled
     */
    @JvmName("pamdlrimeullngsl")
    public suspend fun aofBackupEnabled(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.aofBackupEnabled = mapped
    }

    /**
     * @param value First storage account connection string
     */
    @JvmName("dxpvialpcywxisnn")
    public suspend fun aofStorageConnectionString0(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.aofStorageConnectionString0 = mapped
    }

    /**
     * @param value Second storage account connection string
     */
    @JvmName("irsrmxkvbxyrumls")
    public suspend fun aofStorageConnectionString1(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.aofStorageConnectionString1 = mapped
    }

    /**
     * @param value Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view.
     */
    @JvmName("dapxurheeefpddph")
    public suspend fun authnotrequired(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authnotrequired = mapped
    }

    /**
     * @param value Value in megabytes reserved for fragmentation per shard
     */
    @JvmName("uaidkfiqvmvugahc")
    public suspend fun maxfragmentationmemoryReserved(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxfragmentationmemoryReserved = mapped
    }

    /**
     * @param value Value in megabytes reserved for non-cache usage per shard e.g. failover.
     */
    @JvmName("cuvuenxxyeurvbcg")
    public suspend fun maxmemoryDelta(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxmemoryDelta = mapped
    }

    /**
     * @param value The eviction strategy used when your data won't fit within its memory limit.
     */
    @JvmName("fxeyacanecmiggwt")
    public suspend fun maxmemoryPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxmemoryPolicy = mapped
    }

    /**
     * @param value Value in megabytes reserved for non-cache usage per shard e.g. failover.
     */
    @JvmName("fywvbuqdqnvsrxsg")
    public suspend fun maxmemoryReserved(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxmemoryReserved = mapped
    }

    /**
     * @param value Preferred auth method to communicate to storage account used for data persistence, specify SAS or ManagedIdentity, default value is SAS
     */
    @JvmName("riaqflfpycmoqwbx")
    public suspend fun preferredDataPersistenceAuthMethod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.preferredDataPersistenceAuthMethod = mapped
    }

    /**
     * @param value Specifies whether the rdb backup is enabled
     */
    @JvmName("ibixafcxtavvdrpy")
    public suspend fun rdbBackupEnabled(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbBackupEnabled = mapped
    }

    /**
     * @param value Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, 1440)
     */
    @JvmName("prhfymxsfveoedht")
    public suspend fun rdbBackupFrequency(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbBackupFrequency = mapped
    }

    /**
     * @param value Specifies the maximum number of snapshots for rdb backup
     */
    @JvmName("olqklpvjpflgtcfb")
    public suspend fun rdbBackupMaxSnapshotCount(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbBackupMaxSnapshotCount = mapped
    }

    /**
     * @param value The storage account connection string for storing rdb file
     */
    @JvmName("ooxsoydmjsixkylf")
    public suspend fun rdbStorageConnectionString(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdbStorageConnectionString = mapped
    }

    /**
     * @param value SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.
     */
    @JvmName("rsshytullgspsbpv")
    public suspend fun storageSubscriptionId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.storageSubscriptionId = mapped
    }

    internal fun build(): RedisCommonPropertiesRedisConfigurationArgs =
        RedisCommonPropertiesRedisConfigurationArgs(
            aofBackupEnabled = aofBackupEnabled,
            aofStorageConnectionString0 = aofStorageConnectionString0,
            aofStorageConnectionString1 = aofStorageConnectionString1,
            authnotrequired = authnotrequired,
            maxfragmentationmemoryReserved = maxfragmentationmemoryReserved,
            maxmemoryDelta = maxmemoryDelta,
            maxmemoryPolicy = maxmemoryPolicy,
            maxmemoryReserved = maxmemoryReserved,
            preferredDataPersistenceAuthMethod = preferredDataPersistenceAuthMethod,
            rdbBackupEnabled = rdbBackupEnabled,
            rdbBackupFrequency = rdbBackupFrequency,
            rdbBackupMaxSnapshotCount = rdbBackupMaxSnapshotCount,
            rdbStorageConnectionString = rdbStorageConnectionString,
            storageSubscriptionId = storageSubscriptionId,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy