com.pulumi.awsnative.qbusiness.kotlin.PluginArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
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.qbusiness.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.qbusiness.PluginArgs.builder
import com.pulumi.awsnative.qbusiness.kotlin.enums.PluginState
import com.pulumi.awsnative.qbusiness.kotlin.enums.PluginType
import com.pulumi.awsnative.qbusiness.kotlin.inputs.PluginCustomPluginConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.PluginCustomPluginConfigurationArgsBuilder
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.Any
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Definition of AWS::QBusiness::Plugin Resource Type
* @property applicationId The identifier of the application that will contain the plugin.
* @property authConfiguration Authentication configuration information for an Amazon Q Business plugin.
* @property customPluginConfiguration Configuration information required to create a custom plugin.
* @property displayName The name of the plugin.
* @property serverUrl The plugin server URL used for configuration.
* @property state The current status of the plugin.
* @property tags A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
* @property type The type of the plugin.
*/
public data class PluginArgs(
public val applicationId: Output? = null,
public val authConfiguration: Output? = null,
public val customPluginConfiguration: Output? = null,
public val displayName: Output? = null,
public val serverUrl: Output? = null,
public val state: Output? = null,
public val tags: Output>? = null,
public val type: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.qbusiness.PluginArgs =
com.pulumi.awsnative.qbusiness.PluginArgs.builder()
.applicationId(applicationId?.applyValue({ args0 -> args0 }))
.authConfiguration(authConfiguration?.applyValue({ args0 -> args0 }))
.customPluginConfiguration(
customPluginConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.displayName(displayName?.applyValue({ args0 -> args0 }))
.serverUrl(serverUrl?.applyValue({ args0 -> args0 }))
.state(state?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [PluginArgs].
*/
@PulumiTagMarker
public class PluginArgsBuilder internal constructor() {
private var applicationId: Output? = null
private var authConfiguration: Output? = null
private var customPluginConfiguration: Output? = null
private var displayName: Output? = null
private var serverUrl: Output? = null
private var state: Output? = null
private var tags: Output>? = null
private var type: Output? = null
/**
* @param value The identifier of the application that will contain the plugin.
*/
@JvmName("lictnnonbnvljfwr")
public suspend fun applicationId(`value`: Output) {
this.applicationId = value
}
/**
* @param value Authentication configuration information for an Amazon Q Business plugin.
*/
@JvmName("cidpgpypnkqqxswm")
public suspend fun authConfiguration(`value`: Output) {
this.authConfiguration = value
}
/**
* @param value Configuration information required to create a custom plugin.
*/
@JvmName("xsqvapxfknryhiel")
public suspend fun customPluginConfiguration(`value`: Output) {
this.customPluginConfiguration = value
}
/**
* @param value The name of the plugin.
*/
@JvmName("diybcilytryftbik")
public suspend fun displayName(`value`: Output) {
this.displayName = value
}
/**
* @param value The plugin server URL used for configuration.
*/
@JvmName("cqosandeiojjjdvi")
public suspend fun serverUrl(`value`: Output) {
this.serverUrl = value
}
/**
* @param value The current status of the plugin.
*/
@JvmName("uloboymijkvmapjx")
public suspend fun state(`value`: Output) {
this.state = value
}
/**
* @param value A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*/
@JvmName("qjvchwgbetbbugqt")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("mplyfanobluarydc")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*/
@JvmName("vhvgkqeimjibikxy")
public suspend fun tags(values: List