IndexArgs

data class IndexArgs(val capacityUnits: Output<IndexCapacityUnitsArgs>? = null, val description: Output<String>? = null, val documentMetadataConfigurationUpdates: Output<List<IndexDocumentMetadataConfigurationUpdateArgs>>? = null, val edition: Output<String>? = null, val name: Output<String>? = null, val roleArn: Output<String>? = null, val serverSideEncryptionConfiguration: Output<IndexServerSideEncryptionConfigurationArgs>? = null, val tags: Output<Map<String, String>>? = null, val userContextPolicy: Output<String>? = null, val userGroupResolutionConfiguration: Output<IndexUserGroupResolutionConfigurationArgs>? = null, val userTokenConfigurations: Output<IndexUserTokenConfigurationsArgs>? = null) : ConvertibleToJava<IndexArgs>

Provides an Amazon Kendra Index resource.

Example Usage

Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.description("example")
.edition("DEVELOPER_EDITION")
.roleArn(aws_iam_role.this().arn())
.tags(Map.of("Key1", "Value1"))
.build());
}
}

With capacity units

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import com.pulumi.aws.kendra.inputs.IndexCapacityUnitsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.edition("DEVELOPER_EDITION")
.roleArn(aws_iam_role.this().arn())
.capacityUnits(IndexCapacityUnitsArgs.builder()
.queryCapacityUnits(2)
.storageCapacityUnits(2)
.build())
.build());
}
}

With server side encryption configuration

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import com.pulumi.aws.kendra.inputs.IndexServerSideEncryptionConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.roleArn(aws_iam_role.this().arn())
.serverSideEncryptionConfiguration(IndexServerSideEncryptionConfigurationArgs.builder()
.kmsKeyId(data.aws_kms_key().this().arn())
.build())
.build());
}
}

Specifying the predefined elements

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.roleArn(aws_iam_role.this().arn())
.documentMetadataConfigurationUpdates(
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_authors")
.type("STRING_LIST_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_category")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_created_at")
.type("DATE_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.freshness(false)
.importance(1)
.duration("25920000s")
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_data_source_id")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_document_title")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(false)
.searchable(true)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(2)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_excerpt_page_number")
.type("LONG_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(2)
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_faq_id")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_file_type")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_language_code")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_last_updated_at")
.type("DATE_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.freshness(false)
.importance(1)
.duration("25920000s")
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_source_uri")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_version")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_view_count")
.type("LONG_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.rankOrder("ASCENDING")
.build())
.build())
.build());
}
}

Appending additional elements

The example below shows additional elements with names, example-string-value, example-long-value, example-string-list-value, example-date-value representing the 4 types of STRING_VALUE, LONG_VALUE, STRING_LIST_VALUE, DATE_VALUE respectively.

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateSearchArgs;
import com.pulumi.aws.kendra.inputs.IndexDocumentMetadataConfigurationUpdateRelevanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.roleArn(aws_iam_role.this().arn())
.documentMetadataConfigurationUpdates(
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_authors")
.type("STRING_LIST_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_category")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_created_at")
.type("DATE_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.freshness(false)
.importance(1)
.duration("25920000s")
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_data_source_id")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_document_title")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(false)
.searchable(true)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(2)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_excerpt_page_number")
.type("LONG_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(2)
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_faq_id")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_file_type")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_language_code")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_last_updated_at")
.type("DATE_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.freshness(false)
.importance(1)
.duration("25920000s")
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_source_uri")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(false)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_version")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("_view_count")
.type("LONG_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(false)
.facetable(false)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("example-string-value")
.type("STRING_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(true)
.searchable(true)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.valuesImportanceMap()
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("example-long-value")
.type("LONG_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(true)
.searchable(false)
.sortable(true)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.rankOrder("ASCENDING")
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("example-string-list-value")
.type("STRING_LIST_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(true)
.searchable(true)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.importance(1)
.build())
.build(),
IndexDocumentMetadataConfigurationUpdateArgs.builder()
.name("example-date-value")
.type("DATE_VALUE")
.search(IndexDocumentMetadataConfigurationUpdateSearchArgs.builder()
.displayable(true)
.facetable(true)
.searchable(false)
.sortable(false)
.build())
.relevance(IndexDocumentMetadataConfigurationUpdateRelevanceArgs.builder()
.freshness(false)
.importance(1)
.duration("25920000s")
.rankOrder("ASCENDING")
.build())
.build())
.build());
}
}

