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,1006 @@
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
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
+
39
+ module Aws::KeyspacesStreams
40
+ # An API client for KeyspacesStreams. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::KeyspacesStreams::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :keyspacesstreams
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
+ add_plugin(Aws::KeyspacesStreams::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials. This can be an instance of any one of the
99
+ # following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following
128
+ # locations will be searched for credentials:
129
+ #
130
+ # * `Aws.config[:credentials]`
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
+ # * `~/.aws/credentials`
136
+ # * `~/.aws/config`
137
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
+ # are very aggressive. Construct and pass an instance of
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
+ # enable retries and extended timeouts. Instance profile credential
141
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
+ # to true.
143
+ #
144
+ # @option options [required, String] :region
145
+ # The AWS region to connect to. The configured `:region` is
146
+ # used to determine the service `:endpoint`. When not passed,
147
+ # a default `:region` is searched for in the following locations:
148
+ #
149
+ # * `Aws.config[:region]`
150
+ # * `ENV['AWS_REGION']`
151
+ # * `ENV['AMAZON_REGION']`
152
+ # * `ENV['AWS_DEFAULT_REGION']`
153
+ # * `~/.aws/credentials`
154
+ # * `~/.aws/config`
155
+ #
156
+ # @option options [String] :access_key_id
157
+ #
158
+ # @option options [String] :account_id
159
+ #
160
+ # @option options [Boolean] :active_endpoint_cache (false)
161
+ # When set to `true`, a thread polling for endpoints will be running in
162
+ # the background every 60 secs (default). Defaults to `false`.
163
+ #
164
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
165
+ # Used only in `adaptive` retry mode. When true, the request will sleep
166
+ # until there is sufficent client side capacity to retry the request.
167
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
+ # not retry instead of sleeping.
169
+ #
170
+ # @option options [Boolean] :client_side_monitoring (false)
171
+ # When `true`, client-side metrics will be collected for all API requests from
172
+ # this client.
173
+ #
174
+ # @option options [String] :client_side_monitoring_client_id ("")
175
+ # Allows you to provide an identifier for this client which will be attached to
176
+ # all generated client side metrics. Defaults to an empty string.
177
+ #
178
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
179
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
180
+ # side monitoring agent is running on, where client metrics will be published via UDP.
181
+ #
182
+ # @option options [Integer] :client_side_monitoring_port (31000)
183
+ # Required for publishing client metrics. The port that the client side monitoring
184
+ # agent is running on, where client metrics will be published via UDP.
185
+ #
186
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
187
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
188
+ # will use the Client Side Monitoring Agent Publisher.
189
+ #
190
+ # @option options [Boolean] :convert_params (true)
191
+ # When `true`, an attempt is made to coerce request parameters into
192
+ # the required types.
193
+ #
194
+ # @option options [Boolean] :correct_clock_skew (true)
195
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
196
+ # a clock skew correction and retry requests with skewed client clocks.
197
+ #
198
+ # @option options [String] :defaults_mode ("legacy")
199
+ # See {Aws::DefaultsModeConfiguration} for a list of the
200
+ # accepted modes and the configuration defaults that are included.
201
+ #
202
+ # @option options [Boolean] :disable_host_prefix_injection (false)
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
204
+ #
205
+ # @option options [Boolean] :disable_request_compression (false)
206
+ # When set to 'true' the request body will not be compressed
207
+ # for supported operations.
208
+ #
209
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
210
+ # Normally you should not configure the `:endpoint` option
211
+ # directly. This is normally constructed from the `:region`
212
+ # option. Configuring `:endpoint` is normally reserved for
213
+ # connecting to test or custom endpoints. The endpoint should
214
+ # be a URI formatted like:
215
+ #
216
+ # 'http://example.com'
217
+ # 'https://example.com'
218
+ # 'http://example.com:123'
219
+ #
220
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
221
+ # Used for the maximum size limit of the LRU cache storing endpoints data
222
+ # for endpoint discovery enabled operations. Defaults to 1000.
223
+ #
224
+ # @option options [Integer] :endpoint_cache_max_threads (10)
225
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
226
+ #
227
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
228
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
229
+ # Use this option to config the time interval in seconds for making
230
+ # requests fetching endpoints information. Defaults to 60 sec.
231
+ #
232
+ # @option options [Boolean] :endpoint_discovery (false)
233
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
234
+ #
235
+ # @option options [Boolean] :ignore_configured_endpoint_urls
236
+ # Setting to true disables use of endpoint URLs provided via environment
237
+ # variables and the shared configuration file.
238
+ #
239
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
240
+ # The log formatter.
241
+ #
242
+ # @option options [Symbol] :log_level (:info)
243
+ # The log level to send messages to the `:logger` at.
244
+ #
245
+ # @option options [Logger] :logger
246
+ # The Logger instance to send log messages to. If this option
247
+ # is not set, logging will be disabled.
248
+ #
249
+ # @option options [Integer] :max_attempts (3)
250
+ # An integer representing the maximum number attempts that will be made for
251
+ # a single request, including the initial attempt. For example,
252
+ # setting this value to 5 will result in a request being retried up to
253
+ # 4 times. Used in `standard` and `adaptive` retry modes.
254
+ #
255
+ # @option options [String] :profile ("default")
256
+ # Used when loading credentials from the shared credentials file
257
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
258
+ #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
271
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
272
+ # The minimum size in bytes that triggers compression for request
273
+ # bodies. The value must be non-negative integer value between 0
274
+ # and 10485780 bytes inclusive.
275
+ #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
287
+ # @option options [Proc] :retry_backoff
288
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
289
+ # This option is only used in the `legacy` retry mode.
290
+ #
291
+ # @option options [Float] :retry_base_delay (0.3)
292
+ # The base delay in seconds used by the default backoff function. This option
293
+ # is only used in the `legacy` retry mode.
294
+ #
295
+ # @option options [Symbol] :retry_jitter (:none)
296
+ # A delay randomiser function used by the default backoff function.
297
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
298
+ # otherwise a Proc that takes and returns a number. This option is only used
299
+ # in the `legacy` retry mode.
300
+ #
301
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
302
+ #
303
+ # @option options [Integer] :retry_limit (3)
304
+ # The maximum number of times to retry failed requests. Only
305
+ # ~ 500 level server errors and certain ~ 400 level client errors
306
+ # are retried. Generally, these are throttling errors, data
307
+ # checksum errors, networking errors, timeout errors, auth errors,
308
+ # endpoint discovery, and errors from expired credentials.
309
+ # This option is only used in the `legacy` retry mode.
310
+ #
311
+ # @option options [Integer] :retry_max_delay (0)
312
+ # The maximum number of seconds to delay between retries (0 for no limit)
313
+ # used by the default backoff function. This option is only used in the
314
+ # `legacy` retry mode.
315
+ #
316
+ # @option options [String] :retry_mode ("legacy")
317
+ # Specifies which retry algorithm to use. Values are:
318
+ #
319
+ # * `legacy` - The pre-existing retry behavior. This is default value if
320
+ # no retry mode is provided.
321
+ #
322
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
323
+ # This includes support for retry quotas, which limit the number of
324
+ # unsuccessful retries a client can make.
325
+ #
326
+ # * `adaptive` - An experimental retry mode that includes all the
327
+ # functionality of `standard` mode along with automatic client side
328
+ # throttling. This is a provisional mode that may change behavior
329
+ # in the future.
330
+ #
331
+ # @option options [String] :sdk_ua_app_id
332
+ # A unique and opaque application ID that is appended to the
333
+ # User-Agent header as app/sdk_ua_app_id. It should have a
334
+ # maximum length of 50. This variable is sourced from environment
335
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
336
+ #
337
+ # @option options [String] :secret_access_key
338
+ #
339
+ # @option options [String] :session_token
340
+ #
341
+ # @option options [Array] :sigv4a_signing_region_set
342
+ # A list of regions that should be signed with SigV4a signing. When
343
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
344
+ # in the following locations:
345
+ #
346
+ # * `Aws.config[:sigv4a_signing_region_set]`
347
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
348
+ # * `~/.aws/config`
349
+ #
350
+ # @option options [Boolean] :simple_json (false)
351
+ # Disables request parameter conversion, validation, and formatting.
352
+ # Also disables response data type conversions. The request parameters
353
+ # hash must be formatted exactly as the API expects.This option is useful
354
+ # when you want to ensure the highest level of performance by avoiding
355
+ # overhead of walking request parameters and response data structures.
356
+ #
357
+ # @option options [Boolean] :stub_responses (false)
358
+ # Causes the client to return stubbed responses. By default
359
+ # fake responses are generated and returned. You can specify
360
+ # the response data to return or errors to raise by calling
361
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
362
+ #
363
+ # ** Please note ** When response stubbing is enabled, no HTTP
364
+ # requests are made, and retries are disabled.
365
+ #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
376
+ # @option options [Aws::TokenProvider] :token_provider
377
+ # A Bearer Token Provider. This can be an instance of any one of the
378
+ # following classes:
379
+ #
380
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
+ # tokens.
382
+ #
383
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
384
+ # access token generated from `aws login`.
385
+ #
386
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
387
+ # will be used to search for tokens configured for your profile in shared configuration files.
388
+ #
389
+ # @option options [Boolean] :use_dualstack_endpoint
390
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
391
+ # will be used if available.
392
+ #
393
+ # @option options [Boolean] :use_fips_endpoint
394
+ # When set to `true`, fips compatible endpoints will be used if available.
395
+ # When a `fips` region is used, the region is normalized and this config
396
+ # is set to `true`.
397
+ #
398
+ # @option options [Boolean] :validate_params (true)
399
+ # When `true`, request parameters are validated before
400
+ # sending the request.
401
+ #
402
+ # @option options [Aws::KeyspacesStreams::EndpointProvider] :endpoint_provider
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::KeyspacesStreams::EndpointParameters`.
406
+ #
407
+ # @option options [Float] :http_continue_timeout (1)
408
+ # The number of seconds to wait for a 100-continue response before sending the
409
+ # request body. This option has no effect unless the request has "Expect"
410
+ # header set to "100-continue". Defaults to `nil` which disables this
411
+ # behaviour. This value can safely be set per request on the session.
412
+ #
413
+ # @option options [Float] :http_idle_timeout (5)
414
+ # The number of seconds a connection is allowed to sit idle before it
415
+ # is considered stale. Stale connections are closed and removed from the
416
+ # pool before making a request.
417
+ #
418
+ # @option options [Float] :http_open_timeout (15)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [URI::HTTP,String] :http_proxy
423
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
424
+ #
425
+ # @option options [Float] :http_read_timeout (60)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [Boolean] :http_wire_trace (false)
430
+ # When `true`, HTTP debug output will be sent to the `:logger`.
431
+ #
432
+ # @option options [Proc] :on_chunk_received
433
+ # When a Proc object is provided, it will be used as callback when each chunk
434
+ # of the response body is received. It provides three arguments: the chunk,
435
+ # the number of bytes received, and the total number of
436
+ # bytes in the response (or nil if the server did not send a `content-length`).
437
+ #
438
+ # @option options [Proc] :on_chunk_sent
439
+ # When a Proc object is provided, it will be used as callback when each chunk
440
+ # of the request body is sent. It provides three arguments: the chunk,
441
+ # the number of bytes read from the body, and the total number of
442
+ # bytes in the body.
443
+ #
444
+ # @option options [Boolean] :raise_response_errors (true)
445
+ # When `true`, response errors are raised.
446
+ #
447
+ # @option options [String] :ssl_ca_bundle
448
+ # Full path to the SSL certificate authority bundle file that should be used when
449
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
450
+ # `:ssl_ca_directory` the the system default will be used if available.
451
+ #
452
+ # @option options [String] :ssl_ca_directory
453
+ # Full path of the directory that contains the unbundled SSL certificate
454
+ # authority files for verifying peer certificates. If you do
455
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
456
+ # default will be used if available.
457
+ #
458
+ # @option options [String] :ssl_ca_store
459
+ # Sets the X509::Store to verify peer certificate.
460
+ #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
467
+ # @option options [Float] :ssl_timeout
468
+ # Sets the SSL timeout in seconds
469
+ #
470
+ # @option options [Boolean] :ssl_verify_peer (true)
471
+ # When `true`, SSL peer certificates are verified when establishing a connection.
472
+ #
473
+ def initialize(*args)
474
+ super
475
+ end
476
+
477
+ # @!group API Operations
478
+
479
+ # Retrieves data records from a specified shard in an Amazon Keyspaces
480
+ # data stream. This operation returns a collection of data records from
481
+ # the shard, including the primary key columns and information about
482
+ # modifications made to the captured table data. Each record represents
483
+ # a single data modification in the Amazon Keyspaces table and includes
484
+ # metadata about when the change occurred.
485
+ #
486
+ # @option params [required, String] :shard_iterator
487
+ # The unique identifier of the shard iterator. A shard iterator
488
+ # specifies the position in the shard from which you want to start
489
+ # reading data records sequentially. You obtain this value by calling
490
+ # the `GetShardIterator` operation. Each shard iterator is valid for 5
491
+ # minutes after creation.
492
+ #
493
+ # @option params [Integer] :max_results
494
+ # The maximum number of records to return in a single `GetRecords`
495
+ # request. Default value is 1000. You can specify a limit between 1 and
496
+ # 10000, but the actual number returned might be less than the specified
497
+ # maximum if the size of the data for the returned records exceeds the
498
+ # internal size limit.
499
+ #
500
+ # @return [Types::GetRecordsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
501
+ #
502
+ # * {Types::GetRecordsOutput#change_records #change_records} => Array&lt;Types::Record&gt;
503
+ # * {Types::GetRecordsOutput#next_shard_iterator #next_shard_iterator} => String
504
+ #
505
+ # @example Request syntax with placeholder values
506
+ #
507
+ # resp = client.get_records({
508
+ # shard_iterator: "ShardIterator", # required
509
+ # max_results: 1,
510
+ # })
511
+ #
512
+ # @example Response structure
513
+ #
514
+ # resp.change_records #=> Array
515
+ # resp.change_records[0].event_version #=> String
516
+ # resp.change_records[0].created_at #=> Time
517
+ # resp.change_records[0].origin #=> String, one of "USER", "REPLICATION", "TTL"
518
+ # resp.change_records[0].partition_keys #=> Hash
519
+ # resp.change_records[0].partition_keys["String"].ascii_t #=> String
520
+ # resp.change_records[0].partition_keys["String"].bigint_t #=> String
521
+ # resp.change_records[0].partition_keys["String"].blob_t #=> String
522
+ # resp.change_records[0].partition_keys["String"].bool_t #=> Boolean
523
+ # resp.change_records[0].partition_keys["String"].counter_t #=> String
524
+ # resp.change_records[0].partition_keys["String"].date_t #=> String
525
+ # resp.change_records[0].partition_keys["String"].decimal_t #=> String
526
+ # resp.change_records[0].partition_keys["String"].double_t #=> String
527
+ # resp.change_records[0].partition_keys["String"].float_t #=> String
528
+ # resp.change_records[0].partition_keys["String"].inet_t #=> String
529
+ # resp.change_records[0].partition_keys["String"].int_t #=> String
530
+ # resp.change_records[0].partition_keys["String"].list_t #=> Array
531
+ # resp.change_records[0].partition_keys["String"].list_t[0].value #=> Types::KeyspacesCellValue
532
+ # resp.change_records[0].partition_keys["String"].list_t[0].metadata.expiration_time #=> String
533
+ # resp.change_records[0].partition_keys["String"].list_t[0].metadata.write_time #=> String
534
+ # resp.change_records[0].partition_keys["String"].map_t #=> Array
535
+ # resp.change_records[0].partition_keys["String"].map_t[0].key #=> Types::KeyspacesCellValue
536
+ # resp.change_records[0].partition_keys["String"].map_t[0].value #=> Types::KeyspacesCellValue
537
+ # resp.change_records[0].partition_keys["String"].map_t[0].metadata.expiration_time #=> String
538
+ # resp.change_records[0].partition_keys["String"].map_t[0].metadata.write_time #=> String
539
+ # resp.change_records[0].partition_keys["String"].set_t #=> Array
540
+ # resp.change_records[0].partition_keys["String"].set_t[0].value #=> Types::KeyspacesCellValue
541
+ # resp.change_records[0].partition_keys["String"].set_t[0].metadata.expiration_time #=> String
542
+ # resp.change_records[0].partition_keys["String"].set_t[0].metadata.write_time #=> String
543
+ # resp.change_records[0].partition_keys["String"].smallint_t #=> String
544
+ # resp.change_records[0].partition_keys["String"].text_t #=> String
545
+ # resp.change_records[0].partition_keys["String"].time_t #=> String
546
+ # resp.change_records[0].partition_keys["String"].timestamp_t #=> String
547
+ # resp.change_records[0].partition_keys["String"].timeuuid_t #=> String
548
+ # resp.change_records[0].partition_keys["String"].tinyint_t #=> String
549
+ # resp.change_records[0].partition_keys["String"].tuple_t #=> Array
550
+ # resp.change_records[0].partition_keys["String"].tuple_t[0].value #=> Types::KeyspacesCellValue
551
+ # resp.change_records[0].partition_keys["String"].tuple_t[0].metadata.expiration_time #=> String
552
+ # resp.change_records[0].partition_keys["String"].tuple_t[0].metadata.write_time #=> String
553
+ # resp.change_records[0].partition_keys["String"].uuid_t #=> String
554
+ # resp.change_records[0].partition_keys["String"].varchar_t #=> String
555
+ # resp.change_records[0].partition_keys["String"].varint_t #=> String
556
+ # resp.change_records[0].partition_keys["String"].udt_t #=> Hash
557
+ # resp.change_records[0].partition_keys["String"].udt_t["String"].value #=> Types::KeyspacesCellValue
558
+ # resp.change_records[0].partition_keys["String"].udt_t["String"].metadata.expiration_time #=> String
559
+ # resp.change_records[0].partition_keys["String"].udt_t["String"].metadata.write_time #=> String
560
+ # resp.change_records[0].clustering_keys #=> Hash
561
+ # resp.change_records[0].clustering_keys["String"].ascii_t #=> String
562
+ # resp.change_records[0].clustering_keys["String"].bigint_t #=> String
563
+ # resp.change_records[0].clustering_keys["String"].blob_t #=> String
564
+ # resp.change_records[0].clustering_keys["String"].bool_t #=> Boolean
565
+ # resp.change_records[0].clustering_keys["String"].counter_t #=> String
566
+ # resp.change_records[0].clustering_keys["String"].date_t #=> String
567
+ # resp.change_records[0].clustering_keys["String"].decimal_t #=> String
568
+ # resp.change_records[0].clustering_keys["String"].double_t #=> String
569
+ # resp.change_records[0].clustering_keys["String"].float_t #=> String
570
+ # resp.change_records[0].clustering_keys["String"].inet_t #=> String
571
+ # resp.change_records[0].clustering_keys["String"].int_t #=> String
572
+ # resp.change_records[0].clustering_keys["String"].list_t #=> Array
573
+ # resp.change_records[0].clustering_keys["String"].list_t[0].value #=> Types::KeyspacesCellValue
574
+ # resp.change_records[0].clustering_keys["String"].list_t[0].metadata.expiration_time #=> String
575
+ # resp.change_records[0].clustering_keys["String"].list_t[0].metadata.write_time #=> String
576
+ # resp.change_records[0].clustering_keys["String"].map_t #=> Array
577
+ # resp.change_records[0].clustering_keys["String"].map_t[0].key #=> Types::KeyspacesCellValue
578
+ # resp.change_records[0].clustering_keys["String"].map_t[0].value #=> Types::KeyspacesCellValue
579
+ # resp.change_records[0].clustering_keys["String"].map_t[0].metadata.expiration_time #=> String
580
+ # resp.change_records[0].clustering_keys["String"].map_t[0].metadata.write_time #=> String
581
+ # resp.change_records[0].clustering_keys["String"].set_t #=> Array
582
+ # resp.change_records[0].clustering_keys["String"].set_t[0].value #=> Types::KeyspacesCellValue
583
+ # resp.change_records[0].clustering_keys["String"].set_t[0].metadata.expiration_time #=> String
584
+ # resp.change_records[0].clustering_keys["String"].set_t[0].metadata.write_time #=> String
585
+ # resp.change_records[0].clustering_keys["String"].smallint_t #=> String
586
+ # resp.change_records[0].clustering_keys["String"].text_t #=> String
587
+ # resp.change_records[0].clustering_keys["String"].time_t #=> String
588
+ # resp.change_records[0].clustering_keys["String"].timestamp_t #=> String
589
+ # resp.change_records[0].clustering_keys["String"].timeuuid_t #=> String
590
+ # resp.change_records[0].clustering_keys["String"].tinyint_t #=> String
591
+ # resp.change_records[0].clustering_keys["String"].tuple_t #=> Array
592
+ # resp.change_records[0].clustering_keys["String"].tuple_t[0].value #=> Types::KeyspacesCellValue
593
+ # resp.change_records[0].clustering_keys["String"].tuple_t[0].metadata.expiration_time #=> String
594
+ # resp.change_records[0].clustering_keys["String"].tuple_t[0].metadata.write_time #=> String
595
+ # resp.change_records[0].clustering_keys["String"].uuid_t #=> String
596
+ # resp.change_records[0].clustering_keys["String"].varchar_t #=> String
597
+ # resp.change_records[0].clustering_keys["String"].varint_t #=> String
598
+ # resp.change_records[0].clustering_keys["String"].udt_t #=> Hash
599
+ # resp.change_records[0].clustering_keys["String"].udt_t["String"].value #=> Types::KeyspacesCellValue
600
+ # resp.change_records[0].clustering_keys["String"].udt_t["String"].metadata.expiration_time #=> String
601
+ # resp.change_records[0].clustering_keys["String"].udt_t["String"].metadata.write_time #=> String
602
+ # resp.change_records[0].new_image.value_cells #=> Hash
603
+ # resp.change_records[0].new_image.value_cells["String"].value.ascii_t #=> String
604
+ # resp.change_records[0].new_image.value_cells["String"].value.bigint_t #=> String
605
+ # resp.change_records[0].new_image.value_cells["String"].value.blob_t #=> String
606
+ # resp.change_records[0].new_image.value_cells["String"].value.bool_t #=> Boolean
607
+ # resp.change_records[0].new_image.value_cells["String"].value.counter_t #=> String
608
+ # resp.change_records[0].new_image.value_cells["String"].value.date_t #=> String
609
+ # resp.change_records[0].new_image.value_cells["String"].value.decimal_t #=> String
610
+ # resp.change_records[0].new_image.value_cells["String"].value.double_t #=> String
611
+ # resp.change_records[0].new_image.value_cells["String"].value.float_t #=> String
612
+ # resp.change_records[0].new_image.value_cells["String"].value.inet_t #=> String
613
+ # resp.change_records[0].new_image.value_cells["String"].value.int_t #=> String
614
+ # resp.change_records[0].new_image.value_cells["String"].value.list_t #=> Array
615
+ # resp.change_records[0].new_image.value_cells["String"].value.list_t[0] #=> Types::KeyspacesCell
616
+ # resp.change_records[0].new_image.value_cells["String"].value.map_t #=> Array
617
+ # resp.change_records[0].new_image.value_cells["String"].value.map_t[0].key #=> Types::KeyspacesCellValue
618
+ # resp.change_records[0].new_image.value_cells["String"].value.map_t[0].value #=> Types::KeyspacesCellValue
619
+ # resp.change_records[0].new_image.value_cells["String"].value.map_t[0].metadata.expiration_time #=> String
620
+ # resp.change_records[0].new_image.value_cells["String"].value.map_t[0].metadata.write_time #=> String
621
+ # resp.change_records[0].new_image.value_cells["String"].value.set_t #=> Array
622
+ # resp.change_records[0].new_image.value_cells["String"].value.set_t[0] #=> Types::KeyspacesCell
623
+ # resp.change_records[0].new_image.value_cells["String"].value.smallint_t #=> String
624
+ # resp.change_records[0].new_image.value_cells["String"].value.text_t #=> String
625
+ # resp.change_records[0].new_image.value_cells["String"].value.time_t #=> String
626
+ # resp.change_records[0].new_image.value_cells["String"].value.timestamp_t #=> String
627
+ # resp.change_records[0].new_image.value_cells["String"].value.timeuuid_t #=> String
628
+ # resp.change_records[0].new_image.value_cells["String"].value.tinyint_t #=> String
629
+ # resp.change_records[0].new_image.value_cells["String"].value.tuple_t #=> Array
630
+ # resp.change_records[0].new_image.value_cells["String"].value.tuple_t[0] #=> Types::KeyspacesCell
631
+ # resp.change_records[0].new_image.value_cells["String"].value.uuid_t #=> String
632
+ # resp.change_records[0].new_image.value_cells["String"].value.varchar_t #=> String
633
+ # resp.change_records[0].new_image.value_cells["String"].value.varint_t #=> String
634
+ # resp.change_records[0].new_image.value_cells["String"].value.udt_t #=> Hash
635
+ # resp.change_records[0].new_image.value_cells["String"].value.udt_t["String"] #=> Types::KeyspacesCell
636
+ # resp.change_records[0].new_image.value_cells["String"].metadata.expiration_time #=> String
637
+ # resp.change_records[0].new_image.value_cells["String"].metadata.write_time #=> String
638
+ # resp.change_records[0].new_image.static_cells #=> Hash
639
+ # resp.change_records[0].new_image.static_cells["String"].value.ascii_t #=> String
640
+ # resp.change_records[0].new_image.static_cells["String"].value.bigint_t #=> String
641
+ # resp.change_records[0].new_image.static_cells["String"].value.blob_t #=> String
642
+ # resp.change_records[0].new_image.static_cells["String"].value.bool_t #=> Boolean
643
+ # resp.change_records[0].new_image.static_cells["String"].value.counter_t #=> String
644
+ # resp.change_records[0].new_image.static_cells["String"].value.date_t #=> String
645
+ # resp.change_records[0].new_image.static_cells["String"].value.decimal_t #=> String
646
+ # resp.change_records[0].new_image.static_cells["String"].value.double_t #=> String
647
+ # resp.change_records[0].new_image.static_cells["String"].value.float_t #=> String
648
+ # resp.change_records[0].new_image.static_cells["String"].value.inet_t #=> String
649
+ # resp.change_records[0].new_image.static_cells["String"].value.int_t #=> String
650
+ # resp.change_records[0].new_image.static_cells["String"].value.list_t #=> Array
651
+ # resp.change_records[0].new_image.static_cells["String"].value.list_t[0] #=> Types::KeyspacesCell
652
+ # resp.change_records[0].new_image.static_cells["String"].value.map_t #=> Array
653
+ # resp.change_records[0].new_image.static_cells["String"].value.map_t[0].key #=> Types::KeyspacesCellValue
654
+ # resp.change_records[0].new_image.static_cells["String"].value.map_t[0].value #=> Types::KeyspacesCellValue
655
+ # resp.change_records[0].new_image.static_cells["String"].value.map_t[0].metadata.expiration_time #=> String
656
+ # resp.change_records[0].new_image.static_cells["String"].value.map_t[0].metadata.write_time #=> String
657
+ # resp.change_records[0].new_image.static_cells["String"].value.set_t #=> Array
658
+ # resp.change_records[0].new_image.static_cells["String"].value.set_t[0] #=> Types::KeyspacesCell
659
+ # resp.change_records[0].new_image.static_cells["String"].value.smallint_t #=> String
660
+ # resp.change_records[0].new_image.static_cells["String"].value.text_t #=> String
661
+ # resp.change_records[0].new_image.static_cells["String"].value.time_t #=> String
662
+ # resp.change_records[0].new_image.static_cells["String"].value.timestamp_t #=> String
663
+ # resp.change_records[0].new_image.static_cells["String"].value.timeuuid_t #=> String
664
+ # resp.change_records[0].new_image.static_cells["String"].value.tinyint_t #=> String
665
+ # resp.change_records[0].new_image.static_cells["String"].value.tuple_t #=> Array
666
+ # resp.change_records[0].new_image.static_cells["String"].value.tuple_t[0] #=> Types::KeyspacesCell
667
+ # resp.change_records[0].new_image.static_cells["String"].value.uuid_t #=> String
668
+ # resp.change_records[0].new_image.static_cells["String"].value.varchar_t #=> String
669
+ # resp.change_records[0].new_image.static_cells["String"].value.varint_t #=> String
670
+ # resp.change_records[0].new_image.static_cells["String"].value.udt_t #=> Hash
671
+ # resp.change_records[0].new_image.static_cells["String"].value.udt_t["String"] #=> Types::KeyspacesCell
672
+ # resp.change_records[0].new_image.static_cells["String"].metadata.expiration_time #=> String
673
+ # resp.change_records[0].new_image.static_cells["String"].metadata.write_time #=> String
674
+ # resp.change_records[0].new_image.row_metadata.expiration_time #=> String
675
+ # resp.change_records[0].new_image.row_metadata.write_time #=> String
676
+ # resp.change_records[0].old_image.value_cells #=> Hash
677
+ # resp.change_records[0].old_image.value_cells["String"].value.ascii_t #=> String
678
+ # resp.change_records[0].old_image.value_cells["String"].value.bigint_t #=> String
679
+ # resp.change_records[0].old_image.value_cells["String"].value.blob_t #=> String
680
+ # resp.change_records[0].old_image.value_cells["String"].value.bool_t #=> Boolean
681
+ # resp.change_records[0].old_image.value_cells["String"].value.counter_t #=> String
682
+ # resp.change_records[0].old_image.value_cells["String"].value.date_t #=> String
683
+ # resp.change_records[0].old_image.value_cells["String"].value.decimal_t #=> String
684
+ # resp.change_records[0].old_image.value_cells["String"].value.double_t #=> String
685
+ # resp.change_records[0].old_image.value_cells["String"].value.float_t #=> String
686
+ # resp.change_records[0].old_image.value_cells["String"].value.inet_t #=> String
687
+ # resp.change_records[0].old_image.value_cells["String"].value.int_t #=> String
688
+ # resp.change_records[0].old_image.value_cells["String"].value.list_t #=> Array
689
+ # resp.change_records[0].old_image.value_cells["String"].value.list_t[0] #=> Types::KeyspacesCell
690
+ # resp.change_records[0].old_image.value_cells["String"].value.map_t #=> Array
691
+ # resp.change_records[0].old_image.value_cells["String"].value.map_t[0].key #=> Types::KeyspacesCellValue
692
+ # resp.change_records[0].old_image.value_cells["String"].value.map_t[0].value #=> Types::KeyspacesCellValue
693
+ # resp.change_records[0].old_image.value_cells["String"].value.map_t[0].metadata.expiration_time #=> String
694
+ # resp.change_records[0].old_image.value_cells["String"].value.map_t[0].metadata.write_time #=> String
695
+ # resp.change_records[0].old_image.value_cells["String"].value.set_t #=> Array
696
+ # resp.change_records[0].old_image.value_cells["String"].value.set_t[0] #=> Types::KeyspacesCell
697
+ # resp.change_records[0].old_image.value_cells["String"].value.smallint_t #=> String
698
+ # resp.change_records[0].old_image.value_cells["String"].value.text_t #=> String
699
+ # resp.change_records[0].old_image.value_cells["String"].value.time_t #=> String
700
+ # resp.change_records[0].old_image.value_cells["String"].value.timestamp_t #=> String
701
+ # resp.change_records[0].old_image.value_cells["String"].value.timeuuid_t #=> String
702
+ # resp.change_records[0].old_image.value_cells["String"].value.tinyint_t #=> String
703
+ # resp.change_records[0].old_image.value_cells["String"].value.tuple_t #=> Array
704
+ # resp.change_records[0].old_image.value_cells["String"].value.tuple_t[0] #=> Types::KeyspacesCell
705
+ # resp.change_records[0].old_image.value_cells["String"].value.uuid_t #=> String
706
+ # resp.change_records[0].old_image.value_cells["String"].value.varchar_t #=> String
707
+ # resp.change_records[0].old_image.value_cells["String"].value.varint_t #=> String
708
+ # resp.change_records[0].old_image.value_cells["String"].value.udt_t #=> Hash
709
+ # resp.change_records[0].old_image.value_cells["String"].value.udt_t["String"] #=> Types::KeyspacesCell
710
+ # resp.change_records[0].old_image.value_cells["String"].metadata.expiration_time #=> String
711
+ # resp.change_records[0].old_image.value_cells["String"].metadata.write_time #=> String
712
+ # resp.change_records[0].old_image.static_cells #=> Hash
713
+ # resp.change_records[0].old_image.static_cells["String"].value.ascii_t #=> String
714
+ # resp.change_records[0].old_image.static_cells["String"].value.bigint_t #=> String
715
+ # resp.change_records[0].old_image.static_cells["String"].value.blob_t #=> String
716
+ # resp.change_records[0].old_image.static_cells["String"].value.bool_t #=> Boolean
717
+ # resp.change_records[0].old_image.static_cells["String"].value.counter_t #=> String
718
+ # resp.change_records[0].old_image.static_cells["String"].value.date_t #=> String
719
+ # resp.change_records[0].old_image.static_cells["String"].value.decimal_t #=> String
720
+ # resp.change_records[0].old_image.static_cells["String"].value.double_t #=> String
721
+ # resp.change_records[0].old_image.static_cells["String"].value.float_t #=> String
722
+ # resp.change_records[0].old_image.static_cells["String"].value.inet_t #=> String
723
+ # resp.change_records[0].old_image.static_cells["String"].value.int_t #=> String
724
+ # resp.change_records[0].old_image.static_cells["String"].value.list_t #=> Array
725
+ # resp.change_records[0].old_image.static_cells["String"].value.list_t[0] #=> Types::KeyspacesCell
726
+ # resp.change_records[0].old_image.static_cells["String"].value.map_t #=> Array
727
+ # resp.change_records[0].old_image.static_cells["String"].value.map_t[0].key #=> Types::KeyspacesCellValue
728
+ # resp.change_records[0].old_image.static_cells["String"].value.map_t[0].value #=> Types::KeyspacesCellValue
729
+ # resp.change_records[0].old_image.static_cells["String"].value.map_t[0].metadata.expiration_time #=> String
730
+ # resp.change_records[0].old_image.static_cells["String"].value.map_t[0].metadata.write_time #=> String
731
+ # resp.change_records[0].old_image.static_cells["String"].value.set_t #=> Array
732
+ # resp.change_records[0].old_image.static_cells["String"].value.set_t[0] #=> Types::KeyspacesCell
733
+ # resp.change_records[0].old_image.static_cells["String"].value.smallint_t #=> String
734
+ # resp.change_records[0].old_image.static_cells["String"].value.text_t #=> String
735
+ # resp.change_records[0].old_image.static_cells["String"].value.time_t #=> String
736
+ # resp.change_records[0].old_image.static_cells["String"].value.timestamp_t #=> String
737
+ # resp.change_records[0].old_image.static_cells["String"].value.timeuuid_t #=> String
738
+ # resp.change_records[0].old_image.static_cells["String"].value.tinyint_t #=> String
739
+ # resp.change_records[0].old_image.static_cells["String"].value.tuple_t #=> Array
740
+ # resp.change_records[0].old_image.static_cells["String"].value.tuple_t[0] #=> Types::KeyspacesCell
741
+ # resp.change_records[0].old_image.static_cells["String"].value.uuid_t #=> String
742
+ # resp.change_records[0].old_image.static_cells["String"].value.varchar_t #=> String
743
+ # resp.change_records[0].old_image.static_cells["String"].value.varint_t #=> String
744
+ # resp.change_records[0].old_image.static_cells["String"].value.udt_t #=> Hash
745
+ # resp.change_records[0].old_image.static_cells["String"].value.udt_t["String"] #=> Types::KeyspacesCell
746
+ # resp.change_records[0].old_image.static_cells["String"].metadata.expiration_time #=> String
747
+ # resp.change_records[0].old_image.static_cells["String"].metadata.write_time #=> String
748
+ # resp.change_records[0].old_image.row_metadata.expiration_time #=> String
749
+ # resp.change_records[0].old_image.row_metadata.write_time #=> String
750
+ # resp.change_records[0].sequence_number #=> String
751
+ # resp.next_shard_iterator #=> String
752
+ #
753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetRecords AWS API Documentation
754
+ #
755
+ # @overload get_records(params = {})
756
+ # @param [Hash] params ({})
757
+ def get_records(params = {}, options = {})
758
+ req = build_request(:get_records, params)
759
+ req.send_request(options)
760
+ end
761
+
762
+ # Returns a shard iterator that serves as a bookmark for reading data
763
+ # from a specific position in an Amazon Keyspaces data stream's shard.
764
+ # The shard iterator specifies the shard position from which to start
765
+ # reading data records sequentially. You can specify whether to begin
766
+ # reading at the latest record, the oldest record, or at a particular
767
+ # sequence number within the shard.
768
+ #
769
+ # @option params [required, String] :stream_arn
770
+ # The Amazon Resource Name (ARN) of the stream for which to get the
771
+ # shard iterator. The ARN uniquely identifies the stream within Amazon
772
+ # Keyspaces.
773
+ #
774
+ # @option params [required, String] :shard_id
775
+ # The identifier of the shard within the stream. The shard ID uniquely
776
+ # identifies a subset of the stream's data records that you want to
777
+ # access.
778
+ #
779
+ # @option params [required, String] :shard_iterator_type
780
+ # Determines how the shard iterator is positioned. Must be one of the
781
+ # following:
782
+ #
783
+ # * `TRIM_HORIZON` - Start reading at the last untrimmed record in the
784
+ # shard, which is the oldest data record in the shard.
785
+ #
786
+ # * `AT_SEQUENCE_NUMBER` - Start reading exactly from the specified
787
+ # sequence number.
788
+ #
789
+ # * `AFTER_SEQUENCE_NUMBER` - Start reading right after the specified
790
+ # sequence number.
791
+ #
792
+ # * `LATEST` - Start reading just after the most recent record in the
793
+ # shard, so that you always read the most recent data.
794
+ #
795
+ # @option params [String] :sequence_number
796
+ # The sequence number of the data record in the shard from which to
797
+ # start reading. Required if `ShardIteratorType` is `AT_SEQUENCE_NUMBER`
798
+ # or `AFTER_SEQUENCE_NUMBER`. This parameter is ignored for other
799
+ # iterator types.
800
+ #
801
+ # @return [Types::GetShardIteratorOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
802
+ #
803
+ # * {Types::GetShardIteratorOutput#shard_iterator #shard_iterator} => String
804
+ #
805
+ # @example Request syntax with placeholder values
806
+ #
807
+ # resp = client.get_shard_iterator({
808
+ # stream_arn: "StreamArn", # required
809
+ # shard_id: "ShardId", # required
810
+ # shard_iterator_type: "TRIM_HORIZON", # required, accepts TRIM_HORIZON, LATEST, AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER
811
+ # sequence_number: "SequenceNumber",
812
+ # })
813
+ #
814
+ # @example Response structure
815
+ #
816
+ # resp.shard_iterator #=> String
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetShardIterator AWS API Documentation
819
+ #
820
+ # @overload get_shard_iterator(params = {})
821
+ # @param [Hash] params ({})
822
+ def get_shard_iterator(params = {}, options = {})
823
+ req = build_request(:get_shard_iterator, params)
824
+ req.send_request(options)
825
+ end
826
+
827
+ # Returns detailed information about a specific data capture stream for
828
+ # an Amazon Keyspaces table. The information includes the stream's
829
+ # Amazon Resource Name (ARN), creation time, current status, retention
830
+ # period, shard composition, and associated table details. This
831
+ # operation helps you monitor and manage the configuration of your
832
+ # Amazon Keyspaces data streams.
833
+ #
834
+ # @option params [required, String] :stream_arn
835
+ # The Amazon Resource Name (ARN) of the stream for which detailed
836
+ # information is requested. This uniquely identifies the specific stream
837
+ # you want to get information about.
838
+ #
839
+ # @option params [Integer] :max_results
840
+ # The maximum number of shard objects to return in a single `GetStream`
841
+ # request. Default value is 100. The minimum value is 1 and the maximum
842
+ # value is 1000.
843
+ #
844
+ # @option params [Types::ShardFilter] :shard_filter
845
+ # Optional filter criteria to apply when retrieving shards. You can
846
+ # filter shards based on their state or other attributes to narrow down
847
+ # the results returned by the `GetStream` operation.
848
+ #
849
+ # @option params [String] :next_token
850
+ # An optional pagination token provided by a previous `GetStream`
851
+ # operation. If this parameter is specified, the response includes only
852
+ # records beyond the token, up to the value specified by `maxResults`.
853
+ #
854
+ # @return [Types::GetStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
855
+ #
856
+ # * {Types::GetStreamOutput#stream_arn #stream_arn} => String
857
+ # * {Types::GetStreamOutput#stream_label #stream_label} => String
858
+ # * {Types::GetStreamOutput#stream_status #stream_status} => String
859
+ # * {Types::GetStreamOutput#stream_view_type #stream_view_type} => String
860
+ # * {Types::GetStreamOutput#creation_request_date_time #creation_request_date_time} => Time
861
+ # * {Types::GetStreamOutput#keyspace_name #keyspace_name} => String
862
+ # * {Types::GetStreamOutput#table_name #table_name} => String
863
+ # * {Types::GetStreamOutput#shards #shards} => Array&lt;Types::Shard&gt;
864
+ # * {Types::GetStreamOutput#next_token #next_token} => String
865
+ #
866
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
867
+ #
868
+ # @example Request syntax with placeholder values
869
+ #
870
+ # resp = client.get_stream({
871
+ # stream_arn: "StreamArn", # required
872
+ # max_results: 1,
873
+ # shard_filter: {
874
+ # type: "CHILD_SHARDS", # accepts CHILD_SHARDS
875
+ # shard_id: "ShardId",
876
+ # },
877
+ # next_token: "ShardIdToken",
878
+ # })
879
+ #
880
+ # @example Response structure
881
+ #
882
+ # resp.stream_arn #=> String
883
+ # resp.stream_label #=> String
884
+ # resp.stream_status #=> String, one of "ENABLING", "ENABLED", "DISABLING", "DISABLED"
885
+ # resp.stream_view_type #=> String, one of "NEW_IMAGE", "OLD_IMAGE", "NEW_AND_OLD_IMAGES", "KEYS_ONLY"
886
+ # resp.creation_request_date_time #=> Time
887
+ # resp.keyspace_name #=> String
888
+ # resp.table_name #=> String
889
+ # resp.shards #=> Array
890
+ # resp.shards[0].shard_id #=> String
891
+ # resp.shards[0].sequence_number_range.starting_sequence_number #=> String
892
+ # resp.shards[0].sequence_number_range.ending_sequence_number #=> String
893
+ # resp.shards[0].parent_shard_ids #=> Array
894
+ # resp.shards[0].parent_shard_ids[0] #=> String
895
+ # resp.next_token #=> String
896
+ #
897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/GetStream AWS API Documentation
898
+ #
899
+ # @overload get_stream(params = {})
900
+ # @param [Hash] params ({})
901
+ def get_stream(params = {}, options = {})
902
+ req = build_request(:get_stream, params)
903
+ req.send_request(options)
904
+ end
905
+
906
+ # Returns a list of all data capture streams associated with your Amazon
907
+ # Keyspaces account or for a specific keyspace or table. The response
908
+ # includes information such as stream ARNs, table associations, creation
909
+ # timestamps, and current status. This operation helps you discover and
910
+ # manage all active data streams in your Amazon Keyspaces environment.
911
+ #
912
+ # @option params [String] :keyspace_name
913
+ # The name of the keyspace for which to list streams. If specified, only
914
+ # streams associated with tables in this keyspace are returned. If
915
+ # omitted, streams from all keyspaces are included in the results.
916
+ #
917
+ # @option params [String] :table_name
918
+ # The name of the table for which to list streams. Must be used together
919
+ # with `keyspaceName`. If specified, only streams associated with this
920
+ # specific table are returned.
921
+ #
922
+ # @option params [Integer] :max_results
923
+ # The maximum number of streams to return in a single `ListStreams`
924
+ # request. Default value is 100. The minimum value is 1 and the maximum
925
+ # value is 1000.
926
+ #
927
+ # @option params [String] :next_token
928
+ # An optional pagination token provided by a previous `ListStreams`
929
+ # operation. If this parameter is specified, the response includes only
930
+ # records beyond the token, up to the value specified by `maxResults`.
931
+ #
932
+ # @return [Types::ListStreamsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
933
+ #
934
+ # * {Types::ListStreamsOutput#streams #streams} => Array&lt;Types::Stream&gt;
935
+ # * {Types::ListStreamsOutput#next_token #next_token} => String
936
+ #
937
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
938
+ #
939
+ # @example Request syntax with placeholder values
940
+ #
941
+ # resp = client.list_streams({
942
+ # keyspace_name: "KeyspaceName",
943
+ # table_name: "TableName",
944
+ # max_results: 1,
945
+ # next_token: "StreamArnToken",
946
+ # })
947
+ #
948
+ # @example Response structure
949
+ #
950
+ # resp.streams #=> Array
951
+ # resp.streams[0].stream_arn #=> String
952
+ # resp.streams[0].keyspace_name #=> String
953
+ # resp.streams[0].table_name #=> String
954
+ # resp.streams[0].stream_label #=> String
955
+ # resp.next_token #=> String
956
+ #
957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspacesstreams-2024-09-09/ListStreams AWS API Documentation
958
+ #
959
+ # @overload list_streams(params = {})
960
+ # @param [Hash] params ({})
961
+ def list_streams(params = {}, options = {})
962
+ req = build_request(:list_streams, params)
963
+ req.send_request(options)
964
+ end
965
+
966
+ # @!endgroup
967
+
968
+ # @param params ({})
969
+ # @api private
970
+ def build_request(operation_name, params = {})
971
+ handlers = @handlers.for(operation_name)
972
+ tracer = config.telemetry_provider.tracer_provider.tracer(
973
+ Aws::Telemetry.module_to_tracer_name('Aws::KeyspacesStreams')
974
+ )
975
+ context = Seahorse::Client::RequestContext.new(
976
+ operation_name: operation_name,
977
+ operation: config.api.operation(operation_name),
978
+ client: self,
979
+ params: params,
980
+ config: config,
981
+ tracer: tracer
982
+ )
983
+ context[:gem_name] = 'aws-sdk-keyspacesstreams'
984
+ context[:gem_version] = '1.0.0'
985
+ Seahorse::Client::Request.new(handlers, context)
986
+ end
987
+
988
+ # @api private
989
+ # @deprecated
990
+ def waiter_names
991
+ []
992
+ end
993
+
994
+ class << self
995
+
996
+ # @api private
997
+ attr_reader :identifier
998
+
999
+ # @api private
1000
+ def errors_module
1001
+ Errors
1002
+ end
1003
+
1004
+ end
1005
+ end
1006
+ end