aws-sdk-dynamodb 1.100.0 → 1.101.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.
data/sig/errors.rbs ADDED
@@ -0,0 +1,111 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module DynamoDB
10
+ module Errors
11
+ class ServiceError < ::Aws::Errors::ServiceError
12
+ end
13
+
14
+ class BackupInUseException < ::Aws::Errors::ServiceError
15
+ def message: () -> ::String
16
+ end
17
+ class BackupNotFoundException < ::Aws::Errors::ServiceError
18
+ def message: () -> ::String
19
+ end
20
+ class ConditionalCheckFailedException < ::Aws::Errors::ServiceError
21
+ def message: () -> ::String
22
+ def item: () -> ::String
23
+ end
24
+ class ContinuousBackupsUnavailableException < ::Aws::Errors::ServiceError
25
+ def message: () -> ::String
26
+ end
27
+ class DuplicateItemException < ::Aws::Errors::ServiceError
28
+ def message: () -> ::String
29
+ end
30
+ class ExportConflictException < ::Aws::Errors::ServiceError
31
+ def message: () -> ::String
32
+ end
33
+ class ExportNotFoundException < ::Aws::Errors::ServiceError
34
+ def message: () -> ::String
35
+ end
36
+ class GlobalTableAlreadyExistsException < ::Aws::Errors::ServiceError
37
+ def message: () -> ::String
38
+ end
39
+ class GlobalTableNotFoundException < ::Aws::Errors::ServiceError
40
+ def message: () -> ::String
41
+ end
42
+ class IdempotentParameterMismatchException < ::Aws::Errors::ServiceError
43
+ def message: () -> ::String
44
+ end
45
+ class ImportConflictException < ::Aws::Errors::ServiceError
46
+ def message: () -> ::String
47
+ end
48
+ class ImportNotFoundException < ::Aws::Errors::ServiceError
49
+ def message: () -> ::String
50
+ end
51
+ class IndexNotFoundException < ::Aws::Errors::ServiceError
52
+ def message: () -> ::String
53
+ end
54
+ class InternalServerError < ::Aws::Errors::ServiceError
55
+ def message: () -> ::String
56
+ end
57
+ class InvalidExportTimeException < ::Aws::Errors::ServiceError
58
+ def message: () -> ::String
59
+ end
60
+ class InvalidRestoreTimeException < ::Aws::Errors::ServiceError
61
+ def message: () -> ::String
62
+ end
63
+ class ItemCollectionSizeLimitExceededException < ::Aws::Errors::ServiceError
64
+ def message: () -> ::String
65
+ end
66
+ class LimitExceededException < ::Aws::Errors::ServiceError
67
+ def message: () -> ::String
68
+ end
69
+ class PointInTimeRecoveryUnavailableException < ::Aws::Errors::ServiceError
70
+ def message: () -> ::String
71
+ end
72
+ class ProvisionedThroughputExceededException < ::Aws::Errors::ServiceError
73
+ def message: () -> ::String
74
+ end
75
+ class ReplicaAlreadyExistsException < ::Aws::Errors::ServiceError
76
+ def message: () -> ::String
77
+ end
78
+ class ReplicaNotFoundException < ::Aws::Errors::ServiceError
79
+ def message: () -> ::String
80
+ end
81
+ class RequestLimitExceeded < ::Aws::Errors::ServiceError
82
+ def message: () -> ::String
83
+ end
84
+ class ResourceInUseException < ::Aws::Errors::ServiceError
85
+ def message: () -> ::String
86
+ end
87
+ class ResourceNotFoundException < ::Aws::Errors::ServiceError
88
+ def message: () -> ::String
89
+ end
90
+ class TableAlreadyExistsException < ::Aws::Errors::ServiceError
91
+ def message: () -> ::String
92
+ end
93
+ class TableInUseException < ::Aws::Errors::ServiceError
94
+ def message: () -> ::String
95
+ end
96
+ class TableNotFoundException < ::Aws::Errors::ServiceError
97
+ def message: () -> ::String
98
+ end
99
+ class TransactionCanceledException < ::Aws::Errors::ServiceError
100
+ def message: () -> ::String
101
+ def cancellation_reasons: () -> ::String
102
+ end
103
+ class TransactionConflictException < ::Aws::Errors::ServiceError
104
+ def message: () -> ::String
105
+ end
106
+ class TransactionInProgressException < ::Aws::Errors::ServiceError
107
+ def message: () -> ::String
108
+ end
109
+ end
110
+ end
111
+ end
data/sig/resource.rbs ADDED
@@ -0,0 +1,196 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module DynamoDB
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html
11
+ class Resource
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#initialize-instance_method
13
+ def initialize: (
14
+ ?client: Client,
15
+ ?credentials: untyped,
16
+ ?region: String,
17
+ ?access_key_id: String,
18
+ ?active_endpoint_cache: bool,
19
+ ?adaptive_retry_wait_to_fill: bool,
20
+ ?client_side_monitoring: bool,
21
+ ?client_side_monitoring_client_id: String,
22
+ ?client_side_monitoring_host: String,
23
+ ?client_side_monitoring_port: Integer,
24
+ ?client_side_monitoring_publisher: untyped,
25
+ ?compute_checksums: bool,
26
+ ?convert_params: bool,
27
+ ?correct_clock_skew: bool,
28
+ ?defaults_mode: String,
29
+ ?disable_host_prefix_injection: bool,
30
+ ?disable_request_compression: bool,
31
+ ?endpoint: String,
32
+ ?endpoint_cache_max_entries: Integer,
33
+ ?endpoint_cache_max_threads: Integer,
34
+ ?endpoint_cache_poll_interval: Integer,
35
+ ?endpoint_discovery: bool,
36
+ ?ignore_configured_endpoint_urls: bool,
37
+ ?log_formatter: untyped,
38
+ ?log_level: Symbol,
39
+ ?logger: untyped,
40
+ ?max_attempts: Integer,
41
+ ?profile: String,
42
+ ?request_min_compression_size_bytes: Integer,
43
+ ?retry_backoff: Proc,
44
+ ?retry_base_delay: Float,
45
+ ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
46
+ ?retry_limit: Integer,
47
+ ?retry_max_delay: Integer,
48
+ ?retry_mode: ("legacy" | "standard" | "adaptive"),
49
+ ?sdk_ua_app_id: String,
50
+ ?secret_access_key: String,
51
+ ?session_token: String,
52
+ ?simple_attributes: bool,
53
+ ?simple_json: bool,
54
+ ?stub_responses: untyped,
55
+ ?token_provider: untyped,
56
+ ?use_dualstack_endpoint: bool,
57
+ ?use_fips_endpoint: bool,
58
+ ?validate_params: bool,
59
+ ?endpoint_provider: untyped,
60
+ ?http_proxy: String,
61
+ ?http_open_timeout: (Float | Integer),
62
+ ?http_read_timeout: (Float | Integer),
63
+ ?http_idle_timeout: (Float | Integer),
64
+ ?http_continue_timeout: (Float | Integer),
65
+ ?ssl_timeout: (Float | Integer | nil),
66
+ ?http_wire_trace: bool,
67
+ ?ssl_verify_peer: bool,
68
+ ?ssl_ca_bundle: String,
69
+ ?ssl_ca_directory: String,
70
+ ?ssl_ca_store: String,
71
+ ?on_chunk_received: Proc,
72
+ ?on_chunk_sent: Proc,
73
+ ?raise_response_errors: bool
74
+ ) -> void
75
+ | (?Hash[Symbol, untyped]) -> void
76
+
77
+ def client: () -> Client
78
+
79
+
80
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#batch_get_item-instance_method
81
+ def batch_get_item: (
82
+ request_items: Hash[::String, {
83
+ keys: Array[
84
+ Hash[::String, untyped],
85
+ ],
86
+ attributes_to_get: Array[::String]?,
87
+ consistent_read: bool?,
88
+ projection_expression: ::String?,
89
+ expression_attribute_names: Hash[::String, ::String]?
90
+ }],
91
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE")
92
+ ) -> Types::BatchGetItemOutput
93
+ | (?Hash[Symbol, untyped]) -> Types::BatchGetItemOutput
94
+
95
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#batch_write_item-instance_method
96
+ def batch_write_item: (
97
+ request_items: Hash[::String, Array[
98
+ {
99
+ put_request: {
100
+ item: Hash[::String, untyped]
101
+ }?,
102
+ delete_request: {
103
+ key: Hash[::String, untyped]
104
+ }?
105
+ },
106
+ ]],
107
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
108
+ ?return_item_collection_metrics: ("SIZE" | "NONE")
109
+ ) -> Types::BatchWriteItemOutput
110
+ | (?Hash[Symbol, untyped]) -> Types::BatchWriteItemOutput
111
+
112
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#create_table-instance_method
113
+ def create_table: (
114
+ attribute_definitions: Array[
115
+ {
116
+ attribute_name: ::String,
117
+ attribute_type: ("S" | "N" | "B")
118
+ },
119
+ ],
120
+ table_name: ::String,
121
+ key_schema: Array[
122
+ {
123
+ attribute_name: ::String,
124
+ key_type: ("HASH" | "RANGE")
125
+ },
126
+ ],
127
+ ?local_secondary_indexes: Array[
128
+ {
129
+ index_name: ::String,
130
+ key_schema: Array[
131
+ {
132
+ attribute_name: ::String,
133
+ key_type: ("HASH" | "RANGE")
134
+ },
135
+ ],
136
+ projection: {
137
+ projection_type: ("ALL" | "KEYS_ONLY" | "INCLUDE")?,
138
+ non_key_attributes: Array[::String]?
139
+ }
140
+ },
141
+ ],
142
+ ?global_secondary_indexes: Array[
143
+ {
144
+ index_name: ::String,
145
+ key_schema: Array[
146
+ {
147
+ attribute_name: ::String,
148
+ key_type: ("HASH" | "RANGE")
149
+ },
150
+ ],
151
+ projection: {
152
+ projection_type: ("ALL" | "KEYS_ONLY" | "INCLUDE")?,
153
+ non_key_attributes: Array[::String]?
154
+ },
155
+ provisioned_throughput: {
156
+ read_capacity_units: ::Integer,
157
+ write_capacity_units: ::Integer
158
+ }?
159
+ },
160
+ ],
161
+ ?billing_mode: ("PROVISIONED" | "PAY_PER_REQUEST"),
162
+ ?provisioned_throughput: {
163
+ read_capacity_units: ::Integer,
164
+ write_capacity_units: ::Integer
165
+ },
166
+ ?stream_specification: {
167
+ stream_enabled: bool,
168
+ stream_view_type: ("NEW_IMAGE" | "OLD_IMAGE" | "NEW_AND_OLD_IMAGES" | "KEYS_ONLY")?
169
+ },
170
+ ?sse_specification: {
171
+ enabled: bool?,
172
+ sse_type: ("AES256" | "KMS")?,
173
+ kms_master_key_id: ::String?
174
+ },
175
+ ?tags: Array[
176
+ {
177
+ key: ::String,
178
+ value: ::String
179
+ },
180
+ ],
181
+ ?table_class: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS"),
182
+ ?deletion_protection_enabled: bool
183
+ ) -> Table
184
+ | (?Hash[Symbol, untyped]) -> Table
185
+
186
+
187
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#table-instance_method
188
+ def table: (String name) -> Table
189
+
190
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Resource.html#tables-instance_method
191
+ def tables: (
192
+ ) -> Table::Collection
193
+ | (?Hash[Symbol, untyped]) -> Table::Collection
194
+ end
195
+ end
196
+ end
data/sig/table.rbs ADDED
@@ -0,0 +1,332 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module DynamoDB
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html
11
+ class Table
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#initialize-instance_method
13
+ def initialize: (String name, Hash[Symbol, untyped] options) -> void
14
+ | (name: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#name-instance_method
18
+ def name: () -> String
19
+ alias table_name name
20
+
21
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#attribute_definitions-instance_method
22
+ def attribute_definitions: () -> ::Array[Types::AttributeDefinition]
23
+
24
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#key_schema-instance_method
25
+ def key_schema: () -> ::Array[Types::KeySchemaElement]
26
+
27
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_status-instance_method
28
+ def table_status: () -> ("CREATING" | "UPDATING" | "DELETING" | "ACTIVE" | "INACCESSIBLE_ENCRYPTION_CREDENTIALS" | "ARCHIVING" | "ARCHIVED")
29
+
30
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#creation_date_time-instance_method
31
+ def creation_date_time: () -> ::Time
32
+
33
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#provisioned_throughput-instance_method
34
+ def provisioned_throughput: () -> Types::ProvisionedThroughputDescription
35
+
36
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_size_bytes-instance_method
37
+ def table_size_bytes: () -> ::Integer
38
+
39
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#item_count-instance_method
40
+ def item_count: () -> ::Integer
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_arn-instance_method
43
+ def table_arn: () -> ::String
44
+
45
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_id-instance_method
46
+ def table_id: () -> ::String
47
+
48
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#billing_mode_summary-instance_method
49
+ def billing_mode_summary: () -> Types::BillingModeSummary
50
+
51
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#local_secondary_indexes-instance_method
52
+ def local_secondary_indexes: () -> ::Array[Types::LocalSecondaryIndexDescription]
53
+
54
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#global_secondary_indexes-instance_method
55
+ def global_secondary_indexes: () -> ::Array[Types::GlobalSecondaryIndexDescription]
56
+
57
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#stream_specification-instance_method
58
+ def stream_specification: () -> Types::StreamSpecification
59
+
60
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#latest_stream_label-instance_method
61
+ def latest_stream_label: () -> ::String
62
+
63
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#latest_stream_arn-instance_method
64
+ def latest_stream_arn: () -> ::String
65
+
66
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#global_table_version-instance_method
67
+ def global_table_version: () -> ::String
68
+
69
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#replicas-instance_method
70
+ def replicas: () -> ::Array[Types::ReplicaDescription]
71
+
72
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#restore_summary-instance_method
73
+ def restore_summary: () -> Types::RestoreSummary
74
+
75
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#sse_description-instance_method
76
+ def sse_description: () -> Types::SSEDescription
77
+
78
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#archival_summary-instance_method
79
+ def archival_summary: () -> Types::ArchivalSummary
80
+
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_class_summary-instance_method
82
+ def table_class_summary: () -> Types::TableClassSummary
83
+
84
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#deletion_protection_enabled-instance_method
85
+ def deletion_protection_enabled: () -> bool
86
+
87
+ def client: () -> Client
88
+
89
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#load-instance_method
90
+ def load: () -> self
91
+ alias reload load
92
+
93
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#data-instance_method
94
+ def data: () -> Types::TableDescription
95
+
96
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#data_loaded?-instance_method
97
+ def data_loaded?: () -> bool
98
+
99
+
100
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#delete-instance_method
101
+ def delete: (
102
+ ) -> Types::DeleteTableOutput
103
+ | (?Hash[Symbol, untyped]) -> Types::DeleteTableOutput
104
+
105
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#delete_item-instance_method
106
+ def delete_item: (
107
+ key: Hash[::String, untyped],
108
+ ?expected: Hash[::String, {
109
+ value: untyped?,
110
+ exists: bool?,
111
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")?,
112
+ attribute_value_list: Array[untyped]?
113
+ }],
114
+ ?conditional_operator: ("AND" | "OR"),
115
+ ?return_values: ("NONE" | "ALL_OLD" | "UPDATED_OLD" | "ALL_NEW" | "UPDATED_NEW"),
116
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
117
+ ?return_item_collection_metrics: ("SIZE" | "NONE"),
118
+ ?condition_expression: ::String,
119
+ ?expression_attribute_names: Hash[::String, ::String],
120
+ ?expression_attribute_values: Hash[::String, untyped],
121
+ ?return_values_on_condition_check_failure: ("ALL_OLD" | "NONE")
122
+ ) -> Types::DeleteItemOutput
123
+ | (?Hash[Symbol, untyped]) -> Types::DeleteItemOutput
124
+
125
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#get_item-instance_method
126
+ def get_item: (
127
+ key: Hash[::String, untyped],
128
+ ?attributes_to_get: Array[::String],
129
+ ?consistent_read: bool,
130
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
131
+ ?projection_expression: ::String,
132
+ ?expression_attribute_names: Hash[::String, ::String]
133
+ ) -> Types::GetItemOutput
134
+ | (?Hash[Symbol, untyped]) -> Types::GetItemOutput
135
+
136
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#put_item-instance_method
137
+ def put_item: (
138
+ item: Hash[::String, untyped],
139
+ ?expected: Hash[::String, {
140
+ value: untyped?,
141
+ exists: bool?,
142
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")?,
143
+ attribute_value_list: Array[untyped]?
144
+ }],
145
+ ?return_values: ("NONE" | "ALL_OLD" | "UPDATED_OLD" | "ALL_NEW" | "UPDATED_NEW"),
146
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
147
+ ?return_item_collection_metrics: ("SIZE" | "NONE"),
148
+ ?conditional_operator: ("AND" | "OR"),
149
+ ?condition_expression: ::String,
150
+ ?expression_attribute_names: Hash[::String, ::String],
151
+ ?expression_attribute_values: Hash[::String, untyped],
152
+ ?return_values_on_condition_check_failure: ("ALL_OLD" | "NONE")
153
+ ) -> Types::PutItemOutput
154
+ | (?Hash[Symbol, untyped]) -> Types::PutItemOutput
155
+
156
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#query-instance_method
157
+ def query: (
158
+ ?index_name: ::String,
159
+ ?select: ("ALL_ATTRIBUTES" | "ALL_PROJECTED_ATTRIBUTES" | "SPECIFIC_ATTRIBUTES" | "COUNT"),
160
+ ?attributes_to_get: Array[::String],
161
+ ?limit: ::Integer,
162
+ ?consistent_read: bool,
163
+ ?key_conditions: Hash[::String, {
164
+ attribute_value_list: Array[untyped]?,
165
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")
166
+ }],
167
+ ?query_filter: Hash[::String, {
168
+ attribute_value_list: Array[untyped]?,
169
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")
170
+ }],
171
+ ?conditional_operator: ("AND" | "OR"),
172
+ ?scan_index_forward: bool,
173
+ ?exclusive_start_key: Hash[::String, untyped],
174
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
175
+ ?projection_expression: ::String,
176
+ ?filter_expression: ::String,
177
+ ?key_condition_expression: ::String,
178
+ ?expression_attribute_names: Hash[::String, ::String],
179
+ ?expression_attribute_values: Hash[::String, untyped]
180
+ ) -> Types::QueryOutput
181
+ | (?Hash[Symbol, untyped]) -> Types::QueryOutput
182
+
183
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#scan-instance_method
184
+ def scan: (
185
+ ?index_name: ::String,
186
+ ?attributes_to_get: Array[::String],
187
+ ?limit: ::Integer,
188
+ ?select: ("ALL_ATTRIBUTES" | "ALL_PROJECTED_ATTRIBUTES" | "SPECIFIC_ATTRIBUTES" | "COUNT"),
189
+ ?scan_filter: Hash[::String, {
190
+ attribute_value_list: Array[untyped]?,
191
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")
192
+ }],
193
+ ?conditional_operator: ("AND" | "OR"),
194
+ ?exclusive_start_key: Hash[::String, untyped],
195
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
196
+ ?total_segments: ::Integer,
197
+ ?segment: ::Integer,
198
+ ?projection_expression: ::String,
199
+ ?filter_expression: ::String,
200
+ ?expression_attribute_names: Hash[::String, ::String],
201
+ ?expression_attribute_values: Hash[::String, untyped],
202
+ ?consistent_read: bool
203
+ ) -> Types::ScanOutput
204
+ | (?Hash[Symbol, untyped]) -> Types::ScanOutput
205
+
206
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#update-instance_method
207
+ def update: (
208
+ ?attribute_definitions: Array[
209
+ {
210
+ attribute_name: ::String,
211
+ attribute_type: ("S" | "N" | "B")
212
+ },
213
+ ],
214
+ ?billing_mode: ("PROVISIONED" | "PAY_PER_REQUEST"),
215
+ ?provisioned_throughput: {
216
+ read_capacity_units: ::Integer,
217
+ write_capacity_units: ::Integer
218
+ },
219
+ ?global_secondary_index_updates: Array[
220
+ {
221
+ update: {
222
+ index_name: ::String,
223
+ provisioned_throughput: {
224
+ read_capacity_units: ::Integer,
225
+ write_capacity_units: ::Integer
226
+ }
227
+ }?,
228
+ create: {
229
+ index_name: ::String,
230
+ key_schema: Array[
231
+ {
232
+ attribute_name: ::String,
233
+ key_type: ("HASH" | "RANGE")
234
+ },
235
+ ],
236
+ projection: {
237
+ projection_type: ("ALL" | "KEYS_ONLY" | "INCLUDE")?,
238
+ non_key_attributes: Array[::String]?
239
+ },
240
+ provisioned_throughput: {
241
+ read_capacity_units: ::Integer,
242
+ write_capacity_units: ::Integer
243
+ }?
244
+ }?,
245
+ delete: {
246
+ index_name: ::String
247
+ }?
248
+ },
249
+ ],
250
+ ?stream_specification: {
251
+ stream_enabled: bool,
252
+ stream_view_type: ("NEW_IMAGE" | "OLD_IMAGE" | "NEW_AND_OLD_IMAGES" | "KEYS_ONLY")?
253
+ },
254
+ ?sse_specification: {
255
+ enabled: bool?,
256
+ sse_type: ("AES256" | "KMS")?,
257
+ kms_master_key_id: ::String?
258
+ },
259
+ ?replica_updates: Array[
260
+ {
261
+ create: {
262
+ region_name: ::String,
263
+ kms_master_key_id: ::String?,
264
+ provisioned_throughput_override: {
265
+ read_capacity_units: ::Integer?
266
+ }?,
267
+ global_secondary_indexes: Array[
268
+ {
269
+ index_name: ::String,
270
+ provisioned_throughput_override: {
271
+ read_capacity_units: ::Integer?
272
+ }?
273
+ },
274
+ ]?,
275
+ table_class_override: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS")?
276
+ }?,
277
+ update: {
278
+ region_name: ::String,
279
+ kms_master_key_id: ::String?,
280
+ provisioned_throughput_override: {
281
+ read_capacity_units: ::Integer?
282
+ }?,
283
+ global_secondary_indexes: Array[
284
+ {
285
+ index_name: ::String,
286
+ provisioned_throughput_override: {
287
+ read_capacity_units: ::Integer?
288
+ }?
289
+ },
290
+ ]?,
291
+ table_class_override: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS")?
292
+ }?,
293
+ delete: {
294
+ region_name: ::String
295
+ }?
296
+ },
297
+ ],
298
+ ?table_class: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS"),
299
+ ?deletion_protection_enabled: bool
300
+ ) -> Table
301
+ | (?Hash[Symbol, untyped]) -> Table
302
+
303
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#update_item-instance_method
304
+ def update_item: (
305
+ key: Hash[::String, untyped],
306
+ ?attribute_updates: Hash[::String, {
307
+ value: untyped?,
308
+ action: ("ADD" | "PUT" | "DELETE")?
309
+ }],
310
+ ?expected: Hash[::String, {
311
+ value: untyped?,
312
+ exists: bool?,
313
+ comparison_operator: ("EQ" | "NE" | "IN" | "LE" | "LT" | "GE" | "GT" | "BETWEEN" | "NOT_NULL" | "NULL" | "CONTAINS" | "NOT_CONTAINS" | "BEGINS_WITH")?,
314
+ attribute_value_list: Array[untyped]?
315
+ }],
316
+ ?conditional_operator: ("AND" | "OR"),
317
+ ?return_values: ("NONE" | "ALL_OLD" | "UPDATED_OLD" | "ALL_NEW" | "UPDATED_NEW"),
318
+ ?return_consumed_capacity: ("INDEXES" | "TOTAL" | "NONE"),
319
+ ?return_item_collection_metrics: ("SIZE" | "NONE"),
320
+ ?update_expression: ::String,
321
+ ?condition_expression: ::String,
322
+ ?expression_attribute_names: Hash[::String, ::String],
323
+ ?expression_attribute_values: Hash[::String, untyped],
324
+ ?return_values_on_condition_check_failure: ("ALL_OLD" | "NONE")
325
+ ) -> Types::UpdateItemOutput
326
+ | (?Hash[Symbol, untyped]) -> Types::UpdateItemOutput
327
+
328
+ class Collection < ::Aws::Resources::Collection[Table]
329
+ end
330
+ end
331
+ end
332
+ end