CfnIndexProps

class aws_cdk.aws_kendra.CfnIndexProps(*, edition, name, role_arn, capacity_units=None, description=None, document_metadata_configurations=None, server_side_encryption_configuration=None, tags=None, user_context_policy=None, user_token_configurations=None)

Bases: object

Properties for defining a CfnIndex.

Parameters:
  • edition (str) – Indicates whether the index is a Enterprise Edition index or a Developer Edition index. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .

  • name (str) – The name of the index.

  • role_arn (str) – 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.

  • capacity_units (Union[IResolvable, CapacityUnitsConfigurationProperty, Dict[str, Any], None]) – AWS::Kendra::Index.CapacityUnits.

  • description (Optional[str]) – A description for the index.

  • document_metadata_configurations (Union[IResolvable, Sequence[Union[IResolvable, DocumentMetadataConfigurationProperty, Dict[str, Any]]], None]) – 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.

  • server_side_encryption_configuration (Union[IResolvable, ServerSideEncryptionConfigurationProperty, Dict[str, Any], None]) – 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 (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – An array of key-value pairs to apply to this resource. For more information, see Tag .

  • user_context_policy (Optional[str]) – 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.

  • user_token_configurations (Union[IResolvable, Sequence[Union[IResolvable, UserTokenConfigurationProperty, Dict[str, Any]]], None]) – Defines the type of user token used for the index.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_kendra as kendra

cfn_index_props = kendra.CfnIndexProps(
    edition="edition",
    name="name",
    role_arn="roleArn",

    # the properties below are optional
    capacity_units=kendra.CfnIndex.CapacityUnitsConfigurationProperty(
        query_capacity_units=123,
        storage_capacity_units=123
    ),
    description="description",
    document_metadata_configurations=[kendra.CfnIndex.DocumentMetadataConfigurationProperty(
        name="name",
        type="type",

        # the properties below are optional
        relevance=kendra.CfnIndex.RelevanceProperty(
            duration="duration",
            freshness=False,
            importance=123,
            rank_order="rankOrder",
            value_importance_items=[kendra.CfnIndex.ValueImportanceItemProperty(
                key="key",
                value=123
            )]
        ),
        search=kendra.CfnIndex.SearchProperty(
            displayable=False,
            facetable=False,
            searchable=False,
            sortable=False
        )
    )],
    server_side_encryption_configuration=kendra.CfnIndex.ServerSideEncryptionConfigurationProperty(
        kms_key_id="kmsKeyId"
    ),
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    user_context_policy="userContextPolicy",
    user_token_configurations=[kendra.CfnIndex.UserTokenConfigurationProperty(
        json_token_type_configuration=kendra.CfnIndex.JsonTokenTypeConfigurationProperty(
            group_attribute_field="groupAttributeField",
            user_name_attribute_field="userNameAttributeField"
        ),
        jwt_token_type_configuration=kendra.CfnIndex.JwtTokenTypeConfigurationProperty(
            key_location="keyLocation",

            # the properties below are optional
            claim_regex="claimRegex",
            group_attribute_field="groupAttributeField",
            issuer="issuer",
            secret_manager_arn="secretManagerArn",
            url="url",
            user_name_attribute_field="userNameAttributeField"
        )
    )]
)

Attributes

capacity_units

AWS::Kendra::Index.CapacityUnits.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-capacityunits

description

A description for the index.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-description

document_metadata_configurations

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-documentmetadataconfigurations

edition

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

Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-edition

name

The name of the index.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-name

role_arn

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-rolearn

server_side_encryption_configuration

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-serversideencryptionconfiguration

tags

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

For more information, see Tag .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-tags

user_context_policy

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-usercontextpolicy

user_token_configurations

Defines the type of user token used for the index.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html#cfn-kendra-index-usertokenconfigurations