aws-sdk-s3vectors 1.22.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13b39a32d7ebfe9a3e2860dea9a840a0023a1164bafbc7b77cc0cff240ac160f
4
- data.tar.gz: fb95bd76efeaee6893c88d15b0340a859435f59d9e59856b5e7842d086b9c9a0
3
+ metadata.gz: eae5217a0d66494b45d8984deb60e783f92f61cd51ebdcd2caa01ccf92bf5a8e
4
+ data.tar.gz: 3eda33593fb8979fdf4e04802996716bfd9d6227a574bba1c91e409ef775ff67
5
5
  SHA512:
6
- metadata.gz: 1c3f48c5a00d7dbd439ad85981dc533572def27f5b64e7d898e128bf27fd5c84819078ba6b9e32e489714cad838eb1e6f86ea2a6a3ead1ec949306e1a89259b8
7
- data.tar.gz: 4f641b96dc0a41954b8c205351bbdf792e78e6fde75ad6e88931efc104094c78ab3d7b19c53d5f3ff38ab039b30a9b8edd242d01626a4ae869868b9b1c597bd2
6
+ metadata.gz: fccd48dafdae5b151c25be17a2a56905c4052a24645462729b07996df95175c54391d306e0cfe4d80db5e616b22c7301fcbd5eb776d7f1ee7b391e6ced8e8928
7
+ data.tar.gz: 774c5d2b8a62699500275c6628536756e3854a22cc6ceda7bb775fb9afbc242bd08256097b77097658c91a997f9d101a0e35f160018284c1cd43ad74c07ed408
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.23.0 (2026-09-30)
5
+ ------------------
6
+
7
+ * Feature - Amazon S3 Vectors now supports metadata prefiltering, providing higher recall on filtered queries.
8
+
4
9
  1.22.0 (2026-09-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.22.0
1
+ 1.23.0
@@ -825,6 +825,7 @@ module Aws::S3Vectors
825
825
  # resp.index.metadata_configuration.non_filterable_metadata_keys[0] #=> String
826
826
  # resp.index.encryption_configuration.sse_type #=> String, one of "AES256", "aws:kms"
827
827
  # resp.index.encryption_configuration.kms_key_arn #=> String
828
+ # resp.index.index_mode #=> String, one of "CLASSIC", "ENHANCED"
828
829
  #
829
830
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/GetIndex AWS API Documentation
830
831
  #
@@ -868,6 +869,7 @@ module Aws::S3Vectors
868
869
  # resp.vector_bucket.creation_time #=> Time
869
870
  # resp.vector_bucket.encryption_configuration.sse_type #=> String, one of "AES256", "aws:kms"
870
871
  # resp.vector_bucket.encryption_configuration.kms_key_arn #=> String
872
+ # resp.vector_bucket.default_index_mode #=> String, one of "CLASSIC", "ENHANCED"
871
873
  #
872
874
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/GetVectorBucket AWS API Documentation
873
875
  #
@@ -1259,6 +1261,46 @@ module Aws::S3Vectors
1259
1261
  req.send_request(options)
1260
1262
  end
1261
1263
 
1264
+ # Updates the default index mode for a vector bucket. The updated
1265
+ # default applies to vector indexes that you create after the request
1266
+ # succeeds. The operation doesn't change existing vector indexes. To
1267
+ # specify the vector bucket, you must use either the vector bucket name
1268
+ # or the vector bucket Amazon Resource Name (ARN).
1269
+ #
1270
+ # Permissions
1271
+ #
1272
+ # : You must have the `s3vectors:PutVectorBucketDefaultIndexMode`
1273
+ # permission to use this operation.
1274
+ #
1275
+ # @option params [String] :vector_bucket_name
1276
+ # The name of the vector bucket to update.
1277
+ #
1278
+ # @option params [String] :vector_bucket_arn
1279
+ # The Amazon Resource Name (ARN) of the vector bucket to update.
1280
+ #
1281
+ # @option params [required, String] :default_index_mode
1282
+ # The default mode to assign to new vector indexes in the vector bucket.
1283
+ # This change doesn't affect existing vector indexes.
1284
+ #
1285
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1286
+ #
1287
+ # @example Request syntax with placeholder values
1288
+ #
1289
+ # resp = client.put_vector_bucket_default_index_mode({
1290
+ # vector_bucket_name: "VectorBucketName",
1291
+ # vector_bucket_arn: "VectorBucketArn",
1292
+ # default_index_mode: "CLASSIC", # required, accepts CLASSIC, ENHANCED
1293
+ # })
1294
+ #
1295
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/PutVectorBucketDefaultIndexMode AWS API Documentation
1296
+ #
1297
+ # @overload put_vector_bucket_default_index_mode(params = {})
1298
+ # @param [Hash] params ({})
1299
+ def put_vector_bucket_default_index_mode(params = {}, options = {})
1300
+ req = build_request(:put_vector_bucket_default_index_mode, params)
1301
+ req.send_request(options)
1302
+ end
1303
+
1262
1304
  # Creates a bucket policy for a vector bucket. To specify the bucket,
1263
1305
  # you must use either the vector bucket name or the vector bucket Amazon
1264
1306
  # Resource Name (ARN).
@@ -1436,6 +1478,18 @@ module Aws::S3Vectors
1436
1478
  #
1437
1479
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-metadata-filtering.html
1438
1480
  #
1481
+ # @option params [String] :query_mode
1482
+ # The mode to use to process the query. If you don't specify a query
1483
+ # mode, the operation uses the mode that's currently configured for the
1484
+ # vector index.
1485
+ #
1486
+ # Valid values:
1487
+ #
1488
+ # * `CLASSIC` - Applies metadata filters during the vector search. You
1489
+ # can't specify `CLASSIC` for an `ENHANCED` index.
1490
+ #
1491
+ # * `ENHANCED` - Applies metadata filters before the vector search.
1492
+ #
1439
1493
  # @option params [Boolean] :return_metadata
1440
1494
  # Indicates whether to include metadata in the response. The default
1441
1495
  # value is `false`.
@@ -1468,6 +1522,7 @@ module Aws::S3Vectors
1468
1522
  # },
1469
1523
  # filter: {
1470
1524
  # },
1525
+ # query_mode: "CLASSIC", # accepts CLASSIC, ENHANCED
1471
1526
  # return_metadata: false,
1472
1527
  # return_distance: false,
1473
1528
  # next_token: "QueryVectorsNextToken",
@@ -1592,6 +1647,59 @@ module Aws::S3Vectors
1592
1647
  req.send_request(options)
1593
1648
  end
1594
1649
 
1650
+ # Updates the mode for an existing vector index. You can set the mode to
1651
+ # `ENHANCED` for any vector index. You can set the mode to `CLASSIC`
1652
+ # only for a vector index in a vector bucket created before September
1653
+ # 30, 2026. This operation doesn't change the default index mode of the
1654
+ # vector bucket or the mode of other vector indexes. Specify the vector
1655
+ # index by using its Amazon Resource Name (ARN) or both the vector
1656
+ # bucket name and vector index name.
1657
+ #
1658
+ # Permissions
1659
+ #
1660
+ # : You must have the `s3vectors:UpdateIndexMode` permission to use this
1661
+ # operation.
1662
+ #
1663
+ # @option params [String] :vector_bucket_name
1664
+ # The name of the vector bucket that contains the vector index.
1665
+ #
1666
+ # @option params [String] :index_name
1667
+ # The name of the vector index to update.
1668
+ #
1669
+ # @option params [String] :index_arn
1670
+ # The Amazon Resource Name (ARN) of the vector index to update.
1671
+ #
1672
+ # @option params [required, String] :index_mode
1673
+ # The new mode for the vector index.
1674
+ #
1675
+ # Valid values:
1676
+ #
1677
+ # * `CLASSIC` - Applies metadata filters during the vector search. You
1678
+ # can specify `CLASSIC` only for a vector index in a vector bucket
1679
+ # created before September 30, 2026.
1680
+ #
1681
+ # * `ENHANCED` - Applies metadata filters before the vector search.
1682
+ #
1683
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1684
+ #
1685
+ # @example Request syntax with placeholder values
1686
+ #
1687
+ # resp = client.update_index_mode({
1688
+ # vector_bucket_name: "VectorBucketName",
1689
+ # index_name: "IndexName",
1690
+ # index_arn: "IndexArn",
1691
+ # index_mode: "CLASSIC", # required, accepts CLASSIC, ENHANCED
1692
+ # })
1693
+ #
1694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/UpdateIndexMode AWS API Documentation
1695
+ #
1696
+ # @overload update_index_mode(params = {})
1697
+ # @param [Hash] params ({})
1698
+ def update_index_mode(params = {}, options = {})
1699
+ req = build_request(:update_index_mode, params)
1700
+ req.send_request(options)
1701
+ end
1702
+
1595
1703
  # @!endgroup
1596
1704
 
1597
1705
  # @param params ({})
@@ -1610,7 +1718,7 @@ module Aws::S3Vectors
1610
1718
  tracer: tracer
1611
1719
  )
1612
1720
  context[:gem_name] = 'aws-sdk-s3vectors'
1613
- context[:gem_version] = '1.22.0'
1721
+ context[:gem_version] = '1.23.0'
1614
1722
  Seahorse::Client::Request.new(handlers, context)
1615
1723
  end
1616
1724
 
@@ -51,6 +51,7 @@ module Aws::S3Vectors
51
51
  GetVectorsOutputList = Shapes::ListShape.new(name: 'GetVectorsOutputList')
52
52
  Index = Shapes::StructureShape.new(name: 'Index')
53
53
  IndexArn = Shapes::StringShape.new(name: 'IndexArn')
54
+ IndexMode = Shapes::StringShape.new(name: 'IndexMode')
54
55
  IndexName = Shapes::StringShape.new(name: 'IndexName')
55
56
  IndexSummary = Shapes::StructureShape.new(name: 'IndexSummary')
56
57
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
@@ -86,6 +87,8 @@ module Aws::S3Vectors
86
87
  NonFilterableMetadataKeys = Shapes::ListShape.new(name: 'NonFilterableMetadataKeys')
87
88
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
88
89
  PutInputVector = Shapes::StructureShape.new(name: 'PutInputVector')
90
+ PutVectorBucketDefaultIndexModeInput = Shapes::StructureShape.new(name: 'PutVectorBucketDefaultIndexModeInput')
91
+ PutVectorBucketDefaultIndexModeOutput = Shapes::StructureShape.new(name: 'PutVectorBucketDefaultIndexModeOutput')
89
92
  PutVectorBucketPolicyInput = Shapes::StructureShape.new(name: 'PutVectorBucketPolicyInput')
