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());
}
}
With user group resolution 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.IndexUserGroupResolutionConfigurationArgs;
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())
.userGroupResolutionConfiguration(IndexUserGroupResolutionConfigurationArgs.builder()
.userGroupResolutionMode("AWS_SSO")
.build())
.build());
}
}
Specifying the predefined elements
Refer to Amazon Kendra documentation on built-in document fields for more information.
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("_tenant_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("_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("_tenant_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("_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
Using pulumi import
, import Amazon Kendra Indexes using its id
. For example:
$ pulumi import aws:kendra/index:Index example 12345678-1234-5678-9123-123456789123
Constructors
Functions
Properties
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 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.