aws-sdk-keyspacesstreams 1.0.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.
@@ -0,0 +1,834 @@
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
+ module Aws::KeyspacesStreams
11
+ module Types
12
+
13
+ # You don't have sufficient access permissions to perform this
14
+ # operation.
15
+ #
16
+ # This exception occurs when your IAM user or role lacks the required
17
+ # permissions to access the Amazon Keyspaces resource or perform the
18
+ # requested action. Check your IAM policies and ensure they grant the
19
+ # necessary permissions.
20
+ #
21
+ # @!attribute [rw] message
22
+ # You don't have sufficient permissions to perform this action.
23
+ # @return [String]
24
+ #
25
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/AccessDeniedException AWS API Documentation
26
+ #
27
+ class AccessDeniedException < Struct.new(
28
+ :message)
29
+ SENSITIVE = []
30
+ include Aws::Structure
31
+ end
32
+
33
+ # @!attribute [rw] shard_iterator
34
+ # The unique identifier of the shard iterator. A shard iterator
35
+ # specifies the position in the shard from which you want to start
36
+ # reading data records sequentially. You obtain this value by calling
37
+ # the `GetShardIterator` operation. Each shard iterator is valid for 5
38
+ # minutes after creation.
39
+ # @return [String]
40
+ #
41
+ # @!attribute [rw] max_results
42
+ # The maximum number of records to return in a single `GetRecords`
43
+ # request. Default value is 1000. You can specify a limit between 1
44
+ # and 10000, but the actual number returned might be less than the
45
+ # specified maximum if the size of the data for the returned records
46
+ # exceeds the internal size limit.
47
+ # @return [Integer]
48
+ #
49
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetRecordsInput AWS API Documentation
50
+ #
51
+ class GetRecordsInput < Struct.new(
52
+ :shard_iterator,
53
+ :max_results)
54
+ SENSITIVE = []
55
+ include Aws::Structure
56
+ end
57
+
58
+ # @!attribute [rw] change_records
59
+ # An array of change data records retrieved from the specified shard.
60
+ # Each record represents a single data modification (insert, update,
61
+ # or delete) to a row in the Amazon Keyspaces table. Records include
62
+ # the primary key columns and information about what data was
63
+ # modified.
64
+ # @return [Array<Types::Record>]
65
+ #
66
+ # @!attribute [rw] next_shard_iterator
67
+ # The next position in the shard from which to start sequentially
68
+ # reading data records. If null, the shard has been closed and the
69
+ # requested iterator doesn't return any more data.
70
+ # @return [String]
71
+ #
72
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetRecordsOutput AWS API Documentation
73
+ #
74
+ class GetRecordsOutput < Struct.new(
75
+ :change_records,
76
+ :next_shard_iterator)
77
+ SENSITIVE = []
78
+ include Aws::Structure
79
+ end
80
+
81
+ # @!attribute [rw] stream_arn
82
+ # The Amazon Resource Name (ARN) of the stream for which to get the
83
+ # shard iterator. The ARN uniquely identifies the stream within Amazon
84
+ # Keyspaces.
85
+ # @return [String]
86
+ #
87
+ # @!attribute [rw] shard_id
88
+ # The identifier of the shard within the stream. The shard ID uniquely
89
+ # identifies a subset of the stream's data records that you want to
90
+ # access.
91
+ # @return [String]
92
+ #
93
+ # @!attribute [rw] shard_iterator_type
94
+ # Determines how the shard iterator is positioned. Must be one of the
95
+ # following:
96
+ #
97
+ # * `TRIM_HORIZON` - Start reading at the last untrimmed record in the
98
+ # shard, which is the oldest data record in the shard.
99
+ #
100
+ # * `AT_SEQUENCE_NUMBER` - Start reading exactly from the specified
101
+ # sequence number.
102
+ #
103
+ # * `AFTER_SEQUENCE_NUMBER` - Start reading right after the specified
104
+ # sequence number.
105
+ #
106
+ # * `LATEST` - Start reading just after the most recent record in the
107
+ # shard, so that you always read the most recent data.
108
+ # @return [String]
109
+ #
110
+ # @!attribute [rw] sequence_number
111
+ # The sequence number of the data record in the shard from which to
112
+ # start reading. Required if `ShardIteratorType` is
113
+ # `AT_SEQUENCE_NUMBER` or `AFTER_SEQUENCE_NUMBER`. This parameter is
114
+ # ignored for other iterator types.
115
+ # @return [String]
116
+ #
117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetShardIteratorInput AWS API Documentation
118
+ #
119
+ class GetShardIteratorInput < Struct.new(
120
+ :stream_arn,
121
+ :shard_id,
122
+ :shard_iterator_type,
123
+ :sequence_number)
124
+ SENSITIVE = []
125
+ include Aws::Structure
126
+ end
127
+
128
+ # @!attribute [rw] shard_iterator
129
+ # The unique identifier for the shard iterator. This value is used in
130
+ # the `GetRecords` operation to retrieve data records from the
131
+ # specified shard. Each shard iterator expires 5 minutes after it is
132
+ # returned to the requester.
133
+ # @return [String]
134
+ #
135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetShardIteratorOutput AWS API Documentation
136
+ #
137
+ class GetShardIteratorOutput < Struct.new(
138
+ :shard_iterator)
139
+ SENSITIVE = []
140
+ include Aws::Structure
141
+ end
142
+
143
+ # @!attribute [rw] stream_arn
144
+ # The Amazon Resource Name (ARN) of the stream for which detailed
145
+ # information is requested. This uniquely identifies the specific
146
+ # stream you want to get information about.
147
+ # @return [String]
148
+ #
149
+ # @!attribute [rw] max_results
150
+ # The maximum number of shard objects to return in a single
151
+ # `GetStream` request. Default value is 100. The minimum value is 1
152
+ # and the maximum value is 1000.
153
+ # @return [Integer]
154
+ #
155
+ # @!attribute [rw] shard_filter
156
+ # Optional filter criteria to apply when retrieving shards. You can
157
+ # filter shards based on their state or other attributes to narrow
158
+ # down the results returned by the `GetStream` operation.
159
+ # @return [Types::ShardFilter]
160
+ #
161
+ # @!attribute [rw] next_token
162
+ # An optional pagination token provided by a previous `GetStream`
163
+ # operation. If this parameter is specified, the response includes
164
+ # only records beyond the token, up to the value specified by
165
+ # `maxResults`.
166
+ # @return [String]
167
+ #
168
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetStreamInput AWS API Documentation
169
+ #
170
+ class GetStreamInput < Struct.new(
171
+ :stream_arn,
172
+ :max_results,
173
+ :shard_filter,
174
+ :next_token)
175
+ SENSITIVE = []
176
+ include Aws::Structure
177
+ end
178
+
179
+ # @!attribute [rw] stream_arn
180
+ # The Amazon Resource Name (ARN) that uniquely identifies the stream
181
+ # within Amazon Keyspaces. This ARN can be used in other API
182
+ # operations to reference this specific stream.
183
+ # @return [String]
184
+ #
185
+ # @!attribute [rw] stream_label
186
+ # A timestamp that serves as a unique identifier for this stream, used
187
+ # for debugging and monitoring purposes. The stream label represents
188
+ # the point in time when the stream was created.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] stream_status
192
+ # The current status of the stream. Values can be `ENABLING`,
193
+ # `ENABLED`, `DISABLING`, or `DISABLED`. Operations on the stream
194
+ # depend on its current status.
195
+ # @return [String]
196
+ #
197
+ # @!attribute [rw] stream_view_type
198
+ # The format of the data records in this stream. Currently, this can
199
+ # be one of the following options:
200
+ #
201
+ # * `NEW_AND_OLD_IMAGES` - both versions of the row, before and after
202
+ # the change. This is the default.
203
+ #
204
+ # * `NEW_IMAGE` - the version of the row after the change.
205
+ #
206
+ # * `OLD_IMAGE` - the version of the row before the change.
207
+ #
208
+ # * `KEYS_ONLY` - the partition and clustering keys of the row that
209
+ # was changed.
210
+ # @return [String]
211
+ #
212
+ # @!attribute [rw] creation_request_date_time
213
+ # The date and time when the request to create this stream was issued.
214
+ # The value is represented in ISO 8601 format.
215
+ # @return [Time]
216
+ #
217
+ # @!attribute [rw] keyspace_name
218
+ # The name of the keyspace containing the table associated with this
219
+ # stream. The keyspace name is part of the table's hierarchical
220
+ # identifier in Amazon Keyspaces.
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] table_name
224
+ # The name of the table associated with this stream. The stream
225
+ # captures changes to rows in this Amazon Keyspaces table.
226
+ # @return [String]
227
+ #
228
+ # @!attribute [rw] shards
229
+ # An array of shard objects associated with this stream. Each shard
230
+ # contains a subset of the stream's data records and has its own
231
+ # unique identifier. The collection of shards represents the complete
232
+ # stream data.
233
+ # @return [Array<Types::Shard>]
234
+ #
235
+ # @!attribute [rw] next_token
236
+ # A pagination token that can be used in a subsequent `GetStream`
237
+ # request. This token is returned if the response contains more shards
238
+ # than can be returned in a single response.
239
+ # @return [String]
240
+ #
241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetStreamOutput AWS API Documentation
242
+ #
243
+ class GetStreamOutput < Struct.new(
244
+ :stream_arn,
245
+ :stream_label,
246
+ :stream_status,
247
+ :stream_view_type,
248
+ :creation_request_date_time,
249
+ :keyspace_name,
250
+ :table_name,
251
+ :shards,
252
+ :next_token)
253
+ SENSITIVE = []
254
+ include Aws::Structure
255
+ end
256
+
257
+ # The Amazon Keyspaces service encountered an unexpected error while
258
+ # processing the request.
259
+ #
260
+ # This internal server error is not related to your request parameters.
261
+ # Retry your request after a brief delay. If the issue persists, contact
262
+ # Amazon Web Services Support with details of your request to help
263
+ # identify and resolve the problem.
264
+ #
265
+ # @!attribute [rw] message
266
+ # The service encountered an internal error. Try your request again.
267
+ # @return [String]
268
+ #
269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/InternalServerException AWS API Documentation
270
+ #
271
+ class InternalServerException < Struct.new(
272
+ :message)
273
+ SENSITIVE = []
274
+ include Aws::Structure
275
+ end
276
+
277
+ # Represents a cell in an Amazon Keyspaces table, containing both the
278
+ # value and metadata about the cell.
279
+ #
280
+ # @!attribute [rw] value
281
+ # The value stored in this cell, which can be of various data types
282
+ # supported by Amazon Keyspaces.
283
+ # @return [Types::KeyspacesCellValue]
284
+ #
285
+ # @!attribute [rw] metadata
286
+ # Metadata associated with this cell, such as time-to-live (TTL)
287
+ # expiration time and write timestamp.
288
+ # @return [Types::KeyspacesMetadata]
289
+ #
290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/KeyspacesCell AWS API Documentation
291
+ #
292
+ class KeyspacesCell < Struct.new(
293
+ :value,
294
+ :metadata)
295
+ SENSITIVE = []
296
+ include Aws::Structure
297
+ end
298
+
299
+ # Represents a key-value pair within a map data type in Amazon
300
+ # Keyspaces, including the associated metadata.
301
+ #
302
+ # @!attribute [rw] key
303
+ # The key of this map entry in the Amazon Keyspaces cell.
304
+ # @return [Types::KeyspacesCellValue]
305
+ #
306
+ # @!attribute [rw] value
307
+ # The value associated with the key in this map entry.
308
+ # @return [Types::KeyspacesCellValue]
309
+ #
310
+ # @!attribute [rw] metadata
311
+ # Metadata for this specific key-value pair within the map, such as
312
+ # timestamps and TTL information.
313
+ # @return [Types::KeyspacesMetadata]
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/KeyspacesCellMapDefinition AWS API Documentation
316
+ #
317
+ class KeyspacesCellMapDefinition < Struct.new(
318
+ :key,
319
+ :value,
320
+ :metadata)
321
+ SENSITIVE = []
322
+ include Aws::Structure
323
+ end
324
+
325
+ # Represents the value of a cell in an Amazon Keyspaces table,
326
+ # supporting various data types with type-specific fields.
327
+ #
328
+ # @note KeyspacesCellValue is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of KeyspacesCellValue corresponding to the set member.
329
+ #
330
+ # @!attribute [rw] ascii_t
331
+ # A value of ASCII text type, containing US-ASCII characters.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] bigint_t
335
+ # A 64-bit signed integer value.
336
+ # @return [String]
337
+ #
338
+ # @!attribute [rw] blob_t
339
+ # A binary large object (BLOB) value stored as a Base64-encoded
340
+ # string.
341
+ # @return [String]
342
+ #
343
+ # @!attribute [rw] bool_t
344
+ # A Boolean value, either `true` or `false`.
345
+ # @return [Boolean]
346
+ #
347
+ # @!attribute [rw] counter_t
348
+ # A distributed counter value that can be incremented and decremented.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] date_t
352
+ # A date value without a time component, represented as days since
353
+ # epoch (January 1, 1970).
354
+ # @return [String]
355
+ #
356
+ # @!attribute [rw] decimal_t
357
+ # A variable-precision decimal number value.
358
+ # @return [String]
359
+ #
360
+ # @!attribute [rw] double_t
361
+ # A 64-bit double-precision floating point value.
362
+ # @return [String]
363
+ #
364
+ # @!attribute [rw] float_t
365
+ # A 32-bit single-precision floating point value.
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] inet_t
369
+ # An IP address value, either IPv4 or IPv6 format.
370
+ # @return [String]
371
+ #
372
+ # @!attribute [rw] int_t
373
+ # A 32-bit signed integer value.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] list_t
377
+ # An ordered collection of elements that can contain duplicate values.
378
+ # @return [Array<Types::KeyspacesCell>]
379
+ #
380
+ # @!attribute [rw] map_t
381
+ # A collection of key-value pairs where each key is unique.
382
+ # @return [Array<Types::KeyspacesCellMapDefinition>]
383
+ #
384
+ # @!attribute [rw] set_t
385
+ # An unordered collection of unique elements.
386
+ # @return [Array<Types::KeyspacesCell>]
387
+ #
388
+ # @!attribute [rw] smallint_t
389
+ # A 16-bit signed integer value.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] text_t
393
+ # A UTF-8 encoded string value.
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] time_t
397
+ # A time value without a date component, with nanosecond precision.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] timestamp_t
401
+ # A timestamp value representing date and time with millisecond
402
+ # precision.
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] timeuuid_t
406
+ # A universally unique identifier (UUID) that includes a timestamp
407
+ # component, ensuring both uniqueness and time ordering.
408
+ # @return [String]
409
+ #
410
+ # @!attribute [rw] tinyint_t
411
+ # An 8-bit signed integer value.
412
+ # @return [String]
413
+ #
414
+ # @!attribute [rw] tuple_t
415
+ # A fixed-length ordered list of elements, where each element can be
416
+ # of a different data type.
417
+ # @return [Array<Types::KeyspacesCell>]
418
+ #
419
+ # @!attribute [rw] uuid_t
420
+ # A universally unique identifier (UUID) value.
421
+ # @return [String]
422
+ #
423
+ # @!attribute [rw] varchar_t
424
+ # A UTF-8 encoded string value, functionally equivalent to text type.
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] varint_t
428
+ # A variable precision integer value with arbitrary length.
429
+ # @return [String]
430
+ #
431
+ # @!attribute [rw] udt_t
432
+ # A user-defined type (UDT) value consisting of named fields, each
433
+ # with its own data type.
434
+ # @return [Hash<String,Types::KeyspacesCell>]
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/KeyspacesCellValue AWS API Documentation
437
+ #
438
+ class KeyspacesCellValue < Struct.new(
439
+ :ascii_t,
440
+ :bigint_t,
441
+ :blob_t,
442
+ :bool_t,
443
+ :counter_t,
444
+ :date_t,
445
+ :decimal_t,
446
+ :double_t,
447
+ :float_t,
448
+ :inet_t,
449
+ :int_t,
450
+ :list_t,
451
+ :map_t,
452
+ :set_t,
453
+ :smallint_t,
454
+ :text_t,
455
+ :time_t,
456
+ :timestamp_t,
457
+ :timeuuid_t,
458
+ :tinyint_t,
459
+ :tuple_t,
460
+ :uuid_t,
461
+ :varchar_t,
462
+ :varint_t,
463
+ :udt_t,
464
+ :unknown)
465
+ SENSITIVE = []
466
+ include Aws::Structure
467
+ include Aws::Structure::Union
468
+
469
+ class AsciiT < KeyspacesCellValue; end
470
+ class BigintT < KeyspacesCellValue; end
471
+ class BlobT < KeyspacesCellValue; end
472
+ class BoolT < KeyspacesCellValue; end
473
+ class CounterT < KeyspacesCellValue; end
474
+ class DateT < KeyspacesCellValue; end
475
+ class DecimalT < KeyspacesCellValue; end
476
+ class DoubleT < KeyspacesCellValue; end
477
+ class FloatT < KeyspacesCellValue; end
478
+ class InetT < KeyspacesCellValue; end
479
+ class IntT < KeyspacesCellValue; end
480
+ class ListT < KeyspacesCellValue; end
481
+ class MapT < KeyspacesCellValue; end
482
+ class SetT < KeyspacesCellValue; end
483
+ class SmallintT < KeyspacesCellValue; end
484
+ class TextT < KeyspacesCellValue; end
485
+ class TimeT < KeyspacesCellValue; end
486
+ class TimestampT < KeyspacesCellValue; end
487
+ class TimeuuidT < KeyspacesCellValue; end
488
+ class TinyintT < KeyspacesCellValue; end
489
+ class TupleT < KeyspacesCellValue; end
490
+ class UuidT < KeyspacesCellValue; end
491
+ class VarcharT < KeyspacesCellValue; end
492
+ class VarintT < KeyspacesCellValue; end
493
+ class UdtT < KeyspacesCellValue; end
494
+ class Unknown < KeyspacesCellValue; end
495
+ end
496
+
497
+ # Contains metadata information associated with Amazon Keyspaces cells
498
+ # and rows.
499
+ #
500
+ # @!attribute [rw] expiration_time
501
+ # The time at which the associated data will expire, based on the
502
+ # time-to-live (TTL) setting.
503
+ # @return [String]
504
+ #
505
+ # @!attribute [rw] write_time
506
+ # The timestamp at which the associated data was written to the
507
+ # database.
508
+ # @return [String]
509
+ #
510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/KeyspacesMetadata AWS API Documentation
511
+ #
512
+ class KeyspacesMetadata < Struct.new(
513
+ :expiration_time,
514
+ :write_time)
515
+ SENSITIVE = []
516
+ include Aws::Structure
517
+ end
518
+
519
+ # Represents a row in an Amazon Keyspaces table, containing regular
520
+ # column values, static column values, and row-level metadata.
521
+ #
522
+ # @!attribute [rw] value_cells
523
+ # A map of regular (non-static) column cells in the row, where keys
524
+ # are column names and values are the corresponding cells.
525
+ # @return [Hash<String,Types::KeyspacesCell>]
526
+ #
527
+ # @!attribute [rw] static_cells
528
+ # A map of static column cells shared by all rows with the same
529
+ # partition key, where keys are column names and values are the
530
+ # corresponding cells.
531
+ # @return [Hash<String,Types::KeyspacesCell>]
532
+ #
533
+ # @!attribute [rw] row_metadata
534
+ # Metadata that applies to the entire row, such as timestamps and TTL
535
+ # information.
536
+ # @return [Types::KeyspacesMetadata]
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/KeyspacesRow AWS API Documentation
539
+ #
540
+ class KeyspacesRow < Struct.new(
541
+ :value_cells,
542
+ :static_cells,
543
+ :row_metadata)
544
+ SENSITIVE = []
545
+ include Aws::Structure
546
+ end
547
+
548
+ # @!attribute [rw] keyspace_name
549
+ # The name of the keyspace for which to list streams. If specified,
550
+ # only streams associated with tables in this keyspace are returned.
551
+ # If omitted, streams from all keyspaces are included in the results.
552
+ # @return [String]
553
+ #
554
+ # @!attribute [rw] table_name
555
+ # The name of the table for which to list streams. Must be used
556
+ # together with `keyspaceName`. If specified, only streams associated
557
+ # with this specific table are returned.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] max_results
561
+ # The maximum number of streams to return in a single `ListStreams`
562
+ # request. Default value is 100. The minimum value is 1 and the
563
+ # maximum value is 1000.
564
+ # @return [Integer]
565
+ #
566
+ # @!attribute [rw] next_token
567
+ # An optional pagination token provided by a previous `ListStreams`
568
+ # operation. If this parameter is specified, the response includes
569
+ # only records beyond the token, up to the value specified by
570
+ # `maxResults`.
571
+ # @return [String]
572
+ #
573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ListStreamsInput AWS API Documentation
574
+ #
575
+ class ListStreamsInput < Struct.new(
576
+ :keyspace_name,
577
+ :table_name,
578
+ :max_results,
579
+ :next_token)
580
+ SENSITIVE = []
581
+ include Aws::Structure
582
+ end
583
+
584
+ # @!attribute [rw] streams
585
+ # An array of stream objects, each containing summary information
586
+ # about a stream including its ARN, status, and associated table
587
+ # information. This list includes all streams that match the request
588
+ # criteria.
589
+ # @return [Array<Types::Stream>]
590
+ #
591
+ # @!attribute [rw] next_token
592
+ # A pagination token that can be used in a subsequent `ListStreams`
593
+ # request. This token is returned if the response contains more
594
+ # streams than can be returned in a single response based on the
595
+ # `MaxResults` parameter.
596
+ # @return [String]
597
+ #
598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ListStreamsOutput AWS API Documentation
599
+ #
600
+ class ListStreamsOutput < Struct.new(
601
+ :streams,
602
+ :next_token)
603
+ SENSITIVE = []
604
+ include Aws::Structure
605
+ end
606
+
607
+ # Represents a change data capture record for a row in an Amazon
608
+ # Keyspaces table, containing both the new and old states of the row.
609
+ #
610
+ # @!attribute [rw] event_version
611
+ # The version of the record format, used to track the evolution of the
612
+ # record structure over time.
613
+ # @return [String]
614
+ #
615
+ # @!attribute [rw] created_at
616
+ # The timestamp indicating when this change data capture record was
617
+ # created.
618
+ # @return [Time]
619
+ #
620
+ # @!attribute [rw] origin
621
+ # The origin or source of this change data capture record.
622
+ # @return [String]
623
+ #
624
+ # @!attribute [rw] partition_keys
625
+ # The partition key columns and their values for the affected row.
626
+ # @return [Hash<String,Types::KeyspacesCellValue>]
627
+ #
628
+ # @!attribute [rw] clustering_keys
629
+ # The clustering key columns and their values for the affected row,
630
+ # which determine the order of rows within a partition.
631
+ # @return [Hash<String,Types::KeyspacesCellValue>]
632
+ #
633
+ # @!attribute [rw] new_image
634
+ # The state of the row after the change operation that generated this
635
+ # record.
636
+ # @return [Types::KeyspacesRow]
637
+ #
638
+ # @!attribute [rw] old_image
639
+ # The state of the row before the change operation that generated this
640
+ # record.
641
+ # @return [Types::KeyspacesRow]
642
+ #
643
+ # @!attribute [rw] sequence_number
644
+ # A unique identifier assigned to this record within the shard, used
645
+ # for ordering and tracking purposes.
646
+ # @return [String]
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/Record AWS API Documentation
649
+ #
650
+ class Record < Struct.new(
651
+ :event_version,
652
+ :created_at,
653
+ :origin,
654
+ :partition_keys,
655
+ :clustering_keys,
656
+ :new_image,
657
+ :old_image,
658
+ :sequence_number)
659
+ SENSITIVE = []
660
+ include Aws::Structure
661
+ end
662
+
663
+ # The requested resource doesn't exist or could not be found.
664
+ #
665
+ # This exception occurs when you attempt to access a keyspace, table,
666
+ # stream, or other Amazon Keyspaces resource that doesn't exist or that
667
+ # has been deleted. Verify that the resource identifier is correct and
668
+ # that the resource exists in your account.
669
+ #
670
+ # @!attribute [rw] message
671
+ # The requested resource wasn't found. Verify that the resource
672
+ # exists and try again.
673
+ # @return [String]
674
+ #
675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ResourceNotFoundException AWS API Documentation
676
+ #
677
+ class ResourceNotFoundException < Struct.new(
678
+ :message)
679
+ SENSITIVE = []
680
+ include Aws::Structure
681
+ end
682
+
683
+ # Defines a range of sequence numbers within a change data capture
684
+ # stream's shard for Amazon Keyspaces.
685
+ #
686
+ # @!attribute [rw] starting_sequence_number
687
+ # The starting sequence number of the range.
688
+ # @return [String]
689
+ #
690
+ # @!attribute [rw] ending_sequence_number
691
+ # The ending sequence number of the range, which may be null for
692
+ # open-ended ranges.
693
+ # @return [String]
694
+ #
695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/SequenceNumberRange AWS API Documentation
696
+ #
697
+ class SequenceNumberRange < Struct.new(
698
+ :starting_sequence_number,
699
+ :ending_sequence_number)
700
+ SENSITIVE = []
701
+ include Aws::Structure
702
+ end
703
+
704
+ # Represents a uniquely identified group of change records within a
705
+ # change data capture stream for Amazon Keyspaces.
706
+ #
707
+ # @!attribute [rw] shard_id
708
+ # A unique identifier for this shard within the stream.
709
+ # @return [String]
710
+ #
711
+ # @!attribute [rw] sequence_number_range
712
+ # The range of sequence numbers contained within this shard.
713
+ # @return [Types::SequenceNumberRange]
714
+ #
715
+ # @!attribute [rw] parent_shard_ids
716
+ # The identifiers of parent shards that this shard evolved from, if
717
+ # this shard was created through resharding.
718
+ # @return [Array<String>]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/Shard AWS API Documentation
721
+ #
722
+ class Shard < Struct.new(
723
+ :shard_id,
724
+ :sequence_number_range,
725
+ :parent_shard_ids)
726
+ SENSITIVE = []
727
+ include Aws::Structure
728
+ end
729
+
730
+ # A filter used to limit the shards returned by a `GetStream` operation.
731
+ #
732
+ # @!attribute [rw] type
733
+ # The type of shard filter to use, which determines how the shardId
734
+ # parameter is interpreted.
735
+ # @return [String]
736
+ #
737
+ # @!attribute [rw] shard_id
738
+ # The identifier of a specific shard used to filter results based on
739
+ # the specified filter type.
740
+ # @return [String]
741
+ #
742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ShardFilter AWS API Documentation
743
+ #
744
+ class ShardFilter < Struct.new(
745
+ :type,
746
+ :shard_id)
747
+ SENSITIVE = []
748
+ include Aws::Structure
749
+ end
750
+
751
+ # Represents a change data capture stream for an Amazon Keyspaces table,
752
+ # which enables tracking and processing of data changes.
753
+ #
754
+ # @!attribute [rw] stream_arn
755
+ # The Amazon Resource Name (ARN) that uniquely identifies this stream.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] keyspace_name
759
+ # The name of the keyspace containing the table associated with this
760
+ # stream.
761
+ # @return [String]
762
+ #
763
+ # @!attribute [rw] table_name
764
+ # The name of the table associated with this stream.
765
+ # @return [String]
766
+ #
767
+ # @!attribute [rw] stream_label
768
+ # A unique identifier for this stream that can be used in stream
769
+ # operations.
770
+ # @return [String]
771
+ #
772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/Stream AWS API Documentation
773
+ #
774
+ class Stream < Struct.new(
775
+ :stream_arn,
776
+ :keyspace_name,
777
+ :table_name,
778
+ :stream_label)
779
+ SENSITIVE = []
780
+ include Aws::Structure
781
+ end
782
+
783
+ # The request rate is too high and exceeds the service's throughput
784
+ # limits.
785
+ #
786
+ # This exception occurs when you send too many requests in a short
787
+ # period of time. Implement exponential backoff in your retry strategy
788
+ # to handle this exception. Reducing your request frequency or
789
+ # distributing requests more evenly can help avoid throughput
790
+ # exceptions.
791
+ #
792
+ # @!attribute [rw] message
793
+ # The request was denied due to request throttling. Reduce the
794
+ # frequency of requests and try again.
795
+ # @return [String]
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ThrottlingException AWS API Documentation
798
+ #
799
+ class ThrottlingException < Struct.new(
800
+ :message)
801
+ SENSITIVE = []
802
+ include Aws::Structure
803
+ end
804
+
805
+ # The request validation failed because one or more input parameters
806
+ # failed validation.
807
+ #
808
+ # This exception occurs when there are syntax errors in the request,
809
+ # field constraints are violated, or required parameters are missing. To
810
+ # help you fix the issue, the exception message provides details about
811
+ # which parameter failed and why.
812
+ #
813
+ # @!attribute [rw] message
814
+ # The input fails to satisfy the constraints specified by the service.
815
+ # Check the error details and modify your request.
816
+ # @return [String]
817
+ #
818
+ # @!attribute [rw] error_code
819
+ # An error occurred validating your request. See the error message for
820
+ # details.
821
+ # @return [String]
822
+ #
823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ValidationException AWS API Documentation
824
+ #
825
+ class ValidationException < Struct.new(
826
+ :message,
827
+ :error_code)
828
+ SENSITIVE = []
829
+ include Aws::Structure
830
+ end
831
+
832
+ end
833
+ end
834
+