aws-sdk-dynamodb 1.171.0 → 1.173.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.
@@ -599,6 +599,9 @@ module Aws::DynamoDB
599
599
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
600
600
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
601
601
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
602
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
603
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
604
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
602
605
  #
603
606
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchExecuteStatement AWS API Documentation
604
607
  #
@@ -883,6 +886,9 @@ module Aws::DynamoDB
883
886
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
884
887
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
885
888
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
889
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
890
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
891
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
886
892
  #
887
893
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem AWS API Documentation
888
894
  #
@@ -921,13 +927,12 @@ module Aws::DynamoDB
921
927
  # request with those unprocessed items until all items have been
922
928
  # processed.
923
929
  #
924
- # For tables and indexes with provisioned capacity, if none of the items
925
- # can be processed due to insufficient provisioned throughput on all of
926
- # the tables in the request, then `BatchWriteItem` returns a
927
- # `ProvisionedThroughputExceededException`. For all tables and indexes,
928
- # if none of the items can be processed due to other throttling
929
- # scenarios (such as exceeding partition level limits), then
930
- # `BatchWriteItem` returns a `ThrottlingException`.
930
+ # If `BatchWriteItem` cannot process any items due to throttling (for
931
+ # example, insufficient provisioned throughput on the tables in the
932
+ # request, or partition-level or account-level limits), it returns a
933
+ # `ProvisionedThroughputExceededException` or a `ThrottlingException`.
934
+ # Both indicate that the request was throttled; check the
935
+ # `ThrottlingReason` field in the returned exception for details.
931
936
  #
932
937
  # If DynamoDB returns any unprocessed items, you should retry the batch
933
938
  # operation on those items. However, *we strongly recommend that you use
@@ -1149,6 +1154,9 @@ module Aws::DynamoDB
1149
1154
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
1150
1155
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
1151
1156
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
1157
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
1158
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
1159
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
1152
1160
  #
1153
1161
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem AWS API Documentation
1154
1162
  #
@@ -1627,6 +1635,32 @@ module Aws::DynamoDB
1627
1635
  # supported value is ENABLED. For same-account global tables, this
1628
1636
  # parameter is set to ENABLED\_WITH\_OVERRIDES.
1629
1637
  #
1638
+ # @option params [Array<Types::VectorIndex>] :vector_indexes
1639
+ # One or more vector indexes to be created on the table. Each vector
1640
+ # index enables similarity search on a vector attribute. Each element in
1641
+ # the list consists of:
1642
+ #
1643
+ # * `IndexName` - The name of the vector index. Must be unique within
1644
+ # the table.
1645
+ #
1646
+ # * `VectorAttribute` - The attribute that contains vector embeddings.
1647
+ # If multiple vector indexes reference the same attribute, they must
1648
+ # all use the same number of dimensions.
1649
+ #
1650
+ # * `Dimensions` - The number of dimensions in each vector.
1651
+ #
1652
+ # * `DistanceFunction` - The distance function used to calculate
1653
+ # similarity. Valid values: `COSINE`, `EUCLIDEAN`, `DOT_PRODUCT`.
1654
+ #
1655
+ # * `Projection` - Specifies attributes that are copied (projected) from
1656
+ # the table into the vector index. The total number of projected
1657
+ # non-key attributes is shared across the vector attribute (counts as
1658
+ # 1) and `INLINE_FILTER` search schema elements (each counts as 1).
1659
+ # `HASH` search schema elements do not count toward this limit.
1660
+ #
1661
+ # * `SearchSchema` - (Optional) Defines the partition key (`HASH`) and
1662
+ # inline filter (`INLINE_FILTER`) attributes for the vector index.
1663
+ #
1630
1664
  # @return [Types::CreateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1631
1665
  #
1632
1666
  # * {Types::CreateTableOutput#table_description #table_description} => Types::TableDescription
@@ -1790,6 +1824,26 @@ module Aws::DynamoDB
1790
1824
  # },
1791
1825
  # global_table_source_arn: "TableArn",
1792
1826
  # global_table_settings_replication_mode: "ENABLED", # accepts ENABLED, DISABLED, ENABLED_WITH_OVERRIDES
1827
+ # vector_indexes: [
1828
+ # {
1829
+ # index_name: "IndexName", # required
1830
+ # vector_attribute: { # required
1831
+ # attribute_name: "VectorAttributeName", # required
1832
+ # },
1833
+ # search_schema: [
1834
+ # {
1835
+ # attribute_name: "AttributeName", # required
1836
+ # search_schema_element_type: "HASH", # required, accepts HASH, INLINE_FILTER
1837
+ # },
1838
+ # ],
1839
+ # projection: { # required
1840
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
1841
+ # non_key_attributes: ["NonKeyAttributeName"],
1842
+ # },
1843
+ # dimensions: 1, # required
1844
+ # distance_function: "COSINE", # required, accepts COSINE, DOT_PRODUCT, EUCLIDEAN
1845
+ # },
1846
+ # ],
1793
1847
  # })
1794
1848
  #
1795
1849
  # @example Response structure
@@ -1900,6 +1954,22 @@ module Aws::DynamoDB
1900
1954
  # resp.table_description.warm_throughput.write_units_per_second #=> Integer
1901
1955
  # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
1902
1956
  # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
1957
+ # resp.table_description.vector_indexes #=> Array
1958
+ # resp.table_description.vector_indexes[0].index_name #=> String
1959
+ # resp.table_description.vector_indexes[0].search_schema #=> Array
1960
+ # resp.table_description.vector_indexes[0].search_schema[0].attribute_name #=> String
1961
+ # resp.table_description.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
1962
+ # resp.table_description.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
1963
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes #=> Array
1964
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes[0] #=> String
1965
+ # resp.table_description.vector_indexes[0].vector_attribute.attribute_name #=> String
1966
+ # resp.table_description.vector_indexes[0].dimensions #=> Integer
1967
+ # resp.table_description.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
1968
+ # resp.table_description.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
1969
+ # resp.table_description.vector_indexes[0].backfilling #=> Boolean
1970
+ # resp.table_description.vector_indexes[0].index_size_bytes #=> Integer
1971
+ # resp.table_description.vector_indexes[0].item_count #=> Integer
1972
+ # resp.table_description.vector_indexes[0].index_arn #=> String
1903
1973
  #
1904
1974
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable AWS API Documentation
1905
1975
  #
@@ -1978,6 +2048,17 @@ module Aws::DynamoDB
1978
2048
  # resp.backup_description.source_table_feature_details.sse_description.sse_type #=> String, one of "AES256", "KMS"
1979
2049
  # resp.backup_description.source_table_feature_details.sse_description.kms_master_key_arn #=> String
1980
2050
  # resp.backup_description.source_table_feature_details.sse_description.inaccessible_encryption_date_time #=> Time
2051
+ # resp.backup_description.source_table_feature_details.vector_indexes #=> Array
2052
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].index_name #=> String
2053
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].vector_attribute.attribute_name #=> String
2054
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema #=> Array
2055
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema[0].attribute_name #=> String
2056
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
2057
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
2058
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.non_key_attributes #=> Array
2059
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.non_key_attributes[0] #=> String
2060
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].dimensions #=> Integer
2061
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
1981
2062
  #
1982
2063
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup AWS API Documentation
1983
2064
  #
@@ -2260,6 +2341,9 @@ module Aws::DynamoDB
2260
2341
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
2261
2342
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
2262
2343
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
2344
+ # resp.consumed_capacity.vector_indexes #=> Hash
2345
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
2346
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
2263
2347
  # resp.item_collection_metrics.item_collection_key #=> Hash
2264
2348
  # resp.item_collection_metrics.item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
2265
2349
  # resp.item_collection_metrics.size_estimate_range_gb #=> Array
@@ -2509,6 +2593,22 @@ module Aws::DynamoDB
2509
2593
  # resp.table_description.warm_throughput.write_units_per_second #=> Integer
2510
2594
  # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
2511
2595
  # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
2596
+ # resp.table_description.vector_indexes #=> Array
2597
+ # resp.table_description.vector_indexes[0].index_name #=> String
2598
+ # resp.table_description.vector_indexes[0].search_schema #=> Array
2599
+ # resp.table_description.vector_indexes[0].search_schema[0].attribute_name #=> String
2600
+ # resp.table_description.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
2601
+ # resp.table_description.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
2602
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes #=> Array
2603
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes[0] #=> String
2604
+ # resp.table_description.vector_indexes[0].vector_attribute.attribute_name #=> String
2605
+ # resp.table_description.vector_indexes[0].dimensions #=> Integer
2606
+ # resp.table_description.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
2607
+ # resp.table_description.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
2608
+ # resp.table_description.vector_indexes[0].backfilling #=> Boolean
2609
+ # resp.table_description.vector_indexes[0].index_size_bytes #=> Integer
2610
+ # resp.table_description.vector_indexes[0].item_count #=> Integer
2611
+ # resp.table_description.vector_indexes[0].index_arn #=> String
2512
2612
  #
2513
2613
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable AWS API Documentation
2514
2614
  #
@@ -2588,6 +2688,17 @@ module Aws::DynamoDB
2588
2688
  # resp.backup_description.source_table_feature_details.sse_description.sse_type #=> String, one of "AES256", "KMS"
2589
2689
  # resp.backup_description.source_table_feature_details.sse_description.kms_master_key_arn #=> String
2590
2690
  # resp.backup_description.source_table_feature_details.sse_description.inaccessible_encryption_date_time #=> Time
2691
+ # resp.backup_description.source_table_feature_details.vector_indexes #=> Array
2692
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].index_name #=> String
2693
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].vector_attribute.attribute_name #=> String
2694
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema #=> Array
2695
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema[0].attribute_name #=> String
2696
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
2697
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
2698
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.non_key_attributes #=> Array
2699
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].projection.non_key_attributes[0] #=> String
2700
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].dimensions #=> Integer
2701
+ # resp.backup_description.source_table_feature_details.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
2591
2702
  #
