aws-sdk-dynamodb 1.74.0 → 1.81.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.
@@ -37,6 +37,8 @@ module Aws::DynamoDB
37
37
  # * {GlobalTableAlreadyExistsException}
38
38
  # * {GlobalTableNotFoundException}
39
39
  # * {IdempotentParameterMismatchException}
40
+ # * {ImportConflictException}
41
+ # * {ImportNotFoundException}
40
42
  # * {IndexNotFoundException}
41
43
  # * {InternalServerError}
42
44
  # * {InvalidExportTimeException}
@@ -213,6 +215,36 @@ module Aws::DynamoDB
213
215
  end
214
216
  end
215
217
 
218
+ class ImportConflictException < ServiceError
219
+
220
+ # @param [Seahorse::Client::RequestContext] context
221
+ # @param [String] message
222
+ # @param [Aws::DynamoDB::Types::ImportConflictException] data
223
+ def initialize(context, message, data = Aws::EmptyStructure.new)
224
+ super(context, message, data)
225
+ end
226
+
227
+ # @return [String]
228
+ def message
229
+ @message || @data[:message]
230
+ end
231
+ end
232
+
233
+ class ImportNotFoundException < ServiceError
234
+
235
+ # @param [Seahorse::Client::RequestContext] context
236
+ # @param [String] message
237
+ # @param [Aws::DynamoDB::Types::ImportNotFoundException] data
238
+ def initialize(context, message, data = Aws::EmptyStructure.new)
239
+ super(context, message, data)
240
+ end
241
+
242
+ # @return [String]
243
+ def message
244
+ @message || @data[:message]
245
+ end
246
+ end
247
+
216
248
  class IndexNotFoundException < ServiceError
217
249
 
218
250
  # @param [Seahorse::Client::RequestContext] context
