Interface CfnIndexProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnIndexProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:58.186Z") @Stability(Stable) public interface CfnIndexProps extends software.amazon.jsii.JsiiSerializable
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 software.amazon.awscdk.services.kendra.*;
 CfnIndexProps cfnIndexProps = CfnIndexProps.builder()
         .edition("edition")
         .name("name")
         .roleArn("roleArn")
         // the properties below are optional
         .capacityUnits(CapacityUnitsConfigurationProperty.builder()
                 .queryCapacityUnits(123)
                 .storageCapacityUnits(123)
                 .build())
         .description("description")
         .documentMetadataConfigurations(List.of(DocumentMetadataConfigurationProperty.builder()
                 .name("name")
                 .type("type")
                 // the properties below are optional
                 .relevance(RelevanceProperty.builder()
                         .duration("duration")
                         .freshness(false)
                         .importance(123)
                         .rankOrder("rankOrder")
                         .valueImportanceItems(List.of(ValueImportanceItemProperty.builder()
                                 .key("key")
                                 .value(123)
                                 .build()))
                         .build())
                 .search(SearchProperty.builder()
                         .displayable(false)
                         .facetable(false)
                         .searchable(false)
                         .sortable(false)
                         .build())
                 .build()))
         .serverSideEncryptionConfiguration(ServerSideEncryptionConfigurationProperty.builder()
                 .kmsKeyId("kmsKeyId")
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .userContextPolicy("userContextPolicy")
         .userTokenConfigurations(List.of(UserTokenConfigurationProperty.builder()
                 .jsonTokenTypeConfiguration(JsonTokenTypeConfigurationProperty.builder()
                         .groupAttributeField("groupAttributeField")
                         .userNameAttributeField("userNameAttributeField")
                         .build())
                 .jwtTokenTypeConfiguration(JwtTokenTypeConfigurationProperty.builder()
                         .keyLocation("keyLocation")
                         // the properties below are optional
                         .claimRegex("claimRegex")
                         .groupAttributeField("groupAttributeField")
                         .issuer("issuer")
                         .secretManagerArn("secretManagerArn")
                         .url("url")
                         .userNameAttributeField("userNameAttributeField")
                         .build())
                 .build()))
         .build();
 
  • Method Details

    • getEdition

      @Stability(Stable) @NotNull String getEdition()
      Indicates whether the index is a Enterprise Edition index or a Developer Edition index.

      Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .

    • getName

      @Stability(Stable) @NotNull String getName()
      The name of the index.
    • getRoleArn

      @Stability(Stable) @NotNull String getRoleArn()
      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.

    • getCapacityUnits

      @Stability(Stable) @Nullable default Object getCapacityUnits()
      AWS::Kendra::Index.CapacityUnits.
    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      A description for the index.
    • getDocumentMetadataConfigurations

      @Stability(Stable) @Nullable default Object getDocumentMetadataConfigurations()
      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.

    • getServerSideEncryptionConfiguration

      @Stability(Stable) @Nullable default Object getServerSideEncryptionConfiguration()
      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.

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      An array of key-value pairs to apply to this resource.

      For more information, see Tag .

    • getUserContextPolicy

      @Stability(Stable) @Nullable default String getUserContextPolicy()
      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.
    • getUserTokenConfigurations

      @Stability(Stable) @Nullable default Object getUserTokenConfigurations()
      Defines the type of user token used for the index.
    • builder

      @Stability(Stable) static CfnIndexProps.Builder builder()
      Returns:
      a CfnIndexProps.Builder of CfnIndexProps