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

com.pulumi.gcp.pubsub.kotlin.inputs.TopicMessageStoragePolicyArgs.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.pubsub.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.pubsub.inputs.TopicMessageStoragePolicyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property allowedPersistenceRegions A list of IDs of GCP regions where messages that are published to
 * the topic may be persisted in storage. Messages published by
 * publishers running in non-allowed GCP regions (or running outside
 * of GCP altogether) will be routed for storage in one of the
 * allowed regions. An empty list means that no regions are allowed,
 * and is not a valid configuration.
 */
public data class TopicMessageStoragePolicyArgs(
    public val allowedPersistenceRegions: Output>,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.pubsub.inputs.TopicMessageStoragePolicyArgs =
        com.pulumi.gcp.pubsub.inputs.TopicMessageStoragePolicyArgs.builder()
            .allowedPersistenceRegions(
                allowedPersistenceRegions.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            ).build()
}

/**
 * Builder for [TopicMessageStoragePolicyArgs].
 */
@PulumiTagMarker
public class TopicMessageStoragePolicyArgsBuilder internal constructor() {
    private var allowedPersistenceRegions: Output>? = null

    /**
     * @param value A list of IDs of GCP regions where messages that are published to
     * the topic may be persisted in storage. Messages published by
     * publishers running in non-allowed GCP regions (or running outside
     * of GCP altogether) will be routed for storage in one of the
     * allowed regions. An empty list means that no regions are allowed,
     * and is not a valid configuration.
     */
    @JvmName("ltklgorwllucfenp")
    public suspend fun allowedPersistenceRegions(`value`: Output>) {
        this.allowedPersistenceRegions = value
    }

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

    /**
     * @param values A list of IDs of GCP regions where messages that are published to
     * the topic may be persisted in storage. Messages published by
     * publishers running in non-allowed GCP regions (or running outside
     * of GCP altogether) will be routed for storage in one of the
     * allowed regions. An empty list means that no regions are allowed,
     * and is not a valid configuration.
     */
    @JvmName("ctllqetnmjbgntdt")
    public suspend fun allowedPersistenceRegions(values: List>) {
        this.allowedPersistenceRegions = Output.all(values)
    }

    /**
     * @param value A list of IDs of GCP regions where messages that are published to
     * the topic may be persisted in storage. Messages published by
     * publishers running in non-allowed GCP regions (or running outside
     * of GCP altogether) will be routed for storage in one of the
     * allowed regions. An empty list means that no regions are allowed,
     * and is not a valid configuration.
     */
    @JvmName("vliwiicoqbgqptoj")
    public suspend fun allowedPersistenceRegions(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedPersistenceRegions = mapped
    }

    /**
     * @param values A list of IDs of GCP regions where messages that are published to
     * the topic may be persisted in storage. Messages published by
     * publishers running in non-allowed GCP regions (or running outside
     * of GCP altogether) will be routed for storage in one of the
     * allowed regions. An empty list means that no regions are allowed,
     * and is not a valid configuration.
     */
    @JvmName("efrsnhdbqykblvvn")
    public suspend fun allowedPersistenceRegions(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedPersistenceRegions = mapped
    }

    internal fun build(): TopicMessageStoragePolicyArgs = TopicMessageStoragePolicyArgs(
        allowedPersistenceRegions = allowedPersistenceRegions ?: throw
            PulumiNullFieldException("allowedPersistenceRegions"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy