Class CfnIndexProps.Builder

java.lang.Object
software.amazon.awscdk.services.kendra.CfnIndexProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnIndexProps>
Enclosing interface:
CfnIndexProps

@Stability(Stable) public static final class CfnIndexProps.Builder extends Object implements software.amazon.jsii.Builder<CfnIndexProps>
A builder for CfnIndexProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • edition

      @Stability(Stable) public CfnIndexProps.Builder edition(String edition)
      Sets the value of CfnIndexProps.getEdition()
      Parameters:
      edition - Indicates whether the index is a Enterprise Edition index or a Developer Edition index. This parameter is required. Valid values are DEVELOPER_EDITION and ENTERPRISE_EDITION .
      Returns:
      this
    • name

      @Stability(Stable) public CfnIndexProps.Builder name(String name)
      Sets the value of CfnIndexProps.getName()
      Parameters:
      name - The name of the index. This parameter is required.
      Returns:
      this
    • roleArn

      @Stability(Stable) public CfnIndexProps.Builder roleArn(String roleArn)
      Sets the value of CfnIndexProps.getRoleArn()
      Parameters:
      roleArn - An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This parameter is required. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.
      Returns:
      this
    • capacityUnits

      @Stability(Stable) public CfnIndexProps.Builder capacityUnits(IResolvable capacityUnits)
      Parameters:
      capacityUnits - AWS::Kendra::Index.CapacityUnits.
      Returns:
      this
    • capacityUnits

      @Stability(Stable) public CfnIndexProps.Builder capacityUnits(CfnIndex.CapacityUnitsConfigurationProperty capacityUnits)
      Parameters:
      capacityUnits - AWS::Kendra::Index.CapacityUnits.
      Returns:
      this
    • description

      @Stability(Stable) public CfnIndexProps.Builder description(String description)
      Parameters:
      description - A description for the index.
      Returns:
      this
    • documentMetadataConfigurations

      @Stability(Stable) public CfnIndexProps.Builder documentMetadataConfigurations(IResolvable documentMetadataConfigurations)
      Parameters:
      documentMetadataConfigurations - 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.
      Returns:
      this
    • documentMetadataConfigurations

      @Stability(Stable) public CfnIndexProps.Builder documentMetadataConfigurations(List<? extends Object> documentMetadataConfigurations)
      Parameters:
      documentMetadataConfigurations - 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.
      Returns:
      this
    • serverSideEncryptionConfiguration

      @Stability(Stable) public CfnIndexProps.Builder serverSideEncryptionConfiguration(IResolvable serverSideEncryptionConfiguration)
      Parameters:
      serverSideEncryptionConfiguration - 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.
      Returns:
      this
    • serverSideEncryptionConfiguration

      @Stability(Stable) public CfnIndexProps.Builder serverSideEncryptionConfiguration(CfnIndex.ServerSideEncryptionConfigurationProperty serverSideEncryptionConfiguration)
      Parameters:
      serverSideEncryptionConfiguration - 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.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnIndexProps.Builder tags(List<? extends CfnTag> tags)
      Sets the value of CfnIndexProps.getTags()
      Parameters:
      tags - An array of key-value pairs to apply to this resource. For more information, see Tag .
      Returns:
      this
    • userContextPolicy

      @Stability(Stable) public CfnIndexProps.Builder userContextPolicy(String userContextPolicy)
      Parameters:
      userContextPolicy - 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.
      Returns:
      this
    • userTokenConfigurations

      @Stability(Stable) public CfnIndexProps.Builder userTokenConfigurations(IResolvable userTokenConfigurations)
      Parameters:
      userTokenConfigurations - Defines the type of user token used for the index.
      Returns:
      this
    • userTokenConfigurations

      @Stability(Stable) public CfnIndexProps.Builder userTokenConfigurations(List<? extends Object> userTokenConfigurations)
      Parameters:
      userTokenConfigurations - Defines the type of user token used for the index.
      Returns:
      this
    • build

      @Stability(Stable) public CfnIndexProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnIndexProps>
      Returns:
      a new instance of CfnIndexProps
      Throws:
      NullPointerException - if any required attribute was not provided