With JSON token type configuration

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kendra.Index;
import com.pulumi.aws.kendra.IndexArgs;
import com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsArgs;
import com.pulumi.aws.kendra.inputs.IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Index("example", IndexArgs.builder()
.roleArn(aws_iam_role.this().arn())
.userTokenConfigurations(IndexUserTokenConfigurationsArgs.builder()
.jsonTokenTypeConfiguration(IndexUserTokenConfigurationsJsonTokenTypeConfigurationArgs.builder()
.groupAttributeField("groups")
.userNameAttributeField("username")
.build())
.build())
.build());
}
}

Import

Amazon Kendra Indexes can be imported using its id, e.g.,

$ pulumi import aws:kendra/index:Index example 12345678-1234-5678-9123-123456789123

Constructors

Link copied to clipboard
constructor(capacityUnits: Output<IndexCapacityUnitsArgs>? = null, description: Output<String>? = null, documentMetadataConfigurationUpdates: Output<List<IndexDocumentMetadataConfigurationUpdateArgs>>? = null, edition: Output<String>? = null, name: Output<String>? = null, roleArn: Output<String>? = null, serverSideEncryptionConfiguration: Output<IndexServerSideEncryptionConfigurationArgs>? = null, tags: Output<Map<String, String>>? = null, userContextPolicy: Output<String>? = null, userGroupResolutionConfiguration: Output<IndexUserGroupResolutionConfigurationArgs>? = null, userTokenConfigurations: Output<IndexUserTokenConfigurationsArgs>? = null)

Properties

Link copied to clipboard

A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.

Link copied to clipboard
val description: Output<String>? = null

The description of the Index.

Link copied to clipboard

One or more blocks that specify the configuration settings for any metadata applied to the documents in the index. Minimum number of 0 items. Maximum number of 500 items. If specified, you must define all elements, including those that are provided by default. These index fields are documented at Amazon Kendra Index documentation. For an example resource that defines these default index fields, refer to the default example above. For an example resource that appends additional index fields, refer to the append example above. All arguments for each block must be specified. Note that blocks cannot be removed since index fields cannot be deleted. This argument is detailed below.

Link copied to clipboard
val edition: Output<String>? = null

The Amazon Kendra edition to use for the index. Choose DEVELOPER_EDITION for indexes intended for development, testing, or proof of concept. Use ENTERPRISE_EDITION for your production databases. Once you set the edition for an index, it can't be changed. Defaults to ENTERPRISE_EDITION

Link copied to clipboard
val name: Output<String>? = null

Specifies the name of the Index.

Link copied to clipboard
val roleArn: Output<String>? = null

An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role you use when you call the BatchPutDocument API to index documents from an Amazon S3 bucket.

Link copied to clipboard

A block that specifies the identifier of the AWS KMS customer managed key (CMK) that's used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. Detailed below.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Tags to apply to the Index. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val userContextPolicy: Output<String>? = null

The user context policy. Valid values are ATTRIBUTE_FILTER or USER_TOKEN. For more information, refer to UserContextPolicy. Defaults to ATTRIBUTE_FILTER.

Link copied to clipboard

A block that enables fetching access levels of groups and users from an AWS Single Sign-On identity source. To configure this, see UserGroupResolutionConfiguration. Detailed below.

Link copied to clipboard

A block that specifies the user token configuration. Detailed below.

Functions

Link copied to clipboard
open override fun toJava(): IndexArgs