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

com.pulumi.awsnative.kendra.kotlin.outputs.GetIndexResult.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.kendra.kotlin.outputs

import com.pulumi.awsnative.kendra.kotlin.enums.IndexUserContextPolicy
import com.pulumi.awsnative.kotlin.outputs.Tag
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property arn The Amazon Resource Name (ARN) of the index. For example: `arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef` .
 * @property capacityUnits Capacity units
 * @property description A description for the index
 * @property documentMetadataConfigurations Document metadata configurations
 * @property id The identifier for the index. For example: `f4aeaa10-8056-4b2c-a343-522ca0f41234` .
 * @property name The name of the index.
 * @property roleArn An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/dg/BatchPutDocument.html) operation to index documents from an Amazon S3 bucket.
 * @property tags Tags for labeling the index
 * @property userContextPolicy The user context policy.
 * ATTRIBUTE_FILTER
 * - All indexed content is searchable and displayable for all users. If you want to filter search results on user context, you can use the attribute filters of `_user_id` and `_group_ids` or you can provide user and group information in `UserContext` .
 * USER_TOKEN
 * - Enables token-based user access control to filter search results on user context. All documents with no access control and all documents accessible to the user will be searchable and displayable.
 * @property userTokenConfigurations Defines the type of user token used for the index.
 */
public data class GetIndexResult(
    public val arn: String? = null,
    public val capacityUnits: IndexCapacityUnitsConfiguration? = null,
    public val description: String? = null,
    public val documentMetadataConfigurations: List? = null,
    public val id: String? = null,
    public val name: String? = null,
    public val roleArn: String? = null,
    public val tags: List? = null,
    public val userContextPolicy: IndexUserContextPolicy? = null,
    public val userTokenConfigurations: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.kendra.outputs.GetIndexResult): GetIndexResult = GetIndexResult(
            arn = javaType.arn().map({ args0 -> args0 }).orElse(null),
            capacityUnits = javaType.capacityUnits().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.IndexCapacityUnitsConfiguration.Companion.toKotlin(args0)
                })
            }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            documentMetadataConfigurations = javaType.documentMetadataConfigurations().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.IndexDocumentMetadataConfiguration.Companion.toKotlin(args0)
                })
            }),
            id = javaType.id().map({ args0 -> args0 }).orElse(null),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
            roleArn = javaType.roleArn().map({ args0 -> args0 }).orElse(null),
            tags = javaType.tags().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
                })
            }),
            userContextPolicy = javaType.userContextPolicy().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.enums.IndexUserContextPolicy.Companion.toKotlin(args0)
                })
            }).orElse(null),
            userTokenConfigurations = javaType.userTokenConfigurations().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kendra.kotlin.outputs.IndexUserTokenConfiguration.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy