Index Args
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
Properties
A block that sets the number of additional document storage and query capacity units that should be used by the index. Detailed below.
The description of the Index.
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.
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
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.
The user context policy. Valid values are ATTRIBUTE_FILTER
or USER_TOKEN
. For more information, refer to UserContextPolicy. Defaults to ATTRIBUTE_FILTER
.
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.
A block that specifies the user token configuration. Detailed below.