2592
2703
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup AWS API Documentation
2593
2704
  #
@@ -3016,6 +3127,17 @@ module Aws::DynamoDB
3016
3127
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
3017
3128
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
3018
3129
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
3130
+ # resp.import_table_description.table_creation_parameters.vector_indexes #=> Array
3131
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].index_name #=> String
3132
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].vector_attribute.attribute_name #=> String
3133
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema #=> Array
3134
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema[0].attribute_name #=> String
3135
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
3136
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
3137
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.non_key_attributes #=> Array
3138
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.non_key_attributes[0] #=> String
3139
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].dimensions #=> Integer
3140
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
3019
3141
  # resp.import_table_description.start_time #=> Time
3020
3142
  # resp.import_table_description.end_time #=> Time
3021
3143
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -3367,6 +3489,22 @@ module Aws::DynamoDB
3367
3489
  # resp.table.warm_throughput.write_units_per_second #=> Integer
3368
3490
  # resp.table.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
3369
3491
  # resp.table.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
3492
+ # resp.table.vector_indexes #=> Array
3493
+ # resp.table.vector_indexes[0].index_name #=> String
3494
+ # resp.table.vector_indexes[0].search_schema #=> Array
3495
+ # resp.table.vector_indexes[0].search_schema[0].attribute_name #=> String
3496
+ # resp.table.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
3497
+ # resp.table.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
3498
+ # resp.table.vector_indexes[0].projection.non_key_attributes #=> Array
3499
+ # resp.table.vector_indexes[0].projection.non_key_attributes[0] #=> String
3500
+ # resp.table.vector_indexes[0].vector_attribute.attribute_name #=> String
3501
+ # resp.table.vector_indexes[0].dimensions #=> Integer
3502
+ # resp.table.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
3503
+ # resp.table.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
3504
+ # resp.table.vector_indexes[0].backfilling #=> Boolean
3505
+ # resp.table.vector_indexes[0].index_size_bytes #=> Integer
3506
+ # resp.table.vector_indexes[0].item_count #=> Integer
3507
+ # resp.table.vector_indexes[0].index_arn #=> String
3370
3508
  #
3371
3509
  #
3372
3510
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -3697,6 +3835,9 @@ module Aws::DynamoDB
3697
3835
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
3698
3836
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
3699
3837
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
3838
+ # resp.consumed_capacity.vector_indexes #=> Hash
3839
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
3840
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
3700
3841
  # resp.last_evaluated_key #=> Hash
3701
3842
  # resp.last_evaluated_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3702
3843
  #
@@ -3784,6 +3925,9 @@ module Aws::DynamoDB
3784
3925
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
3785
3926
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
3786
3927
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
3928
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
3929
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
3930
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
3787
3931
  #
3788
3932
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteTransaction AWS API Documentation
3789
3933
  #
@@ -4110,6 +4254,9 @@ module Aws::DynamoDB
4110
4254
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
4111
4255
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
4112
4256
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
4257
+ # resp.consumed_capacity.vector_indexes #=> Hash
4258
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
4259
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
4113
4260
  #
4114
4261
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem AWS API Documentation
4115
4262
  #
@@ -4300,6 +4447,26 @@ module Aws::DynamoDB
4300
4447
  # },
4301
4448
  # },
4302
4449
  # ],
4450
+ # vector_indexes: [
4451
+ # {
4452
+ # index_name: "IndexName", # required
4453
+ # vector_attribute: { # required
4454
+ # attribute_name: "VectorAttributeName", # required
4455
+ # },
4456
+ # search_schema: [
4457
+ # {
4458
+ # attribute_name: "AttributeName", # required
4459
+ # search_schema_element_type: "HASH", # required, accepts HASH, INLINE_FILTER
4460
+ # },
4461
+ # ],
4462
+ # projection: { # required
4463
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
4464
+ # non_key_attributes: ["NonKeyAttributeName"],
4465
+ # },
4466
+ # dimensions: 1, # required
4467
+ # distance_function: "COSINE", # required, accepts COSINE, DOT_PRODUCT, EUCLIDEAN
4468
+ # },
4469
+ # ],
4303
4470
  # },
4304
4471
  # })
4305
4472
  #
@@ -4349,6 +4516,17 @@ module Aws::DynamoDB
4349
4516
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].on_demand_throughput.max_write_request_units #=> Integer
4350
4517
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.read_units_per_second #=> Integer
4351
4518
  # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].warm_throughput.write_units_per_second #=> Integer
4519
+ # resp.import_table_description.table_creation_parameters.vector_indexes #=> Array
4520
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].index_name #=> String
4521
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].vector_attribute.attribute_name #=> String
4522
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema #=> Array
4523
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema[0].attribute_name #=> String
4524
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
4525
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
4526
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.non_key_attributes #=> Array
4527
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].projection.non_key_attributes[0] #=> String
4528
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].dimensions #=> Integer
4529
+ # resp.import_table_description.table_creation_parameters.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
4352
4530
  # resp.import_table_description.start_time #=> Time
4353
4531
  # resp.import_table_description.end_time #=> Time
4354
4532
  # resp.import_table_description.processed_size_bytes #=> Integer
@@ -4838,6 +5016,19 @@ module Aws::DynamoDB
4838
5016
  # data types for those attributes must match those of the schema in the
4839
5017
  # table's attribute definition.
4840
5018
  #
5019
+ # If the table has vector indexes, the following validations apply to
5020
+ # write operations. A violation of any of these constraints results in a
5021
+ # `ValidationException`:
5022
+ #
5023
+ # * The vector attribute must be a list of numbers with dimensions
5024
+ # matching the index configuration.
5025
+ #
5026
+ # * Vector values must fit in 32-bit IEEE-754 floating point format
5027
+ # (f32).
5028
+ #
5029
+ # * Partition key and inline filter attributes defined in the search
5030
+ # schema must have data types matching the index schema definition.
5031
+ #
4841
5032
  # Empty String and Binary attribute values are allowed. Attribute values
4842
5033
  # of type String and Binary must have a length greater than zero if the
4843
5034
  # attribute is used as a key attribute for a table or index.
@@ -5099,6 +5290,9 @@ module Aws::DynamoDB
5099
5290
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
5100
5291
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
5101
5292
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
5293
+ # resp.consumed_capacity.vector_indexes #=> Hash
5294
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
5295
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
5102
5296
  # resp.item_collection_metrics.item_collection_key #=> Hash
5103
5297
  # resp.item_collection_metrics.item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
5104
5298
  # resp.item_collection_metrics.size_estimate_range_gb #=> Array
@@ -5742,6 +5936,9 @@ module Aws::DynamoDB
5742
5936
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
5743
5937
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
5744
5938
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
5939
+ # resp.consumed_capacity.vector_indexes #=> Hash
5940
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
5941
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
5745
5942
  #
5746
5943
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query AWS API Documentation
5747
5944
  #
@@ -5803,6 +6000,12 @@ module Aws::DynamoDB
5803
6000
  # @option params [Types::SSESpecification] :sse_specification_override
5804
6001
  # The new server-side encryption settings for the restored table.
5805
6002
  #
6003
+ # @option params [Array<Types::VectorIndex>] :vector_index_override
6004
+ # The vector indexes for the restored table. If not specified, all
6005
+ # vector indexes from the backup are restored. The indexes provided must
6006
+ # match existing vector indexes from the backup. You can choose to
6007
+ # exclude some or all of the vector indexes at the time of restore.
6008
+ #
5806
6009
  # @return [Types::RestoreTableFromBackupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5807
6010
  #
5808
6011
  # * {Types::RestoreTableFromBackupOutput#table_description #table_description} => Types::TableDescription
@@ -5868,6 +6071,26 @@ module Aws::DynamoDB
5868
6071
  # sse_type: "AES256", # accepts AES256, KMS
5869
6072
  # kms_master_key_id: "KMSMasterKeyId",
5870
6073
  # },
6074
+ # vector_index_override: [
6075
+ # {
6076
+ # index_name: "IndexName", # required
6077
+ # vector_attribute: { # required
6078
+ # attribute_name: "VectorAttributeName", # required
6079
+ # },
6080
+ # search_schema: [
6081
+ # {
6082
+ # attribute_name: "AttributeName", # required
6083
+ # search_schema_element_type: "HASH", # required, accepts HASH, INLINE_FILTER
6084
+ # },
6085
+ # ],
6086
+ # projection: { # required
6087
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
6088
+ # non_key_attributes: ["NonKeyAttributeName"],
6089
+ # },
6090
+ # dimensions: 1, # required
6091
+ # distance_function: "COSINE", # required, accepts COSINE, DOT_PRODUCT, EUCLIDEAN
6092
+ # },
6093
+ # ],
5871
6094
  # })
5872
6095
  #
5873
6096
  # @example Response structure
@@ -5978,6 +6201,22 @@ module Aws::DynamoDB
5978
6201
  # resp.table_description.warm_throughput.write_units_per_second #=> Integer
5979
6202
  # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
5980
6203
  # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
6204
+ # resp.table_description.vector_indexes #=> Array
6205
+ # resp.table_description.vector_indexes[0].index_name #=> String
6206
+ # resp.table_description.vector_indexes[0].search_schema #=> Array
6207
+ # resp.table_description.vector_indexes[0].search_schema[0].attribute_name #=> String
6208
+ # resp.table_description.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
6209
+ # resp.table_description.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
6210
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes #=> Array
6211
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes[0] #=> String
6212
+ # resp.table_description.vector_indexes[0].vector_attribute.attribute_name #=> String
6213
+ # resp.table_description.vector_indexes[0].dimensions #=> Integer
6214
+ # resp.table_description.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
6215
+ # resp.table_description.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
6216
+ # resp.table_description.vector_indexes[0].backfilling #=> Boolean
6217
+ # resp.table_description.vector_indexes[0].index_size_bytes #=> Integer
6218
+ # resp.table_description.vector_indexes[0].item_count #=> Integer
6219
+ # resp.table_description.vector_indexes[0].index_arn #=> String
5981
6220
  #
5982
6221
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup AWS API Documentation
5983
6222
  #
@@ -6055,6 +6294,12 @@ module Aws::DynamoDB
6055
6294
  # provided should match existing secondary indexes. You can choose to
6056
6295
  # exclude some or all of the indexes at the time of restore.
6057
6296
  #
6297
+ # The `WarmThroughput` setting is not supported on global secondary
6298
+ # indexes when you use `RestoreTableToPointInTime`. Although
6299
+ # `WarmThroughput` appears in the shared index definition, including it
6300
+ # in a `GlobalSecondaryIndexOverride` entry causes the request to fail
6301
+ # with a validation error.
6302
+ #
6058
6303
  # @option params [Array<Types::LocalSecondaryIndex>] :local_secondary_index_override
6059
6304
  # List of local secondary indexes for the restored table. The indexes
6060
6305
  # provided should match existing secondary indexes. You can choose to
@@ -6071,6 +6316,13 @@ module Aws::DynamoDB
6071
6316
  # @option params [Types::SSESpecification] :sse_specification_override
6072
6317
  # The new server-side encryption settings for the restored table.
6073
6318
  #
6319
+ # @option params [Array<Types::VectorIndex>] :vector_index_override
6320
+ # The vector indexes for the restored table. If not specified, all
6321
+ # vector indexes from the source table are restored. The indexes
6322
+ # provided must match existing vector indexes from the source table. You
6323
+ # can choose to exclude some or all of the vector indexes at the time of
6324
+ # restore.
6325
+ #
6074
6326
  # @return [Types::RestoreTableToPointInTimeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6075
6327
  #
6076
6328
  # * {Types::RestoreTableToPointInTimeOutput#table_description #table_description} => Types::TableDescription
@@ -6139,6 +6391,26 @@ module Aws::DynamoDB
6139
6391
  # sse_type: "AES256", # accepts AES256, KMS
6140
6392
  # kms_master_key_id: "KMSMasterKeyId",
6141
6393
  # },
6394
+ # vector_index_override: [
6395
+ # {
6396
+ # index_name: "IndexName", # required
6397
+ # vector_attribute: { # required
6398
+ # attribute_name: "VectorAttributeName", # required
6399
+ # },
6400
+ # search_schema: [
6401
+ # {
6402
+ # attribute_name: "AttributeName", # required
6403
+ # search_schema_element_type: "HASH", # required, accepts HASH, INLINE_FILTER
6404
+ # },
6405
+ # ],
6406
+ # projection: { # required
6407
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
6408
+ # non_key_attributes: ["NonKeyAttributeName"],
6409
+ # },
6410
+ # dimensions: 1, # required
6411
+ # distance_function: "COSINE", # required, accepts COSINE, DOT_PRODUCT, EUCLIDEAN
6412
+ # },
6413
+ # ],
6142
6414
  # })
6143
6415
  #
6144
6416
  # @example Response structure
@@ -6249,6 +6521,22 @@ module Aws::DynamoDB
6249
6521
  # resp.table_description.warm_throughput.write_units_per_second #=> Integer
6250
6522
  # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
6251
6523
  # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
6524
+ # resp.table_description.vector_indexes #=> Array
6525
+ # resp.table_description.vector_indexes[0].index_name #=> String
6526
+ # resp.table_description.vector_indexes[0].search_schema #=> Array
6527
+ # resp.table_description.vector_indexes[0].search_schema[0].attribute_name #=> String
6528
+ # resp.table_description.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
6529
+ # resp.table_description.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
6530
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes #=> Array
6531
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes[0] #=> String
6532
+ # resp.table_description.vector_indexes[0].vector_attribute.attribute_name #=> String
6533
+ # resp.table_description.vector_indexes[0].dimensions #=> Integer
6534
+ # resp.table_description.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
6535
+ # resp.table_description.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
6536
+ # resp.table_description.vector_indexes[0].backfilling #=> Boolean
6537
+ # resp.table_description.vector_indexes[0].index_size_bytes #=> Integer
6538
+ # resp.table_description.vector_indexes[0].item_count #=> Integer
6539
+ # resp.table_description.vector_indexes[0].index_arn #=> String
6252
6540
  #
6253
6541
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime AWS API Documentation
6254
6542
  #
@@ -6717,6 +7005,9 @@ module Aws::DynamoDB
6717
7005
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
6718
7006
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
6719
7007
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
7008
+ # resp.consumed_capacity.vector_indexes #=> Hash
7009
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
7010
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
6720
7011
  #
6721
7012
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan AWS API Documentation
6722
7013
  #
@@ -6727,6 +7018,182 @@ module Aws::DynamoDB
6727
7018
  req.send_request(options)
6728
7019
  end
6729
7020
 
7021
+ # Performs a vector similarity search on a vector index associated with
7022
+ # an Amazon DynamoDB table, and returns the most similar items sorted by
7023
+ # similarity score based on the distance function configured for the
7024
+ # index.
7025
+ #
7026
+ # Score interpretation depends on the distance function:
7027
+ #
7028
+ # * `COSINE` - Returns the items with the *k smallest* scores. Scores
7029
+ # range from 0 (identical) to 2 (opposite). Lower scores indicate
7030
+ # higher similarity.
7031
+ #
7032
+ # * `EUCLIDEAN` - Returns the items with the *k smallest* scores. Scores
7033
+ # represent the Euclidean distance between vectors. Lower scores
7034
+ # indicate higher similarity.
7035
+ #
7036
+ # * `DOT_PRODUCT` - Returns the items with the *k highest* scores.
7037
+ # Higher scores indicate higher similarity.
7038
+ #
7039
+ # @option params [required, String] :table_name
7040
+ # The name or Amazon Resource Name (ARN) of the table containing the
7041
+ # vector index.
7042
+ #
7043
+ # @option params [required, String] :index_name
7044
+ # The name of the vector index to search. The index must be in the
7045
+ # `ACTIVE` state.
7046
+ #
7047
+ # @option params [String] :return_consumed_capacity
7048
+ # Determines the level of detail about either provisioned or on-demand
7049
+ # throughput consumption that is returned in the response:
7050
+ #
7051
+ # * `INDEXES` - The response includes the aggregate `ConsumedCapacity`
7052
+ # for the operation, together with `ConsumedCapacity` for each table
7053
+ # and secondary index that was accessed.
7054
+ #
7055
+ # Note that some operations, such as `GetItem` and `BatchGetItem`, do
7056
+ # not access any indexes at all. In these cases, specifying `INDEXES`
7057
+ # will only return `ConsumedCapacity` information for table(s).
7058
+ #
7059
+ # * `TOTAL` - The response includes only the aggregate
7060
+ # `ConsumedCapacity` for the operation.
7061
+ #
7062
+ # * `NONE` - No `ConsumedCapacity` details are included in the response.
7063
+ #
7064
+ # @option params [Hash<String,String>] :expression_attribute_names
7065
+ # One or more substitution tokens for attribute names in an expression.
7066
+ # Use the `#` character in an expression to dereference an attribute
7067
+ # name.
7068
+ #
7069
+ # @option params [Hash<String,Types::AttributeValue>] :expression_attribute_values
7070
+ # One or more values that can be substituted in an expression. Use the
7071
+ # `:` character in an expression to dereference an attribute value.
7072
+ #
7073
+ # @option params [String] :projection_expression
7074
+ # A string that identifies one or more attributes to retrieve from the
7075
+ # index. Separate attribute names with commas. If not specified, the
7076
+ # operation returns all attributes projected into the vector index.
7077
+ #
7078
+ # Only attributes projected into the vector index can be retrieved.
7079
+ #
7080
+ # @option params [required, Array<Types::AttributeValue>] :search_vector
7081
+ # The search vector to compare against the indexed vectors. Each element
7082
+ # is a 32-bit IEEE-754 floating point number, provided in DynamoDB list
7083
+ # format.
7084
+ #
7085
+ # The number of dimensions must match the number of dimensions
7086
+ # configured for the vector index.
7087
+ #
7088
+ # @option params [String] :search_condition_expression
7089
+ # A condition expression used to filter the vector search results. The
7090
+ # expression can reference attributes defined in the vector index search
7091
+ # schema, including `HASH` and `INLINE_FILTER` key elements.
7092
+ #
7093
+ # Only the equality operator (`=`) is supported for `HASH` attributes.
7094
+ # Comparison and range operators are supported for `INLINE_FILTER`
7095
+ # attributes. Only top-level attributes from the search schema can be
7096
+ # referenced.
7097
+ #
7098
+ # @option params [required, Integer] :top_k
7099
+ # The number of most similar results to return.
7100
+ #
7101
+ # @return [Types::SearchVectorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7102
+ #
7103
+ # * {Types::SearchVectorsOutput#consumed_capacity #consumed_capacity} => Types::VectorCapacity
7104
+ # * {Types::SearchVectorsOutput#search_results #search_results} => Array&lt;Types::SearchResultItem&gt;
7105
+ #
7106
+ #
7107
+ # @example Example: To search for similar vectors
7108
+ #
7109
+ # # This example searches the Products table for the top 3 items most similar to a provided vector, using the
7110
+ # # 'cosine-product-idx' vector index. The SearchConditionExpression filters results to the 'Electronics' category. The
7111
+ # # operation returns only the ProductName and Price attributes.
7112
+ #
7113
+ # resp = client.search_vectors({
7114
+ # expression_attribute_values: {
7115
+ # ":cat" => "Electronics",
7116
+ # },
7117
+ # index_name: "cosine-product-idx",
7118
+ # projection_expression: "ProductName, Price",
7119
+ # return_consumed_capacity: "INDEXES",
7120
+ # search_condition_expression: "Category = :cat",
7121
+ # search_vector: [
7122
+ # "0.12",
7123
+ # "0.85",
7124
+ # "0.44",
7125
+ # "0.67",
7126
+ # ],
7127
+ # table_name: "Products",
7128
+ # top_k: 3,
7129
+ # })
7130
+ #
7131
+ # resp.to_h outputs the following:
7132
+ # {
7133
+ # consumed_capacity: {
7134
+ # vector_search_request_bytes: 1024,
7135
+ # },
7136
+ # search_results: [
7137
+ # {
7138
+ # item: {
7139
+ # "Price" => "79.99",
7140
+ # "ProductName" => "Wireless Headphones",
7141
+ # },
7142
+ # score: 0.95,
7143
+ # },
7144
+ # {
7145
+ # item: {
7146
+ # "Price" => "49.99",
7147
+ # "ProductName" => "Bluetooth Speaker",
7148
+ # },
7149
+ # score: 0.87,
7150
+ # },
7151
+ # {
7152
+ # item: {
7153
+ # "Price" => "34.99",
7154
+ # "ProductName" => "USB-C Hub",
7155
+ # },
7156
+ # score: 0.82,
7157
+ # },
7158
+ # ],
7159
+ # }
7160
+ #
7161
+ # @example Request syntax with placeholder values
7162
+ #
7163
+ # resp = client.search_vectors({
7164
+ # table_name: "TableArn", # required
7165
+ # index_name: "IndexName", # required
7166
+ # return_consumed_capacity: "INDEXES", # accepts INDEXES, TOTAL, NONE
7167
+ # expression_attribute_names: {
7168
+ # "ExpressionAttributeNameVariable" => "AttributeName",
7169
+ # },
7170
+ # expression_attribute_values: {
7171
+ # "ExpressionAttributeValueVariable" => "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7172
+ # },
7173
+ # projection_expression: "ProjectionExpression",
7174
+ # search_vector: ["value"], # required, value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7175
+ # search_condition_expression: "String",
7176
+ # top_k: 1, # required
7177
+ # })
7178
+ #
7179
+ # @example Response structure
7180
+ #
7181
+ # resp.consumed_capacity.vector_search_request_bytes #=> Float
7182
+ # resp.consumed_capacity.vector_write_request_bytes #=> Float
7183
+ # resp.search_results #=> Array
7184
+ # resp.search_results[0].item #=> Hash
7185
+ # resp.search_results[0].item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7186
+ # resp.search_results[0].score #=> Float
7187
+ #
7188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/SearchVectors AWS API Documentation
7189
+ #
7190
+ # @overload search_vectors(params = {})
7191
+ # @param [Hash] params ({})
7192
+ def search_vectors(params = {}, options = {})
7193
+ req = build_request(:search_vectors, params)
7194
+ req.send_request(options)
7195
+ end
7196
+
6730
7197
  # Associate a set of tags with an Amazon DynamoDB resource. You can then
6731
7198
  # activate these user-defined tags so that they appear on the Billing
6732
7199
  # and Cost Management console for cost allocation tracking. You can call
@@ -6855,6 +7322,9 @@ module Aws::DynamoDB
6855
7322
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
6856
7323
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
6857
7324
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
7325
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
7326
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
7327
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
6858
7328
  # resp.responses #=> Array
6859
7329
  # resp.responses[0].item #=> Hash
6860
7330
  # resp.responses[0].item["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -7074,6 +7544,9 @@ module Aws::DynamoDB
7074
7544
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].read_capacity_units #=> Float
7075
7545
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].write_capacity_units #=> Float
7076
7546
  # resp.consumed_capacity[0].global_secondary_indexes["IndexName"].capacity_units #=> Float
7547
+ # resp.consumed_capacity[0].vector_indexes #=> Hash
7548
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_search_request_bytes #=> Float
7549
+ # resp.consumed_capacity[0].vector_indexes["IndexName"].vector_write_request_bytes #=> Float
7077
7550
  # resp.item_collection_metrics #=> Hash
7078
7551
  # resp.item_collection_metrics["TableArn"] #=> Array
7079
7552
  # resp.item_collection_metrics["TableArn"][0].item_collection_key #=> Hash
@@ -7955,6 +8428,9 @@ module Aws::DynamoDB
7955
8428
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].read_capacity_units #=> Float
7956
8429
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].write_capacity_units #=> Float
7957
8430
  # resp.consumed_capacity.global_secondary_indexes["IndexName"].capacity_units #=> Float
8431
+ # resp.consumed_capacity.vector_indexes #=> Hash
8432
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_search_request_bytes #=> Float
8433
+ # resp.consumed_capacity.vector_indexes["IndexName"].vector_write_request_bytes #=> Float
7958
8434
  # resp.item_collection_metrics.item_collection_key #=> Hash
7959
8435
  # resp.item_collection_metrics.item_collection_key["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
7960
8436
  # resp.item_collection_metrics.size_estimate_range_gb #=> Array
@@ -8180,6 +8656,14 @@ module Aws::DynamoDB
8180
8656
  # Settings replication needs to be defined to ENABLED again in order
8181
8657
  # to create a Multi-Account Global Table using this table.
8182
8658
  #
8659
+ # @option params [Array<Types::VectorIndexUpdate>] :vector_index_updates
8660
+ # A list of vector indexes to be added to or removed from the table. You
8661
+ # can add or remove one vector index for each `UpdateTable` operation.
8662
+ #
8663
+ # To add a vector index, specify `IndexName`, `VectorAttribute`,
8664
+ # `Dimensions`, `DistanceFunction`, and `Projection`. To remove a vector
8665
+ # index, specify only the `IndexName`.
8666
+ #
8183
8667
  # @return [Types::UpdateTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8184
8668
  #
8185
8669
  # * {Types::UpdateTableOutput#table_description #table_description} => Types::TableDescription
@@ -8378,6 +8862,31 @@ module Aws::DynamoDB
8378
8862
  # write_units_per_second: 1,
8379
8863
  # },
8380
8864
  # global_table_settings_replication_mode: "ENABLED", # accepts ENABLED, DISABLED, ENABLED_WITH_OVERRIDES
8865
+ # vector_index_updates: [
8866
+ # {
8867
+ # create: {
8868
+ # index_name: "IndexName", # required
8869
+ # vector_attribute: { # required
8870
+ # attribute_name: "VectorAttributeName", # required
8871
+ # },
8872
+ # search_schema: [
8873
+ # {
8874
+ # attribute_name: "AttributeName", # required
8875
+ # search_schema_element_type: "HASH", # required, accepts HASH, INLINE_FILTER
8876
+ # },
8877
+ # ],
8878
+ # projection: { # required
8879
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
8880
+ # non_key_attributes: ["NonKeyAttributeName"],
8881
+ # },
8882
+ # dimensions: 1, # required
8883
+ # distance_function: "COSINE", # required, accepts COSINE, DOT_PRODUCT, EUCLIDEAN
8884
+ # },
8885
+ # delete: {
8886
+ # index_name: "IndexName", # required
8887
+ # },
8888
+ # },
8889
+ # ],
8381
8890
  # })
8382
8891
  #
8383
8892
  # @example Response structure
@@ -8488,6 +8997,22 @@ module Aws::DynamoDB
8488
8997
  # resp.table_description.warm_throughput.write_units_per_second #=> Integer
8489
8998
  # resp.table_description.warm_throughput.status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "INACCESSIBLE_ENCRYPTION_CREDENTIALS", "ARCHIVING", "ARCHIVED", "REPLICATION_NOT_AUTHORIZED"
8490
8999
  # resp.table_description.multi_region_consistency #=> String, one of "EVENTUAL", "STRONG"
9000
+ # resp.table_description.vector_indexes #=> Array
9001
+ # resp.table_description.vector_indexes[0].index_name #=> String
9002
+ # resp.table_description.vector_indexes[0].search_schema #=> Array
9003
+ # resp.table_description.vector_indexes[0].search_schema[0].attribute_name #=> String
9004
+ # resp.table_description.vector_indexes[0].search_schema[0].search_schema_element_type #=> String, one of "HASH", "INLINE_FILTER"
9005
+ # resp.table_description.vector_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
9006
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes #=> Array
9007
+ # resp.table_description.vector_indexes[0].projection.non_key_attributes[0] #=> String
9008
+ # resp.table_description.vector_indexes[0].vector_attribute.attribute_name #=> String
9009
+ # resp.table_description.vector_indexes[0].dimensions #=> Integer
9010
+ # resp.table_description.vector_indexes[0].distance_function #=> String, one of "COSINE", "DOT_PRODUCT", "EUCLIDEAN"
9011
+ # resp.table_description.vector_indexes[0].index_status #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE"
9012
+ # resp.table_description.vector_indexes[0].backfilling #=> Boolean
9013
+ # resp.table_description.vector_indexes[0].index_size_bytes #=> Integer
9014
+ # resp.table_description.vector_indexes[0].item_count #=> Integer
9015
+ # resp.table_description.vector_indexes[0].index_arn #=> String
8491
9016
  #
8492
9017
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable AWS API Documentation
8493
9018
  #
@@ -8752,7 +9277,7 @@ module Aws::DynamoDB
8752
9277
  tracer: tracer
8753
9278
  )
8754
9279
  context[:gem_name] = 'aws-sdk-dynamodb'
8755
- context[:gem_version] = '1.171.0'
9280
+ context[:gem_version] = '1.173.0'
8756
9281
  Seahorse::Client::Request.new(handlers, context)
8757
9282
  end
8758
9283