90
93
  PutVectorBucketPolicyOutput = Shapes::StructureShape.new(name: 'PutVectorBucketPolicyOutput')
91
94
  PutVectorsInput = Shapes::StructureShape.new(name: 'PutVectorsInput')
@@ -113,6 +116,8 @@ module Aws::S3Vectors
113
116
  TopK = Shapes::IntegerShape.new(name: 'TopK')
114
117
  UntagResourceInput = Shapes::StructureShape.new(name: 'UntagResourceInput')
115
118
  UntagResourceOutput = Shapes::StructureShape.new(name: 'UntagResourceOutput')
119
+ UpdateIndexModeInput = Shapes::StructureShape.new(name: 'UpdateIndexModeInput')
120
+ UpdateIndexModeOutput = Shapes::StructureShape.new(name: 'UpdateIndexModeOutput')
116
121
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
117
122
  ValidationExceptionField = Shapes::StructureShape.new(name: 'ValidationExceptionField')
118
123
  ValidationExceptionFieldList = Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
@@ -239,6 +244,7 @@ module Aws::S3Vectors
239
244
  Index.add_member(:distance_metric, Shapes::ShapeRef.new(shape: DistanceMetric, required: true, location_name: "distanceMetric"))
240
245
  Index.add_member(:metadata_configuration, Shapes::ShapeRef.new(shape: MetadataConfiguration, location_name: "metadataConfiguration"))
241
246
  Index.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "encryptionConfiguration"))
247
+ Index.add_member(:index_mode, Shapes::ShapeRef.new(shape: IndexMode, location_name: "indexMode"))
242
248
  Index.struct_class = Types::Index
243
249
 
244
250
  IndexSummary.add_member(:vector_bucket_name, Shapes::ShapeRef.new(shape: VectorBucketName, required: true, location_name: "vectorBucketName"))
@@ -327,6 +333,13 @@ module Aws::S3Vectors
327
333
  PutInputVector.add_member(:metadata, Shapes::ShapeRef.new(shape: VectorMetadata, location_name: "metadata"))
328
334
  PutInputVector.struct_class = Types::PutInputVector
329
335
 
336
+ PutVectorBucketDefaultIndexModeInput.add_member(:vector_bucket_name, Shapes::ShapeRef.new(shape: VectorBucketName, location_name: "vectorBucketName"))
337
+ PutVectorBucketDefaultIndexModeInput.add_member(:vector_bucket_arn, Shapes::ShapeRef.new(shape: VectorBucketArn, location_name: "vectorBucketArn"))
338
+ PutVectorBucketDefaultIndexModeInput.add_member(:default_index_mode, Shapes::ShapeRef.new(shape: IndexMode, required: true, location_name: "defaultIndexMode"))
339
+ PutVectorBucketDefaultIndexModeInput.struct_class = Types::PutVectorBucketDefaultIndexModeInput
340
+
341
+ PutVectorBucketDefaultIndexModeOutput.struct_class = Types::PutVectorBucketDefaultIndexModeOutput
342
+
330
343
  PutVectorBucketPolicyInput.add_member(:vector_bucket_name, Shapes::ShapeRef.new(shape: VectorBucketName, location_name: "vectorBucketName"))
331
344
  PutVectorBucketPolicyInput.add_member(:vector_bucket_arn, Shapes::ShapeRef.new(shape: VectorBucketArn, location_name: "vectorBucketArn"))
332
345
  PutVectorBucketPolicyInput.add_member(:policy, Shapes::ShapeRef.new(shape: VectorBucketPolicy, required: true, location_name: "policy"))
@@ -355,6 +368,7 @@ module Aws::S3Vectors
355
368
  QueryVectorsInput.add_member(:top_k, Shapes::ShapeRef.new(shape: TopK, required: true, location_name: "topK"))
356
369
  QueryVectorsInput.add_member(:query_vector, Shapes::ShapeRef.new(shape: VectorData, required: true, location_name: "queryVector"))
357
370
  QueryVectorsInput.add_member(:filter, Shapes::ShapeRef.new(shape: Document, location_name: "filter"))
371
+ QueryVectorsInput.add_member(:query_mode, Shapes::ShapeRef.new(shape: IndexMode, location_name: "queryMode"))
358
372
  QueryVectorsInput.add_member(:return_metadata, Shapes::ShapeRef.new(shape: Boolean, location_name: "returnMetadata"))
359
373
  QueryVectorsInput.add_member(:return_distance, Shapes::ShapeRef.new(shape: Boolean, location_name: "returnDistance"))
360
374
  QueryVectorsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: QueryVectorsNextToken, location_name: "nextToken"))
@@ -396,6 +410,14 @@ module Aws::S3Vectors
396
410
 
397
411
  UntagResourceOutput.struct_class = Types::UntagResourceOutput
398
412
 
413
+ UpdateIndexModeInput.add_member(:vector_bucket_name, Shapes::ShapeRef.new(shape: VectorBucketName, location_name: "vectorBucketName"))
414
+ UpdateIndexModeInput.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, location_name: "indexName"))
415
+ UpdateIndexModeInput.add_member(:index_arn, Shapes::ShapeRef.new(shape: IndexArn, location_name: "indexArn"))
416
+ UpdateIndexModeInput.add_member(:index_mode, Shapes::ShapeRef.new(shape: IndexMode, required: true, location_name: "indexMode"))
417
+ UpdateIndexModeInput.struct_class = Types::UpdateIndexModeInput
418
+
419
+ UpdateIndexModeOutput.struct_class = Types::UpdateIndexModeOutput
420
+
399
421
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
400
422
  ValidationException.add_member(:field_list, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "fieldList"))
401
423
  ValidationException.struct_class = Types::ValidationException
@@ -410,6 +432,7 @@ module Aws::S3Vectors
410
432
  VectorBucket.add_member(:vector_bucket_arn, Shapes::ShapeRef.new(shape: VectorBucketArn, required: true, location_name: "vectorBucketArn"))
411
433
  VectorBucket.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "creationTime"))
412
434
  VectorBucket.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "encryptionConfiguration"))
435
+ VectorBucket.add_member(:default_index_mode, Shapes::ShapeRef.new(shape: IndexMode, location_name: "defaultIndexMode"))
413
436
  VectorBucket.struct_class = Types::VectorBucket
414
437
 
415
438
  VectorBucketSummary.add_member(:vector_bucket_name, Shapes::ShapeRef.new(shape: VectorBucketName, required: true, location_name: "vectorBucketName"))
@@ -681,6 +704,21 @@ module Aws::S3Vectors
681
704
  )
682
705
  end)
683
706
 
707
+ api.add_operation(:put_vector_bucket_default_index_mode, Seahorse::Model::Operation.new.tap do |o|
708
+ o.name = "PutVectorBucketDefaultIndexMode"
709
+ o.http_method = "POST"
710
+ o.http_request_uri = "/PutVectorBucketDefaultIndexMode"
711
+ o.input = Shapes::ShapeRef.new(shape: PutVectorBucketDefaultIndexModeInput)
712
+ o.output = Shapes::ShapeRef.new(shape: PutVectorBucketDefaultIndexModeOutput)
713
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
714
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
715
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
716
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
717
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
718
+ o.errors << Shapes::ShapeRef.new(shape: RequestTimeoutException)
719
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
720
+ end)
721
+
684
722
  api.add_operation(:put_vector_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
685
723
  o.name = "PutVectorBucketPolicy"
686
724
  o.http_method = "POST"
@@ -771,6 +809,21 @@ module Aws::S3Vectors
771
809
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
772
810
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
773
811
  end)
812
+
813
+ api.add_operation(:update_index_mode, Seahorse::Model::Operation.new.tap do |o|
814
+ o.name = "UpdateIndexMode"
815
+ o.http_method = "POST"
816
+ o.http_request_uri = "/UpdateIndexMode"
817
+ o.input = Shapes::ShapeRef.new(shape: UpdateIndexModeInput)
818
+ o.output = Shapes::ShapeRef.new(shape: UpdateIndexModeOutput)
819
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
820
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
821
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
822
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
823
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
824
+ o.errors << Shapes::ShapeRef.new(shape: RequestTimeoutException)
825
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
826
+ end)
774
827
  end
775
828
 
776
829
  end
@@ -518,6 +518,16 @@ module Aws::S3Vectors
518
518
  # encryption configuration of the vector bucket.
519
519
  # @return [Types::EncryptionConfiguration]
520
520
  #
