Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.elasticache.kotlin
import com.pulumi.awsnative.elasticache.ServerlessCacheArgs.builder
import com.pulumi.awsnative.elasticache.kotlin.inputs.ServerlessCacheCacheUsageLimitsArgs
import com.pulumi.awsnative.elasticache.kotlin.inputs.ServerlessCacheCacheUsageLimitsArgsBuilder
import com.pulumi.awsnative.elasticache.kotlin.inputs.ServerlessCacheEndpointArgs
import com.pulumi.awsnative.elasticache.kotlin.inputs.ServerlessCacheEndpointArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache.
* @property cacheUsageLimits The cache usage limit for the serverless cache.
* @property dailySnapshotTime The daily time range (in UTC) during which the service takes automatic snapshot of the Serverless Cache.
* @property description The description of the Serverless Cache.
* @property endpoint Represents the information required for client programs to connect to a cache node. This value is read-only.
* @property engine The engine name of the Serverless Cache.
* @property finalSnapshotName The final snapshot name which is taken before Serverless Cache is deleted.
* @property kmsKeyId The ID of the KMS key used to encrypt the cluster.
* @property majorEngineVersion The major engine version of the Serverless Cache.
* @property readerEndpoint Represents the information required for client programs to connect to a cache node. This value is read-only.
* @property securityGroupIds One or more Amazon VPC security groups associated with this Serverless Cache.
* @property serverlessCacheName The name of the Serverless Cache. This value must be unique.
* @property snapshotArnsToRestore The ARN's of snapshot to restore Serverless Cache.
* @property snapshotRetentionLimit The snapshot retention limit of the Serverless Cache.
* @property subnetIds The subnet id's of the Serverless Cache.
* @property tags An array of key-value pairs to apply to this Serverless Cache.
* @property userGroupId The ID of the user group.
*/
public data class ServerlessCacheArgs(
public val cacheUsageLimits: Output? = null,
public val dailySnapshotTime: Output? = null,
public val description: Output? = null,
public val endpoint: Output? = null,
public val engine: Output? = null,
public val finalSnapshotName: Output? = null,
public val kmsKeyId: Output? = null,
public val majorEngineVersion: Output? = null,
public val readerEndpoint: Output? = null,
public val securityGroupIds: Output>? = null,
public val serverlessCacheName: Output? = null,
public val snapshotArnsToRestore: Output>? = null,
public val snapshotRetentionLimit: Output? = null,
public val subnetIds: Output>? = null,
public val tags: Output>? = null,
public val userGroupId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.elasticache.ServerlessCacheArgs =
com.pulumi.awsnative.elasticache.ServerlessCacheArgs.builder()
.cacheUsageLimits(cacheUsageLimits?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dailySnapshotTime(dailySnapshotTime?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.endpoint(endpoint?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.engine(engine?.applyValue({ args0 -> args0 }))
.finalSnapshotName(finalSnapshotName?.applyValue({ args0 -> args0 }))
.kmsKeyId(kmsKeyId?.applyValue({ args0 -> args0 }))
.majorEngineVersion(majorEngineVersion?.applyValue({ args0 -> args0 }))
.readerEndpoint(readerEndpoint?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.securityGroupIds(securityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.serverlessCacheName(serverlessCacheName?.applyValue({ args0 -> args0 }))
.snapshotArnsToRestore(snapshotArnsToRestore?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.snapshotRetentionLimit(snapshotRetentionLimit?.applyValue({ args0 -> args0 }))
.subnetIds(subnetIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.userGroupId(userGroupId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ServerlessCacheArgs].
*/
@PulumiTagMarker
public class ServerlessCacheArgsBuilder internal constructor() {
private var cacheUsageLimits: Output? = null
private var dailySnapshotTime: Output? = null
private var description: Output? = null
private var endpoint: Output? = null
private var engine: Output? = null
private var finalSnapshotName: Output? = null
private var kmsKeyId: Output? = null
private var majorEngineVersion: Output? = null
private var readerEndpoint: Output? = null
private var securityGroupIds: Output>? = null
private var serverlessCacheName: Output? = null
private var snapshotArnsToRestore: Output>? = null
private var snapshotRetentionLimit: Output? = null
private var subnetIds: Output>? = null
private var tags: Output>? = null
private var userGroupId: Output? = null
/**
* @param value The cache usage limit for the serverless cache.
*/
@JvmName("asocdahsrmxcmhsv")
public suspend fun cacheUsageLimits(`value`: Output) {
this.cacheUsageLimits = value
}
/**
* @param value The daily time range (in UTC) during which the service takes automatic snapshot of the Serverless Cache.
*/
@JvmName("ewnblopgtelkbxty")
public suspend fun dailySnapshotTime(`value`: Output) {
this.dailySnapshotTime = value
}
/**
* @param value The description of the Serverless Cache.
*/
@JvmName("husverjcauhiruss")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Represents the information required for client programs to connect to a cache node. This value is read-only.
*/
@JvmName("jjlsncndlixadsoc")
public suspend fun endpoint(`value`: Output) {
this.endpoint = value
}
/**
* @param value The engine name of the Serverless Cache.
*/
@JvmName("nyorvgtqlhqostph")
public suspend fun engine(`value`: Output) {
this.engine = value
}
/**
* @param value The final snapshot name which is taken before Serverless Cache is deleted.
*/
@JvmName("asmuufpdhssvpwbh")
public suspend fun finalSnapshotName(`value`: Output) {
this.finalSnapshotName = value
}
/**
* @param value The ID of the KMS key used to encrypt the cluster.
*/
@JvmName("myfrxrxrayooryhf")
public suspend fun kmsKeyId(`value`: Output) {
this.kmsKeyId = value
}
/**
* @param value The major engine version of the Serverless Cache.
*/
@JvmName("weapohrpbhpnndyw")
public suspend fun majorEngineVersion(`value`: Output) {
this.majorEngineVersion = value
}
/**
* @param value Represents the information required for client programs to connect to a cache node. This value is read-only.
*/
@JvmName("dclgisekswdemegm")
public suspend fun readerEndpoint(`value`: Output) {
this.readerEndpoint = value
}
/**
* @param value One or more Amazon VPC security groups associated with this Serverless Cache.
*/
@JvmName("wfcljeclovoouwwm")
public suspend fun securityGroupIds(`value`: Output>) {
this.securityGroupIds = value
}
@JvmName("pveifxeadbecyjed")
public suspend fun securityGroupIds(vararg values: Output) {
this.securityGroupIds = Output.all(values.asList())
}
/**
* @param values One or more Amazon VPC security groups associated with this Serverless Cache.
*/
@JvmName("sqwpsslbytryyfjf")
public suspend fun securityGroupIds(values: List