@@ -0,0 +1,174 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::DynamoDB
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::DynamoDB::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::DynamoDB::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::DynamoDB::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :batch_execute_statement
60
+ Aws::DynamoDB::Endpoints::BatchExecuteStatement.build(context)
61
+ when :batch_get_item
62
+ Aws::DynamoDB::Endpoints::BatchGetItem.build(context)
63
+ when :batch_write_item
64
+ Aws::DynamoDB::Endpoints::BatchWriteItem.build(context)
65
+ when :create_backup
66
+ Aws::DynamoDB::Endpoints::CreateBackup.build(context)
67
+ when :create_global_table
68
+ Aws::DynamoDB::Endpoints::CreateGlobalTable.build(context)
69
+ when :create_table
70
+ Aws::DynamoDB::Endpoints::CreateTable.build(context)
71
+ when :delete_backup
72
+ Aws::DynamoDB::Endpoints::DeleteBackup.build(context)
73
+ when :delete_item
74
+ Aws::DynamoDB::Endpoints::DeleteItem.build(context)
75
+ when :delete_table
76
+ Aws::DynamoDB::Endpoints::DeleteTable.build(context)
77
+ when :describe_backup
78
+ Aws::DynamoDB::Endpoints::DescribeBackup.build(context)
79
+ when :describe_continuous_backups
80
+ Aws::DynamoDB::Endpoints::DescribeContinuousBackups.build(context)
81
+ when :describe_contributor_insights
82
+ Aws::DynamoDB::Endpoints::DescribeContributorInsights.build(context)
83
+ when :describe_endpoints
84
+ Aws::DynamoDB::Endpoints::DescribeEndpoints.build(context)
85
+ when :describe_export
86
+ Aws::DynamoDB::Endpoints::DescribeExport.build(context)
87
+ when :describe_global_table
88
+ Aws::DynamoDB::Endpoints::DescribeGlobalTable.build(context)
89
+ when :describe_global_table_settings
90
+ Aws::DynamoDB::Endpoints::DescribeGlobalTableSettings.build(context)
91
+ when :describe_import
92
+ Aws::DynamoDB::Endpoints::DescribeImport.build(context)
93
+ when :describe_kinesis_streaming_destination
94
+ Aws::DynamoDB::Endpoints::DescribeKinesisStreamingDestination.build(context)
95
+ when :describe_limits
96
+ Aws::DynamoDB::Endpoints::DescribeLimits.build(context)
97
+ when :describe_table
98
+ Aws::DynamoDB::Endpoints::DescribeTable.build(context)
99
+ when :describe_table_replica_auto_scaling
100
+ Aws::DynamoDB::Endpoints::DescribeTableReplicaAutoScaling.build(context)
101
+ when :describe_time_to_live
102
+ Aws::DynamoDB::Endpoints::DescribeTimeToLive.build(context)
103
+ when :disable_kinesis_streaming_destination
104
+ Aws::DynamoDB::Endpoints::DisableKinesisStreamingDestination.build(context)
105
+ when :enable_kinesis_streaming_destination
106
+ Aws::DynamoDB::Endpoints::EnableKinesisStreamingDestination.build(context)
107
+ when :execute_statement
108
+ Aws::DynamoDB::Endpoints::ExecuteStatement.build(context)
109
+ when :execute_transaction
110
+ Aws::DynamoDB::Endpoints::ExecuteTransaction.build(context)
111
+ when :export_table_to_point_in_time
112
+ Aws::DynamoDB::Endpoints::ExportTableToPointInTime.build(context)
113
+ when :get_item
114
+ Aws::DynamoDB::Endpoints::GetItem.build(context)
115
+ when :import_table
116
+ Aws::DynamoDB::Endpoints::ImportTable.build(context)
117
+ when :list_backups
118
+ Aws::DynamoDB::Endpoints::ListBackups.build(context)
119
+ when :list_contributor_insights
120
+ Aws::DynamoDB::Endpoints::ListContributorInsights.build(context)
121
+ when :list_exports
122
+ Aws::DynamoDB::Endpoints::ListExports.build(context)
123
+ when :list_global_tables
124
+ Aws::DynamoDB::Endpoints::ListGlobalTables.build(context)
125
+ when :list_imports
126
+ Aws::DynamoDB::Endpoints::ListImports.build(context)
127
+ when :list_tables
128
+ Aws::DynamoDB::Endpoints::ListTables.build(context)
129
+ when :list_tags_of_resource
130
+ Aws::DynamoDB::Endpoints::ListTagsOfResource.build(context)
131
+ when :put_item
132
+ Aws::DynamoDB::Endpoints::PutItem.build(context)
133
+ when :query
134
+ Aws::DynamoDB::Endpoints::Query.build(context)
135
+ when :restore_table_from_backup
136
+ Aws::DynamoDB::Endpoints::RestoreTableFromBackup.build(context)
137
+ when :restore_table_to_point_in_time
138
+ Aws::DynamoDB::Endpoints::RestoreTableToPointInTime.build(context)
139
+ when :scan
140
+ Aws::DynamoDB::Endpoints::Scan.build(context)
141
+ when :tag_resource
142
+ Aws::DynamoDB::Endpoints::TagResource.build(context)
143
+ when :transact_get_items
144
+ Aws::DynamoDB::Endpoints::TransactGetItems.build(context)
145
+ when :transact_write_items
146
+ Aws::DynamoDB::Endpoints::TransactWriteItems.build(context)
147
+ when :untag_resource
148
+ Aws::DynamoDB::Endpoints::UntagResource.build(context)
149
+ when :update_continuous_backups
150
+ Aws::DynamoDB::Endpoints::UpdateContinuousBackups.build(context)
151
+ when :update_contributor_insights
152
+ Aws::DynamoDB::Endpoints::UpdateContributorInsights.build(context)
153
+ when :update_global_table
154
+ Aws::DynamoDB::Endpoints::UpdateGlobalTable.build(context)
155
+ when :update_global_table_settings
156
+ Aws::DynamoDB::Endpoints::UpdateGlobalTableSettings.build(context)
157
+ when :update_item
158
+ Aws::DynamoDB::Endpoints::UpdateItem.build(context)
159
+ when :update_table
160
+ Aws::DynamoDB::Endpoints::UpdateTable.build(context)
161
+ when :update_table_replica_auto_scaling
162
+ Aws::DynamoDB::Endpoints::UpdateTableReplicaAutoScaling.build(context)
163
+ when :update_time_to_live
164
+ Aws::DynamoDB::Endpoints::UpdateTimeToLive.build(context)
165
+ end
166
+ end
167
+ end
168
+
169
+ def add_handlers(handlers, _config)
170
+ handlers.add(Handler, step: :build, priority: 75)
171
+ end
172
+ end
173
+ end
174
+ end
@@ -86,7 +86,8 @@ module Aws::DynamoDB
86
86
  #
87
87
  # * `CREATING` - The table is being created.
88
88
  #
89
- # * `UPDATING` - The table is being updated.
89
+ # * `UPDATING` - The table/index configuration is being updated. The
90
+ # table/index remains available for data operations when `UPDATING`.
90
91
  #
91
92
  # * `DELETING` - The table is being deleted.
92
93
  #
@@ -194,9 +195,9 @@ module Aws::DynamoDB
194
195
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
195
196
  # that are projected into the secondary index. The total count of
196
197
  # attributes provided in `NonKeyAttributes`, summed across all of
197
- # the secondary indexes, must not exceed 20. If you project the same
198
- # attribute into two different indexes, this counts as two distinct
199
- # attributes when determining the total.
198
+ # the secondary indexes, must not exceed 100. If you project the
199
+ # same attribute into two different indexes, this counts as two
200
+ # distinct attributes when determining the total.
200
201
  #
201
202
  # * `IndexSizeBytes` - Represents the total size of the index, in bytes.
202
203
  # DynamoDB updates this value approximately every six hours. Recent
@@ -275,9 +276,9 @@ module Aws::DynamoDB
275
276
  # * `NonKeyAttributes` - A list of one or more non-key attribute names
276
277
  # that are projected into the secondary index. The total count of
277
278
  # attributes provided in `NonKeyAttributes`, summed across all of
278
- # the secondary indexes, must not exceed 20. If you project the same
279
- # attribute into two different indexes, this counts as two distinct
280
- # attributes when determining the total.
279
+ # the secondary indexes, must not exceed 100. If you project the
280
+ # same attribute into two different indexes, this counts as two
281
+ # distinct attributes when determining the total.
281
282
  #
282
283
  # * `ProvisionedThroughput` - The provisioned throughput settings for
283
284
  # the global secondary index, consisting of read and write capacity
@@ -569,6 +570,10 @@ module Aws::DynamoDB
569
570
  #
570
571
  # * `ALL_OLD` - The content of the old item is returned.
571
572
  #
573
+ # There is no additional cost associated with requesting a return value
574
+ # aside from the small network and processing overhead of receiving a
575
+ # larger response. No read capacity units are consumed.
576
+ #
572
577
  # <note markdown="1"> The `ReturnValues` parameter is used by several DynamoDB operations;
573
578
  # however, `DeleteItem` does not recognize any values other than `NONE`
574
579
  # or `ALL_OLD`.
@@ -897,6 +902,10 @@ module Aws::DynamoDB
897
902
  #
898
903
  # The values returned are strongly consistent.
899
904
  #
905
+ # There is no additional cost associated with requesting a return value
906
+ # aside from the small network and processing overhead of receiving a
907
+ # larger response. No read capacity units are consumed.
908
+ #
900
909
  # <note markdown="1"> The `ReturnValues` parameter is used by several DynamoDB operations;
901
910
  # however, `PutItem` does not recognize any values other than `NONE` or
902
911
  # `ALL_OLD`.
@@ -1097,8 +1106,9 @@ module Aws::DynamoDB
1097
1106
  # matching items themselves.
1098
1107
  #
1099
1108
  # * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
1100
- # `AttributesToGet`. This return value is equivalent to specifying
1101
- # `AttributesToGet` without specifying any value for `Select`.
1109
+ # `ProjectionExpression`. This return value is equivalent to
1110
+ # specifying `ProjectionExpression` without specifying any value for
1111
+ # `Select`.
1102
1112
  #
1103
1113
  # If you query or scan a local secondary index and request only
1104
1114
  # attributes that are projected into that index, the operation will
@@ -1111,12 +1121,12 @@ module Aws::DynamoDB
1111
1121
  # attributes that are projected into the index. Global secondary index
1112
1122
  # queries cannot fetch attributes from the parent table.
1113
1123
  #
1114
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
1124
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
1115
1125
  # defaults to `ALL_ATTRIBUTES` when accessing a table, and
1116
1126
  # `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
1117
- # both `Select` and `AttributesToGet` together in a single request,
1127
+ # both `Select` and `ProjectionExpression` together in a single request,
1118
1128
  # unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
1119
- # equivalent to specifying `AttributesToGet` without any value for
1129
+ # equivalent to specifying `ProjectionExpression` without any value for
1120
1130
  # `Select`.)
1121
1131
  #
1122
1132
  # <note markdown="1"> If you use the `ProjectionExpression` parameter, then the value for
@@ -1254,7 +1264,7 @@ module Aws::DynamoDB
1254
1264
  #
1255
1265
  #
1256
1266
  #
1257
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
1267
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
1258
1268
  # @option options [String] :key_condition_expression
1259
1269
  # The condition that specifies the key values for items to be retrieved
1260
1270
  # by the `Query` action.
@@ -1501,8 +1511,9 @@ module Aws::DynamoDB
1501
1511
  # matching items themselves.
1502
1512
  #
1503
1513
  # * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
1504
- # `AttributesToGet`. This return value is equivalent to specifying
1505
- # `AttributesToGet` without specifying any value for `Select`.
1514
+ # `ProjectionExpression`. This return value is equivalent to
1515
+ # specifying `ProjectionExpression` without specifying any value for
1516
+ # `Select`.
1506
1517
  #
1507
1518
  # If you query or scan a local secondary index and request only
1508
1519
  # attributes that are projected into that index, the operation reads
@@ -1515,12 +1526,12 @@ module Aws::DynamoDB
1515
1526
  # attributes that are projected into the index. Global secondary index
1516
1527
  # queries cannot fetch attributes from the parent table.
1517
1528
  #
1518
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
1529
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
1519
1530
  # defaults to `ALL_ATTRIBUTES` when accessing a table, and
1520
1531
  # `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
1521
- # both `Select` and `AttributesToGet` together in a single request,
1532
+ # both `Select` and `ProjectionExpression` together in a single request,
1522
1533
  # unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
1523
- # equivalent to specifying `AttributesToGet` without any value for
1534
+ # equivalent to specifying `ProjectionExpression` without any value for
1524
1535
  # `Select`.)
1525
1536
  #
1526
1537
  # <note markdown="1"> If you use the `ProjectionExpression` parameter, then the value for
@@ -1633,7 +1644,7 @@ module Aws::DynamoDB
1633
1644
  #
1634
1645
  #
1635
1646
  #
1636
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
1647
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
1637
1648
  # @option options [Hash<String,String>] :expression_attribute_names
1638
1649
  # One or more substitution tokens for attribute names in an expression.
1639
1650
  # The following are some use cases for using