521
+ # @!attribute [rw] index_mode
522
+ # The mode that determines how the vector index processes queries.
523
+ #
524
+ # Valid values:
525
+ #
526
+ # * `CLASSIC` - Applies metadata filters during the vector search.
527
+ #
528
+ # * `ENHANCED` - Applies metadata filters before the vector search.
529
+ # @return [String]
530
+ #
521
531
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/Index AWS API Documentation
522
532
  #
523
533
  class Index < Struct.new(
@@ -529,7 +539,8 @@ module Aws::S3Vectors
529
539
  :dimension,
530
540
  :distance_metric,
531
541
  :metadata_configuration,
532
- :encryption_configuration)
542
+ :encryption_configuration,
543
+ :index_mode)
533
544
  SENSITIVE = []
534
545
  include Aws::Structure
535
546
  end
@@ -977,6 +988,33 @@ module Aws::S3Vectors
977
988
  include Aws::Structure
978
989
  end
979
990
 
991
+ # @!attribute [rw] vector_bucket_name
992
+ # The name of the vector bucket to update.
993
+ # @return [String]
994
+ #
995
+ # @!attribute [rw] vector_bucket_arn
996
+ # The Amazon Resource Name (ARN) of the vector bucket to update.
997
+ # @return [String]
998
+ #
999
+ # @!attribute [rw] default_index_mode
1000
+ # The default mode to assign to new vector indexes in the vector
1001
+ # bucket. This change doesn't affect existing vector indexes.
1002
+ # @return [String]
1003
+ #
1004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/PutVectorBucketDefaultIndexModeInput AWS API Documentation
1005
+ #
1006
+ class PutVectorBucketDefaultIndexModeInput < Struct.new(
1007
+ :vector_bucket_name,
1008
+ :vector_bucket_arn,
1009
+ :default_index_mode)
1010
+ SENSITIVE = []
1011
+ include Aws::Structure
1012
+ end
1013
+
1014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/PutVectorBucketDefaultIndexModeOutput AWS API Documentation
1015
+ #
1016
+ class PutVectorBucketDefaultIndexModeOutput < Aws::EmptyStructure; end
1017
+
980
1018
  # @!attribute [rw] vector_bucket_name
981
1019
  # The name of the vector bucket.
982
1020
  # @return [String]
@@ -1102,6 +1140,19 @@ module Aws::S3Vectors
1102
1140
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-metadata-filtering.html
1103
1141
  # @return [Hash,Array,String,Numeric,Boolean]
1104
1142
  #
1143
+ # @!attribute [rw] query_mode
1144
+ # The mode to use to process the query. If you don't specify a query
1145
+ # mode, the operation uses the mode that's currently configured for
1146
+ # the vector index.
1147
+ #
1148
+ # Valid values:
1149
+ #
1150
+ # * `CLASSIC` - Applies metadata filters during the vector search. You
1151
+ # can't specify `CLASSIC` for an `ENHANCED` index.
1152
+ #
1153
+ # * `ENHANCED` - Applies metadata filters before the vector search.
1154
+ # @return [String]
1155
+ #
1105
1156
  # @!attribute [rw] return_metadata
1106
1157
  # Indicates whether to include metadata in the response. The default
1107
1158
  # value is `false`.
@@ -1126,6 +1177,7 @@ module Aws::S3Vectors
1126
1177
  :top_k,
1127
1178
  :query_vector,
1128
1179
  :filter,
1180
+ :query_mode,
1129
1181
  :return_metadata,
1130
1182
  :return_distance,
1131
1183
  :next_token)
@@ -1269,6 +1321,45 @@ module Aws::S3Vectors
1269
1321
  #
1270
1322
  class UntagResourceOutput < Aws::EmptyStructure; end
1271
1323
 
