Please wait. This can take some minutes ...
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.
com.pulumi.gcp.firebase.kotlin.inputs.ExtensionsInstanceConfigArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.firebase.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.firebase.inputs.ExtensionsInstanceConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property allowedEventTypes List of extension events selected by consumer that extension is allowed to
* emit, identified by their types.
* @property createTime (Output)
* The time at which the Extension Instance Config was created.
* @property eventarcChannel Fully qualified Eventarc resource name that consumers should use for event triggers.
* @property extensionRef The ref of the Extension from the Registry (e.g. publisher-id/awesome-extension)
* @property extensionVersion The version of the Extension from the Registry (e.g. 1.0.3). If left blank, latest is assumed.
* @property name (Output)
* The unique identifier for this configuration.
* @property params Environment variables that may be configured for the Extension
* @property populatedPostinstallContent (Output)
* Postinstall instructions to be shown for this Extension, with
* template strings representing function and parameter values substituted
* with actual values. These strings include: ${param:FOO},
* ${function:myFunc.url},
* ${function:myFunc.name}, and ${function:myFunc.location}
* - - -
* @property systemParams Params whose values are only available at deployment time.
* Unlike other params, these will not be set as environment variables on
* functions. See a full list of system parameters at
* https://firebase.google.com/docs/extensions/publishers/parameters#system_parameters
*/
public data class ExtensionsInstanceConfigArgs(
public val allowedEventTypes: Output>? = null,
public val createTime: Output? = null,
public val eventarcChannel: Output? = null,
public val extensionRef: Output,
public val extensionVersion: Output? = null,
public val name: Output? = null,
public val params: Output>,
public val populatedPostinstallContent: Output? = null,
public val systemParams: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.firebase.inputs.ExtensionsInstanceConfigArgs =
com.pulumi.gcp.firebase.inputs.ExtensionsInstanceConfigArgs.builder()
.allowedEventTypes(allowedEventTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.createTime(createTime?.applyValue({ args0 -> args0 }))
.eventarcChannel(eventarcChannel?.applyValue({ args0 -> args0 }))
.extensionRef(extensionRef.applyValue({ args0 -> args0 }))
.extensionVersion(extensionVersion?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.params(params.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.populatedPostinstallContent(populatedPostinstallContent?.applyValue({ args0 -> args0 }))
.systemParams(
systemParams?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
).build()
}
/**
* Builder for [ExtensionsInstanceConfigArgs].
*/
@PulumiTagMarker
public class ExtensionsInstanceConfigArgsBuilder internal constructor() {
private var allowedEventTypes: Output>? = null
private var createTime: Output? = null
private var eventarcChannel: Output? = null
private var extensionRef: Output? = null
private var extensionVersion: Output? = null
private var name: Output? = null
private var params: Output>? = null
private var populatedPostinstallContent: Output? = null
private var systemParams: Output>? = null
/**
* @param value List of extension events selected by consumer that extension is allowed to
* emit, identified by their types.
*/
@JvmName("jyppfdpivsoohkim")
public suspend fun allowedEventTypes(`value`: Output>) {
this.allowedEventTypes = value
}
@JvmName("dbrotycewmutecfw")
public suspend fun allowedEventTypes(vararg values: Output) {
this.allowedEventTypes = Output.all(values.asList())
}
/**
* @param values List of extension events selected by consumer that extension is allowed to
* emit, identified by their types.
*/
@JvmName("rhylubyuiepuqnsc")
public suspend fun allowedEventTypes(values: List>) {
this.allowedEventTypes = Output.all(values)
}
/**
* @param value (Output)
* The time at which the Extension Instance Config was created.
*/
@JvmName("qgqaekfnnquwqmtg")
public suspend fun createTime(`value`: Output) {
this.createTime = value
}
/**
* @param value Fully qualified Eventarc resource name that consumers should use for event triggers.
*/
@JvmName("uugmiywdlfcyvcqs")
public suspend fun eventarcChannel(`value`: Output) {
this.eventarcChannel = value
}
/**
* @param value The ref of the Extension from the Registry (e.g. publisher-id/awesome-extension)
*/
@JvmName("vcgaweacgirojman")
public suspend fun extensionRef(`value`: Output) {
this.extensionRef = value
}
/**
* @param value The version of the Extension from the Registry (e.g. 1.0.3). If left blank, latest is assumed.
*/
@JvmName("vextitnlwfcrvtfg")
public suspend fun extensionVersion(`value`: Output) {
this.extensionVersion = value
}
/**
* @param value (Output)
* The unique identifier for this configuration.
*/
@JvmName("jwgawenffbqbvdui")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Environment variables that may be configured for the Extension
*/
@JvmName("wweykdvkjwtsrgbq")
public suspend fun params(`value`: Output>) {
this.params = value
}
/**
* @param value (Output)
* Postinstall instructions to be shown for this Extension, with
* template strings representing function and parameter values substituted
* with actual values. These strings include: ${param:FOO},
* ${function:myFunc.url},
* ${function:myFunc.name}, and ${function:myFunc.location}
* - - -
*/
@JvmName("rlxsdoxfnovluheg")
public suspend fun populatedPostinstallContent(`value`: Output) {
this.populatedPostinstallContent = value
}
/**
* @param value Params whose values are only available at deployment time.
* Unlike other params, these will not be set as environment variables on
* functions. See a full list of system parameters at
* https://firebase.google.com/docs/extensions/publishers/parameters#system_parameters
*/
@JvmName("qjmxhyjhkhfogqnn")
public suspend fun systemParams(`value`: Output>) {
this.systemParams = value
}
/**
* @param value List of extension events selected by consumer that extension is allowed to
* emit, identified by their types.
*/
@JvmName("kyuuqfetrllwwdrr")
public suspend fun allowedEventTypes(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowedEventTypes = mapped
}
/**
* @param values List of extension events selected by consumer that extension is allowed to
* emit, identified by their types.
*/
@JvmName("vvfwivkwxxbymskx")
public suspend fun allowedEventTypes(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.allowedEventTypes = mapped
}
/**
* @param value (Output)
* The time at which the Extension Instance Config was created.
*/
@JvmName("ftcbmwyjxoomfjhy")
public suspend fun createTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.createTime = mapped
}
/**
* @param value Fully qualified Eventarc resource name that consumers should use for event triggers.
*/
@JvmName("svxmojmrsunudjmn")
public suspend fun eventarcChannel(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.eventarcChannel = mapped
}
/**
* @param value The ref of the Extension from the Registry (e.g. publisher-id/awesome-extension)
*/
@JvmName("bpixktxuttuqgnhp")
public suspend fun extensionRef(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.extensionRef = mapped
}
/**
* @param value The version of the Extension from the Registry (e.g. 1.0.3). If left blank, latest is assumed.
*/
@JvmName("egjnhsspucgyiqpt")
public suspend fun extensionVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.extensionVersion = mapped
}
/**
* @param value (Output)
* The unique identifier for this configuration.
*/
@JvmName("umwsfgpqqotcutwo")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Environment variables that may be configured for the Extension
*/
@JvmName("lwpawbammsknslto")
public suspend fun params(`value`: Map) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.params = mapped
}
/**
* @param values Environment variables that may be configured for the Extension
*/
@JvmName("egjtnuxcmtjlblde")
public fun params(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.params = mapped
}
/**
* @param value (Output)
* Postinstall instructions to be shown for this Extension, with
* template strings representing function and parameter values substituted
* with actual values. These strings include: ${param:FOO},
* ${function:myFunc.url},
* ${function:myFunc.name}, and ${function:myFunc.location}
* - - -
*/
@JvmName("cmelxxjokfnrupxu")
public suspend fun populatedPostinstallContent(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.populatedPostinstallContent = mapped
}
/**
* @param value Params whose values are only available at deployment time.
* Unlike other params, these will not be set as environment variables on
* functions. See a full list of system parameters at
* https://firebase.google.com/docs/extensions/publishers/parameters#system_parameters
*/
@JvmName("gefjotjfohwfpqdn")
public suspend fun systemParams(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.systemParams = mapped
}
/**
* @param values Params whose values are only available at deployment time.
* Unlike other params, these will not be set as environment variables on
* functions. See a full list of system parameters at
* https://firebase.google.com/docs/extensions/publishers/parameters#system_parameters
*/
@JvmName("whoeojntvywdeand")
public fun systemParams(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.systemParams = mapped
}
internal fun build(): ExtensionsInstanceConfigArgs = ExtensionsInstanceConfigArgs(
allowedEventTypes = allowedEventTypes,
createTime = createTime,
eventarcChannel = eventarcChannel,
extensionRef = extensionRef ?: throw PulumiNullFieldException("extensionRef"),
extensionVersion = extensionVersion,
name = name,
params = params ?: throw PulumiNullFieldException("params"),
populatedPostinstallContent = populatedPostinstallContent,
systemParams = systemParams,
)
}