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 areDEVELOPER_EDITION
andENTERPRISE_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 inUserContext
. 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
.
- description
A description for the index.
- 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.
- edition
Indicates whether the index is a Enterprise Edition index or a Developer Edition index.
Valid values are
DEVELOPER_EDITION
andENTERPRISE_EDITION
.
- name
The name of the index.
- 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.
- 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.
- 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 inUserContext
.
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
Defines the type of user token used for the index.