1324
+ # @!attribute [rw] vector_bucket_name
1325
+ # The name of the vector bucket that contains the vector index.
1326
+ # @return [String]
1327
+ #
1328
+ # @!attribute [rw] index_name
1329
+ # The name of the vector index to update.
1330
+ # @return [String]
1331
+ #
1332
+ # @!attribute [rw] index_arn
1333
+ # The Amazon Resource Name (ARN) of the vector index to update.
1334
+ # @return [String]
1335
+ #
1336
+ # @!attribute [rw] index_mode
1337
+ # The new mode for the vector index.
1338
+ #
1339
+ # Valid values:
1340
+ #
1341
+ # * `CLASSIC` - Applies metadata filters during the vector search. You
1342
+ # can specify `CLASSIC` only for a vector index in a vector bucket
1343
+ # created before September 30, 2026.
1344
+ #
1345
+ # * `ENHANCED` - Applies metadata filters before the vector search.
1346
+ # @return [String]
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/UpdateIndexModeInput AWS API Documentation
1349
+ #
1350
+ class UpdateIndexModeInput < Struct.new(
1351
+ :vector_bucket_name,
1352
+ :index_name,
1353
+ :index_arn,
1354
+ :index_mode)
1355
+ SENSITIVE = []
1356
+ include Aws::Structure
1357
+ end
1358
+
1359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/UpdateIndexModeOutput AWS API Documentation
1360
+ #
1361
+ class UpdateIndexModeOutput < Aws::EmptyStructure; end
1362
+
1272
1363
  # The requested action isn't valid.
1273
1364
  #
1274
1365
  # @!attribute [rw] message
@@ -1330,13 +1421,20 @@ module Aws::S3Vectors
1330
1421
  # The encryption configuration for the vector bucket.
1331
1422
  # @return [Types::EncryptionConfiguration]
1332
1423
  #
1424
+ # @!attribute [rw] default_index_mode
1425
+ # The mode that is automatically assigned to new vector indexes in the
1426
+ # vector bucket. Changing the default index mode doesn't affect
1427
+ # existing vector indexes.
1428
+ # @return [String]
1429
+ #
1333
1430
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3vectors-2025-07-15/VectorBucket AWS API Documentation
1334
1431
  #
1335
1432
  class VectorBucket < Struct.new(
1336
1433
  :vector_bucket_name,
1337
1434
  :vector_bucket_arn,
1338
1435
  :creation_time,
1339
- :encryption_configuration)
1436
+ :encryption_configuration,
1437
+ :default_index_mode)
1340
1438
  SENSITIVE = []
1341
1439
  include Aws::Structure
1342
1440
  end
@@ -55,7 +55,7 @@ module Aws::S3Vectors
55
55
  autoload :EndpointProvider, 'aws-sdk-s3vectors/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-s3vectors/endpoints'
57
57
 
58
- GEM_VERSION = '1.22.0'
58
+ GEM_VERSION = '1.23.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -265,6 +265,17 @@ module Aws
265
265
  ) -> _ListVectorsResponseSuccess
266
266
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListVectorsResponseSuccess
267
267
 
268
+ interface _PutVectorBucketDefaultIndexModeResponseSuccess
269
+ include ::Seahorse::Client::_ResponseSuccess[Types::PutVectorBucketDefaultIndexModeOutput]
270
+ end
271
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Vectors/Client.html#put_vector_bucket_default_index_mode-instance_method
272
+ def put_vector_bucket_default_index_mode: (
273
+ ?vector_bucket_name: ::String,
274
+ ?vector_bucket_arn: ::String,
275
+ default_index_mode: ("CLASSIC" | "ENHANCED")
276
+ ) -> _PutVectorBucketDefaultIndexModeResponseSuccess
277
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutVectorBucketDefaultIndexModeResponseSuccess
278
+
268
279
  interface _PutVectorBucketPolicyResponseSuccess
269
280
  include ::Seahorse::Client::_ResponseSuccess[Types::PutVectorBucketPolicyOutput]
270
281
  end
@@ -314,6 +325,7 @@ module Aws
314
325
  },
315
326
  ?filter: {
316
327
  },
