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.
@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.ApplicationArgs.builder
import com.pulumi.awsnative.qbusiness.kotlin.enums.ApplicationIdentityType
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationAttachmentsConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationAttachmentsConfigurationArgsBuilder
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationAutoSubscriptionConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationAutoSubscriptionConfigurationArgsBuilder
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationEncryptionConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationEncryptionConfigurationArgsBuilder
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationPersonalizationConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationPersonalizationConfigurationArgsBuilder
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationQAppsConfigurationArgs
import com.pulumi.awsnative.qbusiness.kotlin.inputs.ApplicationQAppsConfigurationArgsBuilder
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::Application Resource Type
* @property attachmentsConfiguration Configuration information for the file upload during chat feature.
* @property autoSubscriptionConfiguration Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
* @property clientIdsForOidc
* @property description A description for the Amazon Q Business application.
* @property displayName The name of the Amazon Q Business application.
* @property encryptionConfiguration Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business. Amazon Q Business doesn't support asymmetric keys.
* @property iamIdentityProviderArn The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
* @property identityCenterInstanceArn The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
* *Required* : `Yes`
* @property identityType The authentication type being used by a Amazon Q Business application.
* @property personalizationConfiguration Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
* @property qAppsConfiguration Configuration information about Amazon Q Apps.
* @property roleArn The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
* @property tags A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*/
public data class ApplicationArgs(
public val attachmentsConfiguration: Output? = null,
public val autoSubscriptionConfiguration: Output? =
null,
public val clientIdsForOidc: Output>? = null,
public val description: Output? = null,
public val displayName: Output? = null,
public val encryptionConfiguration: Output? = null,
public val iamIdentityProviderArn: Output? = null,
public val identityCenterInstanceArn: Output? = null,
public val identityType: Output? = null,
public val personalizationConfiguration: Output? =
null,
public val qAppsConfiguration: Output? = null,
public val roleArn: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.qbusiness.ApplicationArgs =
com.pulumi.awsnative.qbusiness.ApplicationArgs.builder()
.attachmentsConfiguration(
attachmentsConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.autoSubscriptionConfiguration(
autoSubscriptionConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.clientIdsForOidc(clientIdsForOidc?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.description(description?.applyValue({ args0 -> args0 }))
.displayName(displayName?.applyValue({ args0 -> args0 }))
.encryptionConfiguration(
encryptionConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.iamIdentityProviderArn(iamIdentityProviderArn?.applyValue({ args0 -> args0 }))
.identityCenterInstanceArn(identityCenterInstanceArn?.applyValue({ args0 -> args0 }))
.identityType(identityType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.personalizationConfiguration(
personalizationConfiguration?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.qAppsConfiguration(
qAppsConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.roleArn(roleArn?.applyValue({ args0 -> args0 }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ApplicationArgs].
*/
@PulumiTagMarker
public class ApplicationArgsBuilder internal constructor() {
private var attachmentsConfiguration: Output? = null
private var autoSubscriptionConfiguration: Output? =
null
private var clientIdsForOidc: Output>? = null
private var description: Output? = null
private var displayName: Output? = null
private var encryptionConfiguration: Output? = null
private var iamIdentityProviderArn: Output? = null
private var identityCenterInstanceArn: Output? = null
private var identityType: Output? = null
private var personalizationConfiguration: Output? =
null
private var qAppsConfiguration: Output? = null
private var roleArn: Output? = null
private var tags: Output>? = null
/**
* @param value Configuration information for the file upload during chat feature.
*/
@JvmName("peeotuwpflptjosp")
public suspend fun attachmentsConfiguration(`value`: Output) {
this.attachmentsConfiguration = value
}
/**
* @param value Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
*/
@JvmName("wbecgglthwymorvm")
public suspend fun autoSubscriptionConfiguration(`value`: Output) {
this.autoSubscriptionConfiguration = value
}
/**
* @param value
*/
@JvmName("jfftvvlwsmfoedyc")
public suspend fun clientIdsForOidc(`value`: Output>) {
this.clientIdsForOidc = value
}
@JvmName("bojaibhgxpufaiqw")
public suspend fun clientIdsForOidc(vararg values: Output) {
this.clientIdsForOidc = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("msinrmaonokbfyuu")
public suspend fun clientIdsForOidc(values: List