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

com.pulumi.awsnative.qbusiness.kotlin.RetrieverArgs.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: 1.24.0.0
Show newest version
@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.RetrieverArgs.builder
import com.pulumi.awsnative.qbusiness.kotlin.enums.RetrieverType
import com.pulumi.awsnative.qbusiness.kotlin.inputs.RetrieverConfiguration0PropertiesArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.RetrieverConfiguration1PropertiesArgs
import com.pulumi.core.Either
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Definition of AWS::QBusiness::Retriever Resource Type
 * @property applicationId The identifier of the Amazon Q Business application using the retriever.
 * @property configuration Provides information on how the retriever used for your Amazon Q Business application is configured.
 * @property displayName The name of your retriever.
 * @property roleArn The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
 * @property tags A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
 * @property type The type of your retriever.
 */
public data class RetrieverArgs(
    public val applicationId: Output? = null,
    public val configuration: Output>? =
        null,
    public val displayName: Output? = null,
    public val roleArn: Output? = null,
    public val tags: Output>? = null,
    public val type: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.qbusiness.RetrieverArgs =
        com.pulumi.awsnative.qbusiness.RetrieverArgs.builder()
            .applicationId(applicationId?.applyValue({ args0 -> args0 }))
            .configuration(
                configuration?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .displayName(displayName?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
            .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [RetrieverArgs].
 */
@PulumiTagMarker
public class RetrieverArgsBuilder internal constructor() {
    private var applicationId: Output? = null

    private var configuration:
        Output>? =
        null

    private var displayName: Output? = null

    private var roleArn: Output? = null

    private var tags: Output>? = null

    private var type: Output? = null

    /**
     * @param value The identifier of the Amazon Q Business application using the retriever.
     */
    @JvmName("axkfuuqjalaylxdt")
    public suspend fun applicationId(`value`: Output) {
        this.applicationId = value
    }

    /**
     * @param value Provides information on how the retriever used for your Amazon Q Business application is configured.
     */
    @JvmName("oprybabrxdstnsrl")
    public suspend fun configuration(`value`: Output>) {
        this.configuration = value
    }

    /**
     * @param value The name of your retriever.
     */
    @JvmName("rgjjpormwacjostx")
    public suspend fun displayName(`value`: Output) {
        this.displayName = value
    }

    /**
     * @param value The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
     */
    @JvmName("yjehvctpxflnoyho")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("spfxnjicajiptlos")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    @JvmName("uaavyagmhhsovptw")
    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 retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("sirndfeqsbkdupxl")
    public suspend fun tags(values: List>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value The type of your retriever.
     */
    @JvmName("knsmhvexvelupgjb")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value The identifier of the Amazon Q Business application using the retriever.
     */
    @JvmName("wipowutfmwhtqhux")
    public suspend fun applicationId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.applicationId = mapped
    }

    /**
     * @param value Provides information on how the retriever used for your Amazon Q Business application is configured.
     */
    @JvmName("ttqutgegyllssvsm")
    public suspend fun configuration(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.configuration = mapped
    }

    /**
     * @param value Provides information on how the retriever used for your Amazon Q Business application is configured.
     */
    @JvmName("rgiwcoctieiiymhg")
    public fun configuration(`value`: RetrieverConfiguration0PropertiesArgs) {
        val toBeMapped = Either.ofLeft<
            RetrieverConfiguration0PropertiesArgs,
            RetrieverConfiguration1PropertiesArgs,
            >(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.configuration = mapped
    }

    /**
     * @param value Provides information on how the retriever used for your Amazon Q Business application is configured.
     */
    @JvmName("kolrfbxahgornlkp")
    public fun configuration(`value`: RetrieverConfiguration1PropertiesArgs) {
        val toBeMapped = Either.ofRight<
            RetrieverConfiguration0PropertiesArgs,
            RetrieverConfiguration1PropertiesArgs,
            >(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.configuration = mapped
    }

    /**
     * @param value The name of your retriever.
     */
    @JvmName("arvxnhbnfsseobbm")
    public suspend fun displayName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.displayName = mapped
    }

    /**
     * @param value The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.
     */
    @JvmName("rfpegiccakewjcyj")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("bmcwxkdkfgomyjiv")
    public suspend fun tags(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("whnfqgdqnvgywewa")
    public suspend fun tags(argument: List Unit>) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("vgxclmqlnjhmlqrr")
    public suspend fun tags(vararg argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { TagArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param argument A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("vldedjouavneowlt")
    public suspend fun tags(argument: suspend TagArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(TagArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.tags = mapped
    }

    /**
     * @param values A list of key-value pairs that identify or categorize the retriever. You can also use tags to help control access to the retriever. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    @JvmName("hlwnpplsaxskbnva")
    public suspend fun tags(vararg values: TagArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value The type of your retriever.
     */
    @JvmName("dhkfxecuolcxaudt")
    public suspend fun type(`value`: RetrieverType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): RetrieverArgs = RetrieverArgs(
        applicationId = applicationId,
        configuration = configuration,
        displayName = displayName,
        roleArn = roleArn,
        tags = tags,
        type = type,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy