aws-cdk-lib.aws_kendra.CfnIndexProps

interface CfnIndexProps

LanguageType name
.NETAmazon.CDK.AWS.Kendra.CfnIndexProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awskendra#CfnIndexProps
Javasoftware.amazon.awscdk.services.kendra.CfnIndexProps
Pythonaws_cdk.aws_kendra.CfnIndexProps
TypeScript aws-cdk-lib » aws_kendra » CfnIndexProps

Properties for defining a CfnIndex.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_kendra as kendra } from 'aws-cdk-lib';
const cfnIndexProps: kendra.CfnIndexProps = {
  edition: 'edition',
  name: 'name',
  roleArn: 'roleArn',

  // the properties below are optional
  capacityUnits: {
    queryCapacityUnits: 123,
    storageCapacityUnits: 123,
  },
  description: 'description',
  documentMetadataConfigurations: [{
    name: 'name',
    type: 'type',

    // the properties below are optional
    relevance: {
      duration: 'duration',
      freshness: false,
      importance: 123,
      rankOrder: 'rankOrder',
      valueImportanceItems: [{
        key: 'key',
        value: 123,
      }],
    },
    search: {
      displayable: false,
      facetable: false,
      searchable: false,
      sortable: false,
    },
  }],
  serverSideEncryptionConfiguration: {
    kmsKeyId: 'kmsKeyId',
  },
  tags: [{
    key: 'key',
    value: 'value',
  }],
  userContextPolicy: 'userContextPolicy',
  userTokenConfigurations: [{
    jsonTokenTypeConfiguration: {
      groupAttributeField: 'groupAttributeField',
      userNameAttributeField: 'userNameAttributeField',
    },
    jwtTokenTypeConfiguration: {
      keyLocation: 'keyLocation',

      // the properties below are optional
      claimRegex: 'claimRegex',
      groupAttributeField: 'groupAttributeField',
      issuer: 'issuer',
      secretManagerArn: 'secretManagerArn',
      url: 'url',
      userNameAttributeField: 'userNameAttributeField',
    },
  }],
};

Properties

NameTypeDescription
editionstringIndicates whether the index is a Enterprise Edition index or a Developer Edition index.
namestringThe name of the index.
roleArnstringAn IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics.
capacityUnits?IResolvable | CapacityUnitsConfigurationPropertyAWS::Kendra::Index.CapacityUnits.
description?stringA description for the index.
documentMetadataConfigurations?IResolvable | IResolvable | DocumentMetadataConfigurationProperty[]Specifies the properties of an index field.
serverSideEncryptionConfiguration?IResolvable | ServerSideEncryptionConfigurationPropertyThe identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra.
tags?CfnTag[]An array of key-value pairs to apply to this resource.
userContextPolicy?stringThe user context policy.
userTokenConfigurations?IResolvable | IResolvable | UserTokenConfigurationProperty[]Defines the type of user token used for the index.

edition

Type: string

Indicates whether the index is a Enterprise Edition index or a Developer Edition index.

Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .


name

Type: string

The name of the index.


roleArn

Type: string

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 operation to index documents from an Amazon S3 bucket.


capacityUnits?

Type: IResolvable | CapacityUnitsConfigurationProperty (optional)

AWS::Kendra::Index.CapacityUnits.


description?

Type: string (optional)

A description for the index.


documentMetadataConfigurations?

Type: IResolvable | IResolvable | DocumentMetadataConfigurationProperty[] (optional)

Specifies the properties of an index field.

You can add either a custom or a built-in field. You can add and remove built-in fields at any time. When a built-in field is removed it's configuration reverts to the default for the field. Custom fields can't be removed from an index after they are added.


serverSideEncryptionConfiguration?

Type: IResolvable | ServerSideEncryptionConfigurationProperty (optional)

The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra.

Amazon Kendra doesn't support asymmetric CMKs.


tags?

Type: CfnTag[] (optional)

An array of key-value pairs to apply to this resource.

For more information, see Tag .


userContextPolicy?

Type: string (optional)

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.

userTokenConfigurations?

Type: IResolvable | IResolvable | UserTokenConfigurationProperty[] (optional)

Defines the type of user token used for the index.