Class CfnIndex

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:58.178Z") @Stability(Stable) public class CfnIndex extends CfnResource implements IInspectable
A CloudFormation AWS::Kendra::Index.

Creates an Amazon Kendra index

Once the index is active you can add documents to your index using the BatchPutDocument operation or using one of the supported data sources.

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.*;
 CfnIndex cfnIndex = CfnIndex.Builder.create(this, "MyCfnIndex")
         .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();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnIndex

      protected CfnIndex(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnIndex

      protected CfnIndex(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnIndex

      @Stability(Stable) public CfnIndex(@NotNull Construct scope, @NotNull String id, @NotNull CfnIndexProps props)
      Create a new AWS::Kendra::Index.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the index.

      For example: arn:aws:kendra:us-west-2:111122223333:index/0123456789abcdef .

    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
      The identifier for the index.

      For example: f4aeaa10-8056-4b2c-a343-522ca0f41234 .

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      An array of key-value pairs to apply to this resource.

      For more information, see Tag .

    • getEdition

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

      Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .

    • setEdition

      @Stability(Stable) public void setEdition(@NotNull String value)
      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 public String getName()
      The name of the index.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name of the index.
    • getRoleArn

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

    • setRoleArn

      @Stability(Stable) public void setRoleArn(@NotNull String value)
      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 public Object getCapacityUnits()
      AWS::Kendra::Index.CapacityUnits.
    • setCapacityUnits

      @Stability(Stable) public void setCapacityUnits(@Nullable IResolvable value)
      AWS::Kendra::Index.CapacityUnits.
    • setCapacityUnits

      @Stability(Stable) public void setCapacityUnits(@Nullable CfnIndex.CapacityUnitsConfigurationProperty value)
      AWS::Kendra::Index.CapacityUnits.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      A description for the index.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A description for the index.
    • getDocumentMetadataConfigurations

      @Stability(Stable) @Nullable public 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.

    • setDocumentMetadataConfigurations

      @Stability(Stable) public void setDocumentMetadataConfigurations(@Nullable IResolvable value)
      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.

    • setDocumentMetadataConfigurations

      @Stability(Stable) public void setDocumentMetadataConfigurations(@Nullable List<Object> value)
      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 public 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.

    • setServerSideEncryptionConfiguration

      @Stability(Stable) public void setServerSideEncryptionConfiguration(@Nullable IResolvable value)
      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.

    • setServerSideEncryptionConfiguration

      @Stability(Stable) public void setServerSideEncryptionConfiguration(@Nullable CfnIndex.ServerSideEncryptionConfigurationProperty value)
      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.

    • getUserContextPolicy

      @Stability(Stable) @Nullable public 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.
    • setUserContextPolicy

      @Stability(Stable) public void setUserContextPolicy(@Nullable String value)
      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 public Object getUserTokenConfigurations()
      Defines the type of user token used for the index.
    • setUserTokenConfigurations

      @Stability(Stable) public void setUserTokenConfigurations(@Nullable IResolvable value)
      Defines the type of user token used for the index.
    • setUserTokenConfigurations

      @Stability(Stable) public void setUserTokenConfigurations(@Nullable List<Object> value)
      Defines the type of user token used for the index.