aws-sdk-dynamodb 1.170.0 → 1.172.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.
@@ -1133,6 +1133,10 @@ module Aws::DynamoDB
1133
1133
  # * `TableName` - The table that consumed the provisioned throughput.
1134
1134
  #
1135
1135
  # * `CapacityUnits` - The total number of capacity units consumed.
1136
+ #
1137
+ # If the table has vector indexes, each element also includes a
1138
+ # `VectorIndexes` field with `VectorWriteRequestBytes` consumed for
1139
+ # each affected vector index.
1136
1140
  # @return [Array<Types::ConsumedCapacity>]
1137
1141
  #
1138
1142
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItemOutput AWS API Documentation
@@ -1585,6 +1589,13 @@ module Aws::DynamoDB
1585
1589
  # the operation.
1586
1590
  # @return [Hash<String,Types::Capacity>]
1587
1591
  #
1592
+ # @!attribute [rw] vector_indexes
1593
+ # The amount of throughput consumed on each vector index affected by
1594
+ # the operation. Each entry contains `VectorWriteRequestBytes` (for
1595
+ # write operations) or `VectorSearchRequestBytes` (for search
1596
+ # operations).
1597
+ # @return [Hash<String,Types::VectorCapacity>]
1598
+ #
1588
1599
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ConsumedCapacity AWS API Documentation
1589
1600
  #
1590
1601
  class ConsumedCapacity < Struct.new(
@@ -1594,7 +1605,8 @@ module Aws::DynamoDB
1594
1605
  :write_capacity_units,
1595
1606
  :table,
1596
1607
  :local_secondary_indexes,
1597
- :global_secondary_indexes)
1608
+ :global_secondary_indexes,
1609
+ :vector_indexes)
1598
1610
  SENSITIVE = []
1599
1611
  include Aws::Structure
1600
1612
  end
@@ -2151,6 +2163,34 @@ module Aws::DynamoDB
2151
2163
  # parameter is set to ENABLED\_WITH\_OVERRIDES.
2152
2164
  # @return [String]
2153
2165
  #
2166
+ # @!attribute [rw] vector_indexes
2167
+ # One or more vector indexes to be created on the table. Each vector
2168
+ # index enables similarity search on a vector attribute. Each element
2169
+ # in the list consists of:
2170
+ #
2171
+ # * `IndexName` - The name of the vector index. Must be unique within
2172
+ # the table.
2173
+ #
2174
+ # * `VectorAttribute` - The attribute that contains vector embeddings.
2175
+ # If multiple vector indexes reference the same attribute, they must
2176
+ # all use the same number of dimensions.
2177
+ #
2178
+ # * `Dimensions` - The number of dimensions in each vector.
2179
+ #
2180
+ # * `DistanceFunction` - The distance function used to calculate
2181
+ # similarity. Valid values: `COSINE`, `EUCLIDEAN`, `DOT_PRODUCT`.
2182
+ #
2183
+ # * `Projection` - Specifies attributes that are copied (projected)
2184
+ # from the table into the vector index. The total number of
2185
+ # projected non-key attributes is shared across the vector attribute
2186
+ # (counts as 1) and `INLINE_FILTER` search schema elements (each
2187
+ # counts as 1). `HASH` search schema elements do not count toward
2188
+ # this limit.
2189
+ #
2190
+ # * `SearchSchema` - (Optional) Defines the partition key (`HASH`) and
2191
+ # inline filter (`INLINE_FILTER`) attributes for the vector index.
2192
+ # @return [Array<Types::VectorIndex>]
2193
+ #
2154
2194
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTableInput AWS API Documentation
2155
2195
  #
2156
2196
  class CreateTableInput < Struct.new(
@@ -2170,7 +2210,8 @@ module Aws::DynamoDB
2170
2210
  :resource_policy,
2171
2211
  :on_demand_throughput,
2172
2212
  :global_table_source_arn,
2173
- :global_table_settings_replication_mode)
2213
+ :global_table_settings_replication_mode,
2214
+ :vector_indexes)
2174
2215
  SENSITIVE = []
2175
2216
  include Aws::Structure
2176
2217
  end
@@ -2189,6 +2230,50 @@ module Aws::DynamoDB
2189
2230
  include Aws::Structure
2190
2231
  end
2191
2232
 
2233
+ # A new vector index to be added to a table.
2234
+ #
2235
+ # @!attribute [rw] index_name
2236
+ # The name of the vector index. Must be unique within the table.
2237
+ # @return [String]
2238
+ #
2239
+ # @!attribute [rw] vector_attribute
2240
+ # The attribute that contains vector embeddings. If multiple vector
2241
+ # indexes reference the same attribute, they must all use the same
2242
+ # number of dimensions.
2243
+ # @return [Types::VectorAttributeDefinition]
2244
+ #
2245
+ # @!attribute [rw] search_schema
2246
+ # The partition key and inline filter attribute definitions for the
2247
+ # vector index.
2248
+ # @return [Array<Types::SearchSchemaElement>]
2249
+ #
2250
+ # @!attribute [rw] projection
2251
+ # Specifies attributes that are copied (projected) from the table into
2252
+ # the vector index.
2253
+ # @return [Types::Projection]
2254
+ #
2255
+ # @!attribute [rw] dimensions
2256
+ # The number of dimensions in each vector.
2257
+ # @return [Integer]
2258
+ #
2259
+ # @!attribute [rw] distance_function
2260
+ # The distance function used to calculate similarity. Valid values:
2261
+ # `COSINE`, `EUCLIDEAN`, `DOT_PRODUCT`.
2262
+ # @return [String]
2263
+ #
2264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateVectorIndexAction AWS API Documentation
2265
+ #
2266
+ class CreateVectorIndexAction < Struct.new(
2267
+ :index_name,
2268
+ :vector_attribute,
2269
+ :search_schema,
2270
+ :projection,
2271
+ :dimensions,
2272
+ :distance_function)
2273
+ SENSITIVE = []
2274
+ include Aws::Structure
2275
+ end
2276
+
2192
2277
  # Processing options for the CSV file being imported.
2193
2278
  #
2194
2279
  # @!attribute [rw] delimiter
@@ -2554,6 +2639,10 @@ module Aws::DynamoDB
2554
2639
  # information, see [Provisioned capacity mode][1] in the *Amazon
2555
2640
  # DynamoDB Developer Guide*.
2556
2641
  #
2642
+ # If the table has vector indexes, the response includes a
2643
+ # `VectorIndexes` field with `VectorWriteRequestBytes` consumed for
2644
+ # each affected vector index.
2645
+ #
2557
2646
  #
2558
2647
  #
2559
2648
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html
@@ -2711,6 +2800,20 @@ module Aws::DynamoDB
2711
2800
  include Aws::Structure
2712
2801
  end
2713
2802
 
2803
+ # A vector index to be removed from a table.
2804
+ #
2805
+ # @!attribute [rw] index_name
2806
+ # The name of the vector index to delete.
2807
+ # @return [String]
2808
+ #
2809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteVectorIndexAction AWS API Documentation
2810
+ #
2811
+ class DeleteVectorIndexAction < Struct.new(
2812
+ :index_name)
2813
+ SENSITIVE = []
2814
+ include Aws::Structure
2815
+ end
2816
+
2714
2817
  # @!attribute [rw] backup_arn
2715
2818
  # The Amazon Resource Name (ARN) associated with the backup.
2716
2819
  # @return [String]
@@ -4756,8 +4859,7 @@ module Aws::DynamoDB
4756
4859
  # @return [Time]
4757
4860
  #
4758
4861
  # @!attribute [rw] end_time
4759
- # The time at which this import task ended. (Does this include the
4760
- # successful complete creation of the table it was imported to?)
4862
+ # The time at which this import task ended.
4761
4863
  # @return [Time]
4762
4864
  #
4763
4865
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ImportSummary AWS API Documentation
@@ -4982,6 +5084,18 @@ module Aws::DynamoDB
4982
5084
  # The view type that was chosen for the export. Valid values are
4983
5085
  # `NEW_AND_OLD_IMAGES` and `NEW_IMAGES`. The default value is
4984
5086
  # `NEW_AND_OLD_IMAGES`.
5087
+ #
5088
+ # `NEW_AND_OLD_IMAGES` exports both the new and old images of each
5089
+ # changed item, while `NEW_IMAGES` exports only the new (latest)
5090
+ # image. The view type you choose determines the structure of each
5091
+ # item in the output for `insert`, `update`, and `delete` operations.
5092
+ # For details and examples of how each view type shapes the export
5093
+ # output, see [DynamoDB table export output format][1] in the *Amazon
5094
+ # DynamoDB Developer Guide*.
5095
+ #
5096
+ #
5097
+ #
5098
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html
4985
5099
  # @return [String]
4986
5100
  #
4987
5101
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/IncrementalExportSpecification AWS API Documentation
@@ -6196,11 +6310,19 @@ module Aws::DynamoDB
6196
6310
  # consistent reads require less effort than strongly consistent reads,
6197
6311
  # so a setting of 50 `ReadCapacityUnits` per second provides 100
6198
6312
  # eventually consistent `ReadCapacityUnits` per second.
6313
+ #
6314
+ # For a table or global secondary index that uses on-demand capacity
6315
+ # mode (`PAY_PER_REQUEST`), this value is `0`, because on-demand mode
6316
+ # does not use provisioned throughput.
6199
6317
  # @return [Integer]
6200
6318
  #
6201
6319
  # @!attribute [rw] write_capacity_units
6202
6320
  # The maximum number of writes consumed per second before DynamoDB
6203
6321
  # returns a `ThrottlingException`.
6322
+ #
6323
+ # For a table or global secondary index that uses on-demand capacity
6324
+ # mode (`PAY_PER_REQUEST`), this value is `0`, because on-demand mode
6325
+ # does not use provisioned throughput.
6204
6326
  # @return [Integer]
6205
6327
  #
6206
6328
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ProvisionedThroughputDescription AWS API Documentation
@@ -6339,6 +6461,19 @@ module Aws::DynamoDB
6339
6461
  # the data types for those attributes must match those of the schema
6340
6462
  # in the table's attribute definition.
6341
6463
  #
6464
+ # If the table has vector indexes, the following validations apply to
6465
+ # write operations. A violation of any of these constraints results in
6466
+ # a `ValidationException`:
6467
+ #
6468
+ # * The vector attribute must be a list of numbers with dimensions
6469
+ # matching the index configuration.
6470
+ #
6471
+ # * Vector values must fit in 32-bit IEEE-754 floating point format
6472
+ # (f32).
6473
+ #
6474
+ # * Partition key and inline filter attributes defined in the search
6475
+ # schema must have data types matching the index schema definition.
6476
+ #
6342
6477
  # Empty String and Binary attribute values are allowed. Attribute
6343
6478
  # values of type String and Binary must have a length greater than
6344
6479
  # zero if the attribute is used as a key attribute for a table or
@@ -6576,6 +6711,10 @@ module Aws::DynamoDB
6576
6711
  # information, see [Capacity unity consumption for write
6577
6712
  # operations][1] in the *Amazon DynamoDB Developer Guide*.
6578
6713
  #
6714
+ # If the table has vector indexes, the response includes a
6715
+ # `VectorIndexes` field with `VectorWriteRequestBytes` consumed for
6716
+ # each affected vector index.
6717
+ #
6579
6718
  #
6580
6719
  #
6581
6720
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption
@@ -7980,6 +8119,13 @@ module Aws::DynamoDB
7980
8119
  # The new server-side encryption settings for the restored table.
7981
8120
  # @return [Types::SSESpecification]
7982
8121
  #
8122
+ # @!attribute [rw] vector_index_override
8123
+ # The vector indexes for the restored table. If not specified, all
8124
+ # vector indexes from the backup are restored. The indexes provided
8125
+ # must match existing vector indexes from the backup. You can choose
8126
+ # to exclude some or all of the vector indexes at the time of restore.
8127
+ # @return [Array<Types::VectorIndex>]
8128
+ #
7983
8129
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackupInput AWS API Documentation
7984
8130
  #
7985
8131
  class RestoreTableFromBackupInput < Struct.new(
@@ -7990,7 +8136,8 @@ module Aws::DynamoDB
7990
8136
  :local_secondary_index_override,
7991
8137
  :provisioned_throughput_override,
7992
8138
  :on_demand_throughput_override,
7993
- :sse_specification_override)
8139
+ :sse_specification_override,
8140
+ :vector_index_override)
7994
8141
  SENSITIVE = []
7995
8142
  include Aws::Structure
7996
8143
  end
@@ -8038,6 +8185,12 @@ module Aws::DynamoDB
8038
8185
  # List of global secondary indexes for the restored table. The indexes
8039
8186
  # provided should match existing secondary indexes. You can choose to
8040
8187
  # exclude some or all of the indexes at the time of restore.
8188
+ #
8189
+ # The `WarmThroughput` setting is not supported on global secondary
8190
+ # indexes when you use `RestoreTableToPointInTime`. Although
8191
+ # `WarmThroughput` appears in the shared index definition, including
8192
+ # it in a `GlobalSecondaryIndexOverride` entry causes the request to
8193
+ # fail with a validation error.
8041
8194
  # @return [Array<Types::GlobalSecondaryIndex>]
8042
8195
  #
8043
8196
  # @!attribute [rw] local_secondary_index_override
@@ -8060,6 +8213,14 @@ module Aws::DynamoDB
8060
8213
  # The new server-side encryption settings for the restored table.
8061
8214
  # @return [Types::SSESpecification]
8062
8215
  #
8216
+ # @!attribute [rw] vector_index_override
8217
+ # The vector indexes for the restored table. If not specified, all
8218
+ # vector indexes from the source table are restored. The indexes
8219
+ # provided must match existing vector indexes from the source table.
8220
+ # You can choose to exclude some or all of the vector indexes at the
8221
+ # time of restore.
8222
+ # @return [Array<Types::VectorIndex>]
8223
+ #
8063
8224
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTimeInput AWS API Documentation
8064
8225
  #
8065
8226
  class RestoreTableToPointInTimeInput < Struct.new(
@@ -8073,7 +8234,8 @@ module Aws::DynamoDB
8073
8234
  :local_secondary_index_override,
8074
8235
  :provisioned_throughput_override,
8075
8236
  :on_demand_throughput_override,
8076
- :sse_specification_override)
8237
+ :sse_specification_override,
8238
+ :vector_index_override)
8077
8239
  SENSITIVE = []
8078
8240
  include Aws::Structure
8079
8241
  end
@@ -8620,6 +8782,165 @@ module Aws::DynamoDB
8620
8782
  include Aws::Structure
8621
8783
  end
8622
8784
 
8785
+ # A single result from a `SearchVectors` operation.
8786
+ #
8787
+ # @!attribute [rw] item
8788
+ # A map of attribute names to `AttributeValue` objects, representing
8789
+ # the projected attributes of the item returned by the vector search.
8790
+ # @return [Hash<String,Types::AttributeValue>]
8791
+ #
8792
+ # @!attribute [rw] score
8793
+ # The similarity score for this item relative to the search vector.
8794
+ # The interpretation depends on the distance function configured for
8795
+ # the vector index.
8796
+ # @return [Float]
8797
+ #
8798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SearchResultItem AWS API Documentation
8799
+ #
8800
+ class SearchResultItem < Struct.new(
8801
+ :item,
8802
+ :score)
8803
+ SENSITIVE = []
8804
+ include Aws::Structure
8805
+ end
8806
+
8807
+ # An element in the search schema of a vector index.
8808
+ #
8809
+ # @!attribute [rw] attribute_name
8810
+ # The name of the attribute.
8811
+ # @return [String]
8812
+ #
8813
+ # @!attribute [rw] search_schema_element_type
8814
+ # The role of the attribute in the search schema. Valid values:
8815
+ #
8816
+ # * `HASH` - A partition key that partitions the vector index for
8817
+ # independent scaling. When specified, you must provide this
8818
+ # attribute's value in the `SearchConditionExpression`.
8819
+ #
8820
+ # * `INLINE_FILTER` - An attribute projected into the vector index for
8821
+ # filtering at the storage layer during search. Inline filters are
8822
+ # optional in the `SearchConditionExpression`.
8823
+ # @return [String]
8824
+ #
8825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SearchSchemaElement AWS API Documentation
8826
+ #
8827
+ class SearchSchemaElement < Struct.new(
8828
+ :attribute_name,
8829
+ :search_schema_element_type)
8830
+ SENSITIVE = []
8831
+ include Aws::Structure
8832
+ end
8833
+
8834
+ # @!attribute [rw] table_name
8835
+ # The name or Amazon Resource Name (ARN) of the table containing the
8836
+ # vector index.
8837
+ # @return [String]
8838
+ #
8839
+ # @!attribute [rw] index_name
8840
+ # The name of the vector index to search. The index must be in the
8841
+ # `ACTIVE` state.
8842
+ # @return [String]
8843
+ #
8844
+ # @!attribute [rw] return_consumed_capacity
8845
+ # Determines the level of detail about either provisioned or on-demand
8846
+ # throughput consumption that is returned in the response:
8847
+ #
8848
+ # * `INDEXES` - The response includes the aggregate `ConsumedCapacity`
8849
+ # for the operation, together with `ConsumedCapacity` for each table
8850
+ # and secondary index that was accessed.
8851
+ #
8852
+ # Note that some operations, such as `GetItem` and `BatchGetItem`,
8853
+ # do not access any indexes at all. In these cases, specifying
8854
+ # `INDEXES` will only return `ConsumedCapacity` information for
8855
+ # table(s).
8856
+ #
8857
+ # * `TOTAL` - The response includes only the aggregate
8858
+ # `ConsumedCapacity` for the operation.
8859
+ #
8860
+ # * `NONE` - No `ConsumedCapacity` details are included in the
8861
+ # response.
8862
+ # @return [String]
8863
+ #
8864
+ # @!attribute [rw] expression_attribute_names
8865
+ # One or more substitution tokens for attribute names in an
8866
+ # expression. Use the `#` character in an expression to dereference an
8867
+ # attribute name.
8868
+ # @return [Hash<String,String>]
8869
+ #
8870
+ # @!attribute [rw] expression_attribute_values
8871
+ # One or more values that can be substituted in an expression. Use the
8872
+ # `:` character in an expression to dereference an attribute value.
8873
+ # @return [Hash<String,Types::AttributeValue>]
8874
+ #
8875
+ # @!attribute [rw] projection_expression
8876
+ # A string that identifies one or more attributes to retrieve from the
8877
+ # index. Separate attribute names with commas. If not specified, the
8878
+ # operation returns all attributes projected into the vector index.
8879
+ #
8880
+ # Only attributes projected into the vector index can be retrieved.
8881
+ # @return [String]
8882
+ #
8883
+ # @!attribute [rw] search_vector
8884
+ # The search vector to compare against the indexed vectors. Each
8885
+ # element is a 32-bit IEEE-754 floating point number, provided in
8886
+ # DynamoDB list format.
8887
+ #
8888
+ # The number of dimensions must match the number of dimensions
8889
+ # configured for the vector index.
8890
+ # @return [Array<Types::AttributeValue>]
8891
+ #
8892
+ # @!attribute [rw] search_condition_expression
8893
+ # A condition expression used to filter the vector search results. The
8894
+ # expression can reference attributes defined in the vector index
8895
+ # search schema, including `HASH` and `INLINE_FILTER` key elements.
8896
+ #
8897
+ # Only the equality operator (`=`) is supported for `HASH` attributes.
8898
+ # Comparison and range operators are supported for `INLINE_FILTER`
8899
+ # attributes. Only top-level attributes from the search schema can be
8900
+ # referenced.
8901
+ # @return [String]
8902
+ #
8903
+ # @!attribute [rw] top_k
8904
+ # The number of most similar results to return.
8905
+ # @return [Integer]
8906
+ #
8907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SearchVectorsInput AWS API Documentation
8908
+ #
8909
+ class SearchVectorsInput < Struct.new(
8910
+ :table_name,
8911
+ :index_name,
8912
+ :return_consumed_capacity,
8913
+ :expression_attribute_names,
8914
+ :expression_attribute_values,
8915
+ :projection_expression,
8916
+ :search_vector,
8917
+ :search_condition_expression,
8918
+ :top_k)
8919
+ SENSITIVE = []
8920
+ include Aws::Structure
8921
+ end
8922
+
8923
+ # @!attribute [rw] consumed_capacity
8924
+ # The capacity units consumed by the `SearchVectors` operation.
8925
+ # Contains `VectorSearchRequestBytes`, which represents the vector
8926
+ # search capacity consumed.
8927
+ # @return [Types::VectorCapacity]
8928
+ #
8929
+ # @!attribute [rw] search_results
8930
+ # A list of items returned by the vector similarity search, sorted by
8931
+ # similarity with the most similar item first. Each item contains the
8932
+ # projected attributes and a similarity score.
8933
+ # @return [Array<Types::SearchResultItem>]
8934
+ #
8935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SearchVectorsOutput AWS API Documentation
8936
+ #
8937
+ class SearchVectorsOutput < Struct.new(
8938
+ :consumed_capacity,
8939
+ :search_results)
8940
+ SENSITIVE = []
8941
+ include Aws::Structure
8942
+ end
8943
+
8623
8944
  # Contains the details of the table when the backup was created.
8624
8945
  #
8625
8946
  # @!attribute [rw] table_name
@@ -8720,6 +9041,12 @@ module Aws::DynamoDB
8720
9041
  # when the backup was created.
8721
9042
  # @return [Types::SSEDescription]
8722
9043
  #
9044
+ # @!attribute [rw] vector_indexes
9045
+ # The vector index properties for the table at the time the backup was
9046
+ # created, including the index name, vector attribute, dimensions,
9047
+ # distance function, search schema, and projection.
9048
+ # @return [Array<Types::VectorIndexInfo>]
9049
+ #
8723
9050
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SourceTableFeatureDetails AWS API Documentation
8724
9051
  #
8725
9052
  class SourceTableFeatureDetails < Struct.new(
@@ -8727,7 +9054,8 @@ module Aws::DynamoDB
8727
9054
  :global_secondary_indexes,
8728
9055
  :stream_description,
8729
9056
  :time_to_live_description,
8730
- :sse_description)
9057
+ :sse_description,
9058
+ :vector_indexes)
8731
9059
  SENSITIVE = []
8732
9060
  include Aws::Structure
8733
9061
  end
@@ -8880,6 +9208,11 @@ module Aws::DynamoDB
8880
9208
  # part of the import operation.
8881
9209
  # @return [Array<Types::GlobalSecondaryIndex>]
8882
9210
  #
9211
+ # @!attribute [rw] vector_indexes
9212
+ # The vector indexes of the table to be created as part of the import
9213
+ # operation.
9214
+ # @return [Array<Types::VectorIndex>]
9215
+ #
8883
9216
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TableCreationParameters AWS API Documentation
8884
9217
  #
8885
9218
  class TableCreationParameters < Struct.new(
@@ -8890,7 +9223,8 @@ module Aws::DynamoDB
8890
9223
  :provisioned_throughput,
8891
9224
  :on_demand_throughput,
8892
9225
  :sse_specification,
8893
- :global_secondary_indexes)
9226
+ :global_secondary_indexes,
9227
+ :vector_indexes)
8894
9228
  SENSITIVE = []
8895
9229
  include Aws::Structure
8896
9230
  end
@@ -9000,7 +9334,8 @@ module Aws::DynamoDB
9000
9334
  # @return [String]
9001
9335
  #
9002
9336
  # @!attribute [rw] table_id
9003
- # Unique identifier for the table for which the backup was created.
9337
+ # A unique identifier for the table, in UUID format, generated by
9338
+ # DynamoDB when the table is created.
9004
9339
  # @return [String]
9005
9340
  #
9006
9341
  # @!attribute [rw] billing_mode_summary
@@ -9245,6 +9580,44 @@ module Aws::DynamoDB
9245
9580
  # [1]: https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
9246
9581
  # @return [String]
9247
9582
  #
9583
+ # @!attribute [rw] vector_indexes
9584
+ # The vector indexes, if any, on the table. Each element is composed
9585
+ # of:
9586
+ #
9587
+ # * `IndexName` - The name of the vector index.
9588
+ #
9589
+ # * `IndexStatus` - The current status of the vector index:
9590
+ # `CREATING`, `ACTIVE`, or `DELETING`.
9591
+ #
9592
+ # * `Backfilling` - Specifies whether the index is currently
9593
+ # backfilling. During backfill, `SearchVectors` operations might
9594
+ # return incomplete results.
9595
+ #
9596
+ # * `VectorAttribute` - The attribute that contains vector embeddings.
9597
+ #
9598
+ # * `Dimensions` - The number of dimensions in each vector.
9599
+ #
9600
+ # * `DistanceFunction` - The distance function used to calculate
9601
+ # similarity (`COSINE`, `EUCLIDEAN`, or `DOT_PRODUCT`).
9602
+ #
9603
+ # * `SearchSchema` - The partition key and inline filter attributes
9604
+ # for the vector index.
9605
+ #
9606
+ # * `Projection` - Specifies attributes that are copied (projected)
9607
+ # from the table into the vector index.
9608
+ #
9609
+ # * `IndexArn` - The Amazon Resource Name (ARN) that uniquely
9610
+ # identifies the index.
9611
+ #
9612
+ # * `IndexSizeBytes` - The total size of the vector index, in bytes.
9613
+ # Amazon DynamoDB updates this value approximately every six hours.
9614
+ # Recent changes might not be reflected in this value.
9615
+ #
9616
+ # * `ItemCount` - The number of items indexed in the vector index.
9617
+ # Amazon DynamoDB updates this value approximately every six hours.
9618
+ # Recent changes might not be reflected in this value.
9619
+ # @return [Array<Types::VectorIndexDescription>]
9620
+ #
9248
9621
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TableDescription AWS API Documentation
9249
9622
  #
9250
9623
  class TableDescription < Struct.new(
@@ -9275,7 +9648,8 @@ module Aws::DynamoDB
9275
9648
  :deletion_protection_enabled,
9276
9649
  :on_demand_throughput,
9277
9650
  :warm_throughput,
9278
- :multi_region_consistency)
9651
+ :multi_region_consistency,
9652
+ :vector_indexes)
9279
9653
  SENSITIVE = []
9280
9654
  include Aws::Structure
9281
9655
  end
@@ -9704,6 +10078,10 @@ module Aws::DynamoDB
9704
10078
  # The capacity units consumed by the entire `TransactWriteItems`
9705
10079
  # operation. The values of the list are ordered according to the
9706
10080
  # ordering of the `TransactItems` request parameter.
10081
+ #
10082
+ # If the table has vector indexes, each element also includes a
10083
+ # `VectorIndexes` field with `VectorWriteRequestBytes` consumed for
10084
+ # each affected vector index.
9707
10085
  # @return [Array<Types::ConsumedCapacity>]
9708
10086
  #
9709
10087
  # @!attribute [rw] item_collection_metrics
@@ -9768,7 +10146,10 @@ module Aws::DynamoDB
9768
10146
  # <note markdown="1"> DynamoDB lists the cancellation reasons on the `CancellationReasons`
9769
10147
  # property. Transaction cancellation reasons are ordered in the order of
9770
10148
  # requested items, if an item has no error it will have `None` code and
9771
- # `Null` message.
10149
+ # `Null` message. The `None` code is returned as the literal string
10150
+ # `"None"`, not a null or absent value; the message field is omitted
10151
+ # entirely for an item that has no error. This is important to note when
10152
+ # using an SDK that surfaces the code as an optional or nullable type.
9772
10153
  #
9773
10154
  # </note>
9774
10155
  #
@@ -10617,6 +10998,10 @@ module Aws::DynamoDB
10617
10998
  # information, see [Capacity unity consumption for write
10618
10999
  # operations][1] in the *Amazon DynamoDB Developer Guide*.
10619
11000
  #
11001
+ # If the table has vector indexes, the response includes a
11002
+ # `VectorIndexes` field with `VectorWriteRequestBytes` consumed for
11003
+ # each affected vector index.
11004
+ #
10620
11005
  #
10621
11006
  #
10622
11007
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption
@@ -10934,6 +11319,16 @@ module Aws::DynamoDB
10934
11319
  # to create a Multi-Account Global Table using this table.
10935
11320
  # @return [String]
10936
11321
  #
11322
+ # @!attribute [rw] vector_index_updates
11323
+ # A list of vector indexes to be added to or removed from the table.
11324
+ # You can add or remove one vector index for each `UpdateTable`
11325
+ # operation.
11326
+ #
11327
+ # To add a vector index, specify `IndexName`, `VectorAttribute`,
11328
+ # `Dimensions`, `DistanceFunction`, and `Projection`. To remove a
11329
+ # vector index, specify only the `IndexName`.
11330
+ # @return [Array<Types::VectorIndexUpdate>]
11331
+ #
10937
11332
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableInput AWS API Documentation
10938
11333
  #
10939
11334
  class UpdateTableInput < Struct.new(
@@ -10951,7 +11346,8 @@ module Aws::DynamoDB
10951
11346
  :global_table_witness_updates,
10952
11347
  :on_demand_throughput,
10953
11348
  :warm_throughput,
10954
- :global_table_settings_replication_mode)
11349
+ :global_table_settings_replication_mode,
11350
+ :vector_index_updates)
10955
11351
  SENSITIVE = []
10956
11352
  include Aws::Structure
10957
11353
  end
@@ -11047,6 +11443,230 @@ module Aws::DynamoDB
11047
11443
  include Aws::Structure
11048
11444
  end
11049
11445
 
11446
+ # The definition of a vector attribute for a vector index.
11447
+ #
11448
+ # @!attribute [rw] attribute_name
11449
+ # The name of the vector attribute.
11450
+ # @return [String]
11451
+ #
11452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorAttributeDefinition AWS API Documentation
11453
+ #
11454
+ class VectorAttributeDefinition < Struct.new(
11455
+ :attribute_name)
11456
+ SENSITIVE = []
11457
+ include Aws::Structure
11458
+ end
11459
+
11460
+ # The consumed capacity for vector index operations, including vector
11461
+ # search request bytes and vector write request bytes.
11462
+ #
11463
+ # @!attribute [rw] vector_search_request_bytes
11464
+ # The number of vector search request bytes consumed by a
11465
+ # `SearchVectors` operation.
11466
+ # @return [Float]
11467
+ #
11468
+ # @!attribute [rw] vector_write_request_bytes
11469
+ # The number of vector write request bytes consumed when writing to a
11470
+ # vector index. Reported for write operations that modify attributes
11471
+ # indexed by a vector index.
11472
+ # @return [Float]
11473
+ #
11474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorCapacity AWS API Documentation
11475
+ #
11476
+ class VectorCapacity < Struct.new(
11477
+ :vector_search_request_bytes,
11478
+ :vector_write_request_bytes)
11479
+ SENSITIVE = []
11480
+ include Aws::Structure
11481
+ end
11482
+
11483
+ # Contains the configuration settings for a vector index, including the
11484
+ # index name, vector attribute, dimensions, distance function, search
11485
+ # schema, and projection.
11486
+ #
11487
+ # @!attribute [rw] index_name
11488
+ # The name of the vector index.
11489
+ # @return [String]
11490
+ #
11491
+ # @!attribute [rw] vector_attribute
11492
+ # The vector attribute configuration for the index.
11493
+ # @return [Types::VectorAttributeDefinition]
11494
+ #
11495
+ # @!attribute [rw] search_schema
11496
+ # The search schema that defines partition key and inline filter
11497
+ # attributes for the vector index.
11498
+ # @return [Array<Types::SearchSchemaElement>]
11499
+ #
11500
+ # @!attribute [rw] projection
11501
+ # Specifies attributes that are copied (projected) from the table into
11502
+ # the vector index.
11503
+ # @return [Types::Projection]
11504
+ #
11505
+ # @!attribute [rw] dimensions
11506
+ # The number of dimensions in each vector.
11507
+ # @return [Integer]
11508
+ #
11509
+ # @!attribute [rw] distance_function
11510
+ # The distance function used to calculate similarity between vectors.
11511
+ # Valid values: `COSINE`, `EUCLIDEAN`, `DOT_PRODUCT`.
11512
+ # @return [String]
11513
+ #
11514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorIndex AWS API Documentation
11515
+ #
11516
+ class VectorIndex < Struct.new(
11517
+ :index_name,
11518
+ :vector_attribute,
11519
+ :search_schema,
11520
+ :projection,
11521
+ :dimensions,
11522
+ :distance_function)
11523
+ SENSITIVE = []
11524
+ include Aws::Structure
11525
+ end
11526
+
11527
+ # Contains the current state and configuration of a vector index,
11528
+ # including its status, size, item count, and the settings specified
11529
+ # when the index was created.
11530
+ #
11531
+ # @!attribute [rw] index_name
11532
+ # The name of the vector index.
11533
+ # @return [String]
11534
+ #
11535
+ # @!attribute [rw] search_schema
11536
+ # The search schema that defines partition key and inline filter
11537
+ # attributes for the vector index.
11538
+ # @return [Array<Types::SearchSchemaElement>]
11539
+ #
11540
+ # @!attribute [rw] projection
11541
+ # Specifies attributes that are copied (projected) from the table into
11542
+ # the vector index.
11543
+ # @return [Types::Projection]
11544
+ #
11545
+ # @!attribute [rw] vector_attribute
11546
+ # The vector attribute configuration for the index.
11547
+ # @return [Types::VectorAttributeDefinition]
11548
+ #
11549
+ # @!attribute [rw] dimensions
11550
+ # The number of dimensions in each vector.
11551
+ # @return [Integer]
11552
+ #
11553
+ # @!attribute [rw] distance_function
11554
+ # The distance function used to calculate similarity between vectors.
11555
+ # @return [String]
11556
+ #
11557
+ # @!attribute [rw] index_status
11558
+ # The current state of the vector index:
11559
+ #
11560
+ # * `CREATING` - The index is being created.
11561
+ #
11562
+ # * `ACTIVE` - The index is ready for use.
11563
+ #
11564
+ # * `DELETING` - The index is being deleted.
11565
+ # @return [String]
11566
+ #
11567
+ # @!attribute [rw] backfilling
11568
+ # Specifies whether the index is currently backfilling. During
11569
+ # backfill, `SearchVectors` operations might return incomplete
11570
+ # results.
11571
+ # @return [Boolean]
11572
+ #
11573
+ # @!attribute [rw] index_size_bytes
11574
+ # The total size of the vector index, in bytes. Amazon DynamoDB
11575
+ # updates this value approximately every six hours. Recent changes
11576
+ # might not be reflected in this value.
11577
+ # @return [Integer]
11578
+ #
11579
+ # @!attribute [rw] item_count
11580
+ # The number of items indexed in the vector index. Amazon DynamoDB
11581
+ # updates this value approximately every six hours. Recent changes
11582
+ # might not be reflected in this value.
11583
+ # @return [Integer]
11584
+ #
11585
+ # @!attribute [rw] index_arn
11586
+ # The Amazon Resource Name (ARN) that uniquely identifies the vector
11587
+ # index.
11588
+ # @return [String]
11589
+ #
11590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorIndexDescription AWS API Documentation
11591
+ #
11592
+ class VectorIndexDescription < Struct.new(
11593
+ :index_name,
11594
+ :search_schema,
11595
+ :projection,
11596
+ :vector_attribute,
11597
+ :dimensions,
11598
+ :distance_function,
11599
+ :index_status,
11600
+ :backfilling,
11601
+ :index_size_bytes,
11602
+ :item_count,
11603
+ :index_arn)
11604
+ SENSITIVE = []
11605
+ include Aws::Structure
11606
+ end
11607
+
11608
+ # Contains the configuration of a vector index as it existed at the time
11609
+ # a backup was created.
11610
+ #
11611
+ # @!attribute [rw] index_name
11612
+ # The name of the vector index.
11613
+ # @return [String]
11614
+ #
11615
+ # @!attribute [rw] vector_attribute
11616
+ # The vector attribute configuration for the index.
11617
+ # @return [Types::VectorAttributeDefinition]
11618
+ #
11619
+ # @!attribute [rw] search_schema
11620
+ # The search schema that defines partition key and inline filter
11621
+ # attributes for the vector index.
11622
+ # @return [Array<Types::SearchSchemaElement>]
11623
+ #
11624
+ # @!attribute [rw] projection
11625
+ # Specifies attributes that are copied (projected) from the table into
11626
+ # the vector index.
11627
+ # @return [Types::Projection]
11628
+ #
11629
+ # @!attribute [rw] dimensions
11630
+ # The number of dimensions in each vector.
11631
+ # @return [Integer]
11632
+ #
11633
+ # @!attribute [rw] distance_function
11634
+ # The distance function used to calculate similarity between vectors.
11635
+ # @return [String]
11636
+ #
11637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorIndexInfo AWS API Documentation
11638
+ #
11639
+ class VectorIndexInfo < Struct.new(
11640
+ :index_name,
11641
+ :vector_attribute,
11642
+ :search_schema,
11643
+ :projection,
11644
+ :dimensions,
11645
+ :distance_function)
11646
+ SENSITIVE = []
11647
+ include Aws::Structure
11648
+ end
11649
+
11650
+ # A vector index to be added to or removed from a table.
11651
+ #
11652
+ # @!attribute [rw] create
11653
+ # The configuration for creating a new vector index on the table.
11654
+ # @return [Types::CreateVectorIndexAction]
11655
+ #
11656
+ # @!attribute [rw] delete
11657
+ # The configuration for deleting an existing vector index from the
11658
+ # table.
11659
+ # @return [Types::DeleteVectorIndexAction]
11660
+ #
11661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/VectorIndexUpdate AWS API Documentation
11662
+ #
11663
+ class VectorIndexUpdate < Struct.new(
11664
+ :create,
11665
+ :delete)
11666
+ SENSITIVE = []
11667
+ include Aws::Structure
11668
+ end
11669
+
11050
11670
  # Provides visibility into the number of read and write operations your
11051
11671
  # table or secondary index can instantaneously support. The settings can
11052
11672
  # be modified using the `UpdateTable` operation to meet the throughput