Index

class Index : KotlinCustomResource

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

Properties

Link copied to clipboard
val arn: Output<String>

The Amazon Resource Name (ARN) of the Index.

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 createdAt: Output<String>

The Unix datetime that the index was created.

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

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>?

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 errorMessage: Output<String>

When the Status field value is FAILED, this contains a message that explains why.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

A block that provides information about the number of FAQ questions and answers and the number of text documents indexed. Detailed below.

Link copied to clipboard
val name: Output<String>

Specifies the name of the Index.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val roleArn: Output<String>

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 status: Output<String>

The current status of the index. When the value is ACTIVE, the index is ready for use. If the Status field value is FAILED, the error_message field contains a message that explains why.

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

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 tagsAll: Output<Map<String, String>>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val updatedAt: Output<String>

The Unix datetime that the index was last updated.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

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.