328
+ ?query_mode: ("CLASSIC" | "ENHANCED"),
317
329
  ?return_metadata: bool,
318
330
  ?return_distance: bool,
319
331
  ?next_token: ::String
@@ -339,6 +351,18 @@ module Aws
339
351
  tag_keys: Array[::String]
340
352
  ) -> _UntagResourceResponseSuccess
341
353
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess
354
+
355
+ interface _UpdateIndexModeResponseSuccess
356
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateIndexModeOutput]
357
+ end
358
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3Vectors/Client.html#update_index_mode-instance_method
359
+ def update_index_mode: (
360
+ ?vector_bucket_name: ::String,
361
+ ?index_name: ::String,
362
+ ?index_arn: ::String,
363
+ index_mode: ("CLASSIC" | "ENHANCED")
364
+ ) -> _UpdateIndexModeResponseSuccess
365
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateIndexModeResponseSuccess
342
366
  end
343
367
  end
344
368
  end
data/sig/types.rbs CHANGED
@@ -159,6 +159,7 @@ module Aws::S3Vectors
159
159
  attr_accessor distance_metric: ("euclidean" | "cosine")
160
160
  attr_accessor metadata_configuration: Types::MetadataConfiguration
161
161
  attr_accessor encryption_configuration: Types::EncryptionConfiguration
162
+ attr_accessor index_mode: ("CLASSIC" | "ENHANCED")
162
163
  SENSITIVE: []
163
164
  end
164
165
 
@@ -276,6 +277,16 @@ module Aws::S3Vectors
276
277
  SENSITIVE: []
277
278
  end
278
279
 
280
+ class PutVectorBucketDefaultIndexModeInput
281
+ attr_accessor vector_bucket_name: ::String
282
+ attr_accessor vector_bucket_arn: ::String
283
+ attr_accessor default_index_mode: ("CLASSIC" | "ENHANCED")
284
+ SENSITIVE: []
285
+ end
286
+
287
+ class PutVectorBucketDefaultIndexModeOutput < Aws::EmptyStructure
288
+ end
289
+
279
290
  class PutVectorBucketPolicyInput
280
291
  attr_accessor vector_bucket_name: ::String
281
292
  attr_accessor vector_bucket_arn: ::String
@@ -311,6 +322,7 @@ module Aws::S3Vectors
311
322
  attr_accessor top_k: ::Integer
312
323
  attr_accessor query_vector: Types::VectorData
313
324
  attr_accessor filter: untyped
325
+ attr_accessor query_mode: ("CLASSIC" | "ENHANCED")
314
326
  attr_accessor return_metadata: bool
315
327
  attr_accessor return_distance: bool
316
328
  attr_accessor next_token: ::String
@@ -362,6 +374,17 @@ module Aws::S3Vectors
362
374
  class UntagResourceOutput < Aws::EmptyStructure
363
375
  end
364
376
 
377
+ class UpdateIndexModeInput
378
+ attr_accessor vector_bucket_name: ::String
379
+ attr_accessor index_name: ::String
380
+ attr_accessor index_arn: ::String
381
+ attr_accessor index_mode: ("CLASSIC" | "ENHANCED")
382
+ SENSITIVE: []
383
+ end
384
+
385
+ class UpdateIndexModeOutput < Aws::EmptyStructure
386
+ end
387
+
365
388
  class ValidationException
366
389
  attr_accessor message: ::String
367
390
  attr_accessor field_list: ::Array[Types::ValidationExceptionField]
@@ -379,6 +402,7 @@ module Aws::S3Vectors
379
402
  attr_accessor vector_bucket_arn: ::String
380
403
  attr_accessor creation_time: ::Time
381
404
  attr_accessor encryption_configuration: Types::EncryptionConfiguration
405
+ attr_accessor default_index_mode: ("CLASSIC" | "ENHANCED")
382
406
  SENSITIVE: []
383
407
  end
384
408
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3vectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.0
4
+ version: 1.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services