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

@Generated(value="jsii-pacmak/1.121.0 (build d7af9b9)", date="2025-12-18T18:20:17.276Z") @Stability(Stable) public class CfnIndex extends CfnResource implements IInspectable, IIndexRef
The AWS::S3Vectors::Index resource defines a vector index within an Amazon S3 vector bucket.

For more information, see Creating a vector index in a vector bucket in the Amazon Simple Storage Service User Guide .

You must specify either VectorBucketName or VectorBucketArn to identify the bucket that contains the index.

To control how AWS CloudFormation handles the vector index when the stack is deleted, you can set a deletion policy for your index. You can choose to retain the index or to delete the index. For more information, see DeletionPolicy attribute .

  • Permissions - The required permissions for CloudFormation to use are based on the operations that are performed on the stack.
  • Create
  • s3vectors:CreateIndex
  • s3vectors:GetIndex
  • Read
  • s3vectors:GetIndex
  • Delete
  • s3vectors:DeleteIndex
  • s3vectors:GetIndex
  • List
  • s3vectors:ListIndexes

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.s3vectors.*;
 CfnIndex cfnIndex = CfnIndex.Builder.create(this, "MyCfnIndex")
         .dataType("dataType")
         .dimension(123)
         .distanceMetric("distanceMetric")
         // the properties below are optional
         .encryptionConfiguration(EncryptionConfigurationProperty.builder()
                 .kmsKeyArn("kmsKeyArn")
                 .sseType("sseType")
                 .build())
         .indexName("indexName")
         .metadataConfiguration(MetadataConfigurationProperty.builder()
                 .nonFilterableMetadataKeys(List.of("nonFilterableMetadataKeys"))
                 .build())
         .vectorBucketArn("vectorBucketArn")
         .vectorBucketName("vectorBucketName")
         .build();
 

See Also:
  • 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 software.constructs.Construct scope, @NotNull String id, @NotNull CfnIndexProps props)
      Create a new AWS::S3Vectors::Index.

      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • arnForIndex

      @Stability(Stable) @NotNull public static String arnForIndex(@NotNull IIndexRef resource)
      Parameters:
      resource - This parameter is required.
    • isCfnIndex

      @Stability(Stable) @NotNull public static Boolean isCfnIndex(@NotNull Object x)
      Checks whether the given object is a CfnIndex.

      Parameters:
      x - This parameter is required.
    • 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.
    • getAttrCreationTime

      @Stability(Stable) @NotNull public String getAttrCreationTime()
      Returns the date and time when the vector index was created.

      Example: 2024-12-21T10:30:00Z

    • getAttrIndexArn

      @Stability(Stable) @NotNull public String getAttrIndexArn()
      Returns the Amazon Resource Name (ARN) of the specified index.

      Example: arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket/index/my-index

    • getCfnProperties

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

      @Stability(Stable) @NotNull public IndexReference getIndexRef()
      A reference to a Index resource.
      Specified by:
      getIndexRef in interface IIndexRef
    • getDataType

      @Stability(Stable) @NotNull public String getDataType()
      The data type of the vectors to be inserted into the vector index.
    • setDataType

      @Stability(Stable) public void setDataType(@NotNull String value)
      The data type of the vectors to be inserted into the vector index.
    • getDimension

      @Stability(Stable) @NotNull public Number getDimension()
      The dimensions of the vectors to be inserted into the vector index.
    • setDimension

      @Stability(Stable) public void setDimension(@NotNull Number value)
      The dimensions of the vectors to be inserted into the vector index.
    • getDistanceMetric

      @Stability(Stable) @NotNull public String getDistanceMetric()
      The distance metric to be used for similarity search.

      Valid values are:.

    • setDistanceMetric

      @Stability(Stable) public void setDistanceMetric(@NotNull String value)
      The distance metric to be used for similarity search.

      Valid values are:.

    • getEncryptionConfiguration

      @Stability(Stable) @Nullable public Object getEncryptionConfiguration()
      The encryption configuration for a vector index.

      Returns union: either IResolvable or CfnIndex.EncryptionConfigurationProperty

    • setEncryptionConfiguration

      @Stability(Stable) public void setEncryptionConfiguration(@Nullable IResolvable value)
      The encryption configuration for a vector index.
    • setEncryptionConfiguration

      @Stability(Stable) public void setEncryptionConfiguration(@Nullable CfnIndex.EncryptionConfigurationProperty value)
      The encryption configuration for a vector index.
    • getIndexName

      @Stability(Stable) @Nullable public String getIndexName()
      The name of the vector index to create.
    • setIndexName

      @Stability(Stable) public void setIndexName(@Nullable String value)
      The name of the vector index to create.
    • getMetadataConfiguration

      @Stability(Stable) @Nullable public Object getMetadataConfiguration()
      The metadata configuration for the vector index.

      Returns union: either IResolvable or CfnIndex.MetadataConfigurationProperty

    • setMetadataConfiguration

      @Stability(Stable) public void setMetadataConfiguration(@Nullable IResolvable value)
      The metadata configuration for the vector index.
    • setMetadataConfiguration

      @Stability(Stable) public void setMetadataConfiguration(@Nullable CfnIndex.MetadataConfigurationProperty value)
      The metadata configuration for the vector index.
    • getVectorBucketArn

      @Stability(Stable) @Nullable public String getVectorBucketArn()
      The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
    • setVectorBucketArn

      @Stability(Stable) public void setVectorBucketArn(@Nullable String value)
      The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
    • getVectorBucketName

      @Stability(Stable) @Nullable public String getVectorBucketName()
      The name of the vector bucket that contains the vector index.
    • setVectorBucketName

      @Stability(Stable) public void setVectorBucketName(@Nullable String value)
      The name of the vector bucket that contains the vector index.