aws-sdk-qldb 1.1.0 → 1.6.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f1e67daf4308e7486a4b4550dc592259b364d67a
4
- data.tar.gz: bf63e355402401c4d081e086be1e5d8dfc1ff7d7
2
+ SHA256:
3
+ metadata.gz: 6ba4ea758eb6b98b0e9f1fbb2341eaf005eda3795495d315f425e32dd2473f26
4
+ data.tar.gz: 7270b7dddda9047d9e4202bb6d0f97f432531e06a78becb038f93f288d7c1f32
5
5
  SHA512:
6
- metadata.gz: c19440ecfc6617a38908ccaba1954a30476751dd277eb4de2928d9974a7f52af9143b421ba9f2658fb21e70f3864355f64af05ada8f777f1952990f8ae725eeb
7
- data.tar.gz: aa846244117c492d61d79679cf820702aef0f8a804652cf683b264f8f08e7f4f78b1ddd833b6c33f49a11fb46d585e7944ed2d0ccf395537d88bd32bc6ce17c6
6
+ metadata.gz: 19caac881c7c9cd7d8307d476a063af271ba5d995337b706726bacb3e2e79d3d4f3c3612f77d0a8e0365b11f29240bed004581e63fcd582341073a8f3bffbb07
7
+ data.tar.gz: db7e85cecd5e55b4ee1dcbeb1976a2c7727055b82c299a3800a8e9168a6cb0345bef553fae0ff9da8154a0e3d31e5aa70a212faf1a2acd48404f156c36b57c67
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-qldb/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # qldb = Aws::QLDB::Client.new
28
+ # resp = qldb.cancel_journal_kinesis_stream(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from Amazon QLDB all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from Amazon QLDB are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::QLDB::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all Amazon QLDB API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-qldb/customizations'
42
45
  # @service
43
46
  module Aws::QLDB
44
47
 
45
- GEM_VERSION = '1.1.0'
48
+ GEM_VERSION = '1.6.1'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:qldb)
31
32
 
32
33
  module Aws::QLDB
34
+ # An API client for QLDB. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::QLDB::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::QLDB
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::RestJson)
62
76
 
@@ -93,7 +107,7 @@ module Aws::QLDB
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::QLDB
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::QLDB
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::QLDB
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::QLDB
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::QLDB
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::QLDB
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -209,16 +266,15 @@ module Aws::QLDB
209
266
  # requests through. Formatted like 'http://proxy.com:123'.
210
267
  #
211
268
  # @option options [Float] :http_open_timeout (15) The number of
212
- # seconds to wait when opening a HTTP session before rasing a
269
+ # seconds to wait when opening a HTTP session before raising a
213
270
  # `Timeout::Error`.
214
271
  #
215
272
  # @option options [Integer] :http_read_timeout (60) The default
216
273
  # number of seconds to wait for response data. This value can
217
- # safely be set
218
- # per-request on the session yeidled by {#session_for}.
274
+ # safely be set per-request on the session.
219
275
  #
220
276
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
277
+ # seconds a connection is allowed to sit idle before it is
222
278
  # considered stale. Stale connections are closed and removed
223
279
  # from the pool before making a request.
224
280
  #
@@ -227,7 +283,7 @@ module Aws::QLDB
227
283
  # request body. This option has no effect unless the request has
228
284
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
285
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
286
+ # request on the session.
231
287
  #
232
288
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
289
  # HTTP debug output will be sent to the `:logger`.
@@ -254,6 +310,43 @@ module Aws::QLDB
254
310
 
255
311
  # @!group API Operations
256
312
 
313
+ # Ends a given Amazon QLDB journal stream. Before a stream can be
314
+ # canceled, its current status must be `ACTIVE`.
315
+ #
316
+ # You can't restart a stream after you cancel it. Canceled QLDB stream
317
+ # resources are subject to a 7-day retention period, so they are
318
+ # automatically deleted after this limit expires.
319
+ #
320
+ # @option params [required, String] :ledger_name
321
+ # The name of the ledger.
322
+ #
323
+ # @option params [required, String] :stream_id
324
+ # The unique ID that QLDB assigns to each QLDB journal stream.
325
+ #
326
+ # @return [Types::CancelJournalKinesisStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
327
+ #
328
+ # * {Types::CancelJournalKinesisStreamResponse#stream_id #stream_id} => String
329
+ #
330
+ # @example Request syntax with placeholder values
331
+ #
332
+ # resp = client.cancel_journal_kinesis_stream({
333
+ # ledger_name: "LedgerName", # required
334
+ # stream_id: "UniqueId", # required
335
+ # })
336
+ #
337
+ # @example Response structure
338
+ #
339
+ # resp.stream_id #=> String
340
+ #
341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStream AWS API Documentation
342
+ #
343
+ # @overload cancel_journal_kinesis_stream(params = {})
344
+ # @param [Hash] params ({})
345
+ def cancel_journal_kinesis_stream(params = {}, options = {})
346
+ req = build_request(:cancel_journal_kinesis_stream, params)
347
+ req.send_request(options)
348
+ end
349
+
257
350
  # Creates a new ledger in your AWS account.
258
351
  #
259
352
  # @option params [required, String] :name
@@ -343,16 +436,70 @@ module Aws::QLDB
343
436
  req.send_request(options)
344
437
  end
345
438
 
439
+ # Returns detailed information about a given Amazon QLDB journal stream.
440
+ # The output includes the Amazon Resource Name (ARN), stream name,
441
+ # current status, creation time, and the parameters of your original
442
+ # stream creation request.
443
+ #
444
+ # @option params [required, String] :ledger_name
445
+ # The name of the ledger.
446
+ #
447
+ # @option params [required, String] :stream_id
448
+ # The unique ID that QLDB assigns to each QLDB journal stream.
449
+ #
450
+ # @return [Types::DescribeJournalKinesisStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
+ #
452
+ # * {Types::DescribeJournalKinesisStreamResponse#stream #stream} => Types::JournalKinesisStreamDescription
453
+ #
454
+ # @example Request syntax with placeholder values
455
+ #
456
+ # resp = client.describe_journal_kinesis_stream({
457
+ # ledger_name: "LedgerName", # required
458
+ # stream_id: "UniqueId", # required
459
+ # })
460
+ #
461
+ # @example Response structure
462
+ #
463
+ # resp.stream.ledger_name #=> String
464
+ # resp.stream.creation_time #=> Time
465
+ # resp.stream.inclusive_start_time #=> Time
466
+ # resp.stream.exclusive_end_time #=> Time
467
+ # resp.stream.role_arn #=> String
468
+ # resp.stream.stream_id #=> String
469
+ # resp.stream.arn #=> String
470
+ # resp.stream.status #=> String, one of "ACTIVE", "COMPLETED", "CANCELED", "FAILED", "IMPAIRED"
471
+ # resp.stream.kinesis_configuration.stream_arn #=> String
472
+ # resp.stream.kinesis_configuration.aggregation_enabled #=> Boolean
473
+ # resp.stream.error_cause #=> String, one of "KINESIS_STREAM_NOT_FOUND", "IAM_PERMISSION_REVOKED"
474
+ # resp.stream.stream_name #=> String
475
+ #
476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStream AWS API Documentation
477
+ #
478
+ # @overload describe_journal_kinesis_stream(params = {})
479
+ # @param [Hash] params ({})
480
+ def describe_journal_kinesis_stream(params = {}, options = {})
481
+ req = build_request(:describe_journal_kinesis_stream, params)
482
+ req.send_request(options)
483
+ end
484
+
346
485
  # Returns information about a journal export job, including the ledger
347
486
  # name, export ID, when it was created, current status, and its start
348
487
  # and end time export parameters.
349
488
  #
489
+ # This action does not return any expired export jobs. For more
490
+ # information, see [Export Job Expiration][1] in the *Amazon QLDB
491
+ # Developer Guide*.
492
+ #
350
493
  # If the export job with the given `ExportId` doesn't exist, then
351
494
  # throws `ResourceNotFoundException`.
352
495
  #
353
496
  # If the ledger with the given `Name` doesn't exist, then throws
354
497
  # `ResourceNotFoundException`.
355
498
  #
499
+ #
500
+ #
501
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration
502
+ #
356
503
  # @option params [required, String] :name
357
504
  # The name of the ledger.
358
505
  #
@@ -668,6 +815,69 @@ module Aws::QLDB
668
815
  req.send_request(options)
669
816
  end
670
817
 
818
+ # Returns an array of all Amazon QLDB journal stream descriptors for a
819
+ # given ledger. The output of each stream descriptor includes the same
820
+ # details that are returned by `DescribeJournalKinesisStream`.
821
+ #
822
+ # This action returns a maximum of `MaxResults` items. It is paginated
823
+ # so that you can retrieve all the items by calling
824
+ # `ListJournalKinesisStreamsForLedger` multiple times.
825
+ #
826
+ # @option params [required, String] :ledger_name
827
+ # The name of the ledger.
828
+ #
829
+ # @option params [Integer] :max_results
830
+ # The maximum number of results to return in a single
831
+ # `ListJournalKinesisStreamsForLedger` request. (The actual number of
832
+ # results returned might be fewer.)
833
+ #
834
+ # @option params [String] :next_token
835
+ # A pagination token, indicating that you want to retrieve the next page
836
+ # of results. If you received a value for `NextToken` in the response
837
+ # from a previous `ListJournalKinesisStreamsForLedger` call, you should
838
+ # use that value as input here.
839
+ #
840
+ # @return [Types::ListJournalKinesisStreamsForLedgerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
841
+ #
842
+ # * {Types::ListJournalKinesisStreamsForLedgerResponse#streams #streams} => Array&lt;Types::JournalKinesisStreamDescription&gt;
843
+ # * {Types::ListJournalKinesisStreamsForLedgerResponse#next_token #next_token} => String
844
+ #
845
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
846
+ #
847
+ # @example Request syntax with placeholder values
848
+ #
849
+ # resp = client.list_journal_kinesis_streams_for_ledger({
850
+ # ledger_name: "LedgerName", # required
851
+ # max_results: 1,
852
+ # next_token: "NextToken",
853
+ # })
854
+ #
855
+ # @example Response structure
856
+ #
857
+ # resp.streams #=> Array
858
+ # resp.streams[0].ledger_name #=> String
859
+ # resp.streams[0].creation_time #=> Time
860
+ # resp.streams[0].inclusive_start_time #=> Time
861
+ # resp.streams[0].exclusive_end_time #=> Time
862
+ # resp.streams[0].role_arn #=> String
863
+ # resp.streams[0].stream_id #=> String
864
+ # resp.streams[0].arn #=> String
865
+ # resp.streams[0].status #=> String, one of "ACTIVE", "COMPLETED", "CANCELED", "FAILED", "IMPAIRED"
866
+ # resp.streams[0].kinesis_configuration.stream_arn #=> String
867
+ # resp.streams[0].kinesis_configuration.aggregation_enabled #=> Boolean
868
+ # resp.streams[0].error_cause #=> String, one of "KINESIS_STREAM_NOT_FOUND", "IAM_PERMISSION_REVOKED"
869
+ # resp.streams[0].stream_name #=> String
870
+ # resp.next_token #=> String
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedger AWS API Documentation
873
+ #
874
+ # @overload list_journal_kinesis_streams_for_ledger(params = {})
875
+ # @param [Hash] params ({})
876
+ def list_journal_kinesis_streams_for_ledger(params = {}, options = {})
877
+ req = build_request(:list_journal_kinesis_streams_for_ledger, params)
878
+ req.send_request(options)
879
+ end
880
+
671
881
  # Returns an array of journal export job descriptions for all ledgers
672
882
  # that are associated with the current AWS account and Region.
673
883
  #
@@ -675,6 +885,14 @@ module Aws::QLDB
675
885
  # so that you can retrieve all the items by calling
676
886
  # `ListJournalS3Exports` multiple times.
677
887
  #
888
+ # This action does not return any expired export jobs. For more
889
+ # information, see [Export Job Expiration][1] in the *Amazon QLDB
890
+ # Developer Guide*.
891
+ #
892
+ #
893
+ #
894
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration
895
+ #
678
896
  # @option params [Integer] :max_results
679
897
  # The maximum number of results to return in a single
680
898
  # `ListJournalS3Exports` request. (The actual number of results returned
@@ -691,6 +909,8 @@ module Aws::QLDB
691
909
  # * {Types::ListJournalS3ExportsResponse#journal_s3_exports #journal_s3_exports} => Array&lt;Types::JournalS3ExportDescription&gt;
692
910
  # * {Types::ListJournalS3ExportsResponse#next_token #next_token} => String
693
911
  #
912
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
913
+ #
694
914
  # @example Request syntax with placeholder values
695
915
  #
696
916
  # resp = client.list_journal_s3_exports({
@@ -730,6 +950,14 @@ module Aws::QLDB
730
950
  # so that you can retrieve all the items by calling
731
951
  # `ListJournalS3ExportsForLedger` multiple times.
732
952
  #
953
+ # This action does not return any expired export jobs. For more
954
+ # information, see [Export Job Expiration][1] in the *Amazon QLDB
955
+ # Developer Guide*.
956
+ #
957
+ #
958
+ #
959
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration
960
+ #
733
961
  # @option params [required, String] :name
734
962
  # The name of the ledger.
735
963
  #
@@ -749,6 +977,8 @@ module Aws::QLDB
749
977
  # * {Types::ListJournalS3ExportsForLedgerResponse#journal_s3_exports #journal_s3_exports} => Array&lt;Types::JournalS3ExportDescription&gt;
750
978
  # * {Types::ListJournalS3ExportsForLedgerResponse#next_token #next_token} => String
751
979
  #
980
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
981
+ #
752
982
  # @example Request syntax with placeholder values
753
983
  #
754
984
  # resp = client.list_journal_s3_exports_for_ledger({
@@ -804,6 +1034,8 @@ module Aws::QLDB
804
1034
  # * {Types::ListLedgersResponse#ledgers #ledgers} => Array&lt;Types::LedgerSummary&gt;
805
1035
  # * {Types::ListLedgersResponse#next_token #next_token} => String
806
1036
  #
1037
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1038
+ #
807
1039
  # @example Request syntax with placeholder values
808
1040
  #
809
1041
  # resp = client.list_ledgers({
@@ -860,6 +1092,100 @@ module Aws::QLDB
860
1092
  req.send_request(options)
861
1093
  end
862
1094
 
1095
+ # Creates a stream for a given Amazon QLDB ledger that delivers the
1096
+ # journal data to a specified Amazon Kinesis Data Streams resource. The
1097
+ # stream captures every document revision that is committed to your
1098
+ # journal and sends it to the Kinesis data stream.
1099
+ #
1100
+ # @option params [required, String] :ledger_name
1101
+ # The name of the ledger.
1102
+ #
1103
+ # @option params [required, String] :role_arn
1104
+ # The Amazon Resource Name (ARN) of the IAM role that grants QLDB
1105
+ # permissions for a journal stream to write data records to a Kinesis
1106
+ # Data Streams resource.
1107
+ #
1108
+ # @option params [Hash<String,String>] :tags
1109
+ # The key-value pairs to add as tags to the stream that you want to
1110
+ # create. Tag keys are case sensitive. Tag values are case sensitive and
1111
+ # can be null.
1112
+ #
1113
+ # @option params [required, Time,DateTime,Date,Integer,String] :inclusive_start_time
1114
+ # The inclusive start date and time from which to start streaming
1115
+ # journal data. This parameter must be in `ISO 8601` date and time
1116
+ # format and in Universal Coordinated Time (UTC). For example:
1117
+ # `2019-06-13T21:36:34Z`
1118
+ #
1119
+ # The `InclusiveStartTime` cannot be in the future and must be before
1120
+ # `ExclusiveEndTime`.
1121
+ #
1122
+ # If you provide an `InclusiveStartTime` that is before the ledger's
1123
+ # `CreationDateTime`, QLDB effectively defaults it to the ledger's
1124
+ # `CreationDateTime`.
1125
+ #
1126
+ # @option params [Time,DateTime,Date,Integer,String] :exclusive_end_time
1127
+ # The exclusive date and time that specifies when the stream ends. If
1128
+ # you keep this parameter blank, the stream runs indefinitely until you
1129
+ # cancel it.
1130
+ #
1131
+ # The `ExclusiveEndTime` must be in `ISO 8601` date and time format and
1132
+ # in Universal Coordinated Time (UTC). For example:
1133
+ # `2019-06-13T21:36:34Z`
1134
+ #
1135
+ # @option params [required, Types::KinesisConfiguration] :kinesis_configuration
1136
+ # The configuration settings of the Kinesis Data Streams destination for
1137
+ # your stream request.
1138
+ #
1139
+ # @option params [required, String] :stream_name
1140
+ # The name that you want to assign to the QLDB journal stream.
1141
+ # User-defined names can help identify and indicate the purpose of a
1142
+ # stream.
1143
+ #
1144
+ # Your stream name must be unique among other *active* streams for a
1145
+ # given ledger. If you try to create a stream with the same name and
1146
+ # configuration of an active, existing stream for the same ledger, QLDB
1147
+ # simply returns the existing stream. Stream names have the same naming
1148
+ # constraints as ledger names, as defined in [Quotas in Amazon QLDB][1]
1149
+ # in the *Amazon QLDB Developer Guide*.
1150
+ #
1151
+ #
1152
+ #
1153
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming
1154
+ #
1155
+ # @return [Types::StreamJournalToKinesisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1156
+ #
1157
+ # * {Types::StreamJournalToKinesisResponse#stream_id #stream_id} => String
1158
+ #
1159
+ # @example Request syntax with placeholder values
1160
+ #
1161
+ # resp = client.stream_journal_to_kinesis({
1162
+ # ledger_name: "LedgerName", # required
1163
+ # role_arn: "Arn", # required
1164
+ # tags: {
1165
+ # "TagKey" => "TagValue",
1166
+ # },
1167
+ # inclusive_start_time: Time.now, # required
1168
+ # exclusive_end_time: Time.now,
1169
+ # kinesis_configuration: { # required
1170
+ # stream_arn: "Arn", # required
1171
+ # aggregation_enabled: false,
1172
+ # },
1173
+ # stream_name: "StreamName", # required
1174
+ # })
1175
+ #
1176
+ # @example Response structure
1177
+ #
1178
+ # resp.stream_id #=> String
1179
+ #
1180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesis AWS API Documentation
1181
+ #
1182
+ # @overload stream_journal_to_kinesis(params = {})
1183
+ # @param [Hash] params ({})
1184
+ def stream_journal_to_kinesis(params = {}, options = {})
1185
+ req = build_request(:stream_journal_to_kinesis, params)
1186
+ req.send_request(options)
1187
+ end
1188
+
863
1189
  # Adds one or more tags to a specified Amazon QLDB resource.
864
1190
  #
865
1191
  # A resource can have up to 50 tags. If you try to create more than 50
@@ -988,7 +1314,7 @@ module Aws::QLDB
988
1314
  params: params,
989
1315
  config: config)
990
1316
  context[:gem_name] = 'aws-sdk-qldb'
991
- context[:gem_version] = '1.1.0'
1317
+ context[:gem_version] = '1.6.1'
992
1318
  Seahorse::Client::Request.new(handlers, context)
993
1319
  end
994
1320
 
@@ -12,15 +12,21 @@ module Aws::QLDB
12
12
  include Seahorse::Model
13
13
 
14
14
  Arn = Shapes::StringShape.new(name: 'Arn')
15
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
16
+ CancelJournalKinesisStreamRequest = Shapes::StructureShape.new(name: 'CancelJournalKinesisStreamRequest')
17
+ CancelJournalKinesisStreamResponse = Shapes::StructureShape.new(name: 'CancelJournalKinesisStreamResponse')
15
18
  CreateLedgerRequest = Shapes::StructureShape.new(name: 'CreateLedgerRequest')
16
19
  CreateLedgerResponse = Shapes::StructureShape.new(name: 'CreateLedgerResponse')
17
20
  DeleteLedgerRequest = Shapes::StructureShape.new(name: 'DeleteLedgerRequest')
18
21
  DeletionProtection = Shapes::BooleanShape.new(name: 'DeletionProtection')
22
+ DescribeJournalKinesisStreamRequest = Shapes::StructureShape.new(name: 'DescribeJournalKinesisStreamRequest')
23
+ DescribeJournalKinesisStreamResponse = Shapes::StructureShape.new(name: 'DescribeJournalKinesisStreamResponse')
19
24
  DescribeJournalS3ExportRequest = Shapes::StructureShape.new(name: 'DescribeJournalS3ExportRequest')
20
25
  DescribeJournalS3ExportResponse = Shapes::StructureShape.new(name: 'DescribeJournalS3ExportResponse')
21
26
  DescribeLedgerRequest = Shapes::StructureShape.new(name: 'DescribeLedgerRequest')
22
27
  DescribeLedgerResponse = Shapes::StructureShape.new(name: 'DescribeLedgerResponse')
23
28
  Digest = Shapes::BlobShape.new(name: 'Digest')
29
+ ErrorCause = Shapes::StringShape.new(name: 'ErrorCause')
24
30
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
25
31
  ExportJournalToS3Request = Shapes::StructureShape.new(name: 'ExportJournalToS3Request')
26
32
  ExportJournalToS3Response = Shapes::StructureShape.new(name: 'ExportJournalToS3Response')
@@ -33,13 +39,18 @@ module Aws::QLDB
33
39
  GetRevisionResponse = Shapes::StructureShape.new(name: 'GetRevisionResponse')
34
40
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
35
41
  IonText = Shapes::StringShape.new(name: 'IonText')
42
+ JournalKinesisStreamDescription = Shapes::StructureShape.new(name: 'JournalKinesisStreamDescription')
43
+ JournalKinesisStreamDescriptionList = Shapes::ListShape.new(name: 'JournalKinesisStreamDescriptionList')
36
44
  JournalS3ExportDescription = Shapes::StructureShape.new(name: 'JournalS3ExportDescription')
37
45
  JournalS3ExportList = Shapes::ListShape.new(name: 'JournalS3ExportList')
46
+ KinesisConfiguration = Shapes::StructureShape.new(name: 'KinesisConfiguration')
38
47
  LedgerList = Shapes::ListShape.new(name: 'LedgerList')
39
48
  LedgerName = Shapes::StringShape.new(name: 'LedgerName')
40
49
  LedgerState = Shapes::StringShape.new(name: 'LedgerState')
41
50
  LedgerSummary = Shapes::StructureShape.new(name: 'LedgerSummary')
42
51
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
52
+ ListJournalKinesisStreamsForLedgerRequest = Shapes::StructureShape.new(name: 'ListJournalKinesisStreamsForLedgerRequest')
53
+ ListJournalKinesisStreamsForLedgerResponse = Shapes::StructureShape.new(name: 'ListJournalKinesisStreamsForLedgerResponse')
43
54
  ListJournalS3ExportsForLedgerRequest = Shapes::StructureShape.new(name: 'ListJournalS3ExportsForLedgerRequest')
44
55
  ListJournalS3ExportsForLedgerResponse = Shapes::StructureShape.new(name: 'ListJournalS3ExportsForLedgerResponse')
45
56
  ListJournalS3ExportsRequest = Shapes::StructureShape.new(name: 'ListJournalS3ExportsRequest')
@@ -63,6 +74,10 @@ module Aws::QLDB
63
74
  S3ExportConfiguration = Shapes::StructureShape.new(name: 'S3ExportConfiguration')
64
75
  S3ObjectEncryptionType = Shapes::StringShape.new(name: 'S3ObjectEncryptionType')
65
76
  S3Prefix = Shapes::StringShape.new(name: 'S3Prefix')
77
+ StreamJournalToKinesisRequest = Shapes::StructureShape.new(name: 'StreamJournalToKinesisRequest')
78
+ StreamJournalToKinesisResponse = Shapes::StructureShape.new(name: 'StreamJournalToKinesisResponse')
79
+ StreamName = Shapes::StringShape.new(name: 'StreamName')
80
+ StreamStatus = Shapes::StringShape.new(name: 'StreamStatus')
66
81
  TagKey = Shapes::StringShape.new(name: 'TagKey')
67
82
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
68
83
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
@@ -77,6 +92,13 @@ module Aws::QLDB
77
92
  UpdateLedgerResponse = Shapes::StructureShape.new(name: 'UpdateLedgerResponse')
78
93
  ValueHolder = Shapes::StructureShape.new(name: 'ValueHolder')
79
94
 
95
+ CancelJournalKinesisStreamRequest.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
96
+ CancelJournalKinesisStreamRequest.add_member(:stream_id, Shapes::ShapeRef.new(shape: UniqueId, required: true, location: "uri", location_name: "streamId"))
97
+ CancelJournalKinesisStreamRequest.struct_class = Types::CancelJournalKinesisStreamRequest
98
+
99
+ CancelJournalKinesisStreamResponse.add_member(:stream_id, Shapes::ShapeRef.new(shape: UniqueId, location_name: "StreamId"))
100
+ CancelJournalKinesisStreamResponse.struct_class = Types::CancelJournalKinesisStreamResponse
101
+
80
102
  CreateLedgerRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location_name: "Name"))
81
103
  CreateLedgerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
82
104
  CreateLedgerRequest.add_member(:permissions_mode, Shapes::ShapeRef.new(shape: PermissionsMode, required: true, location_name: "PermissionsMode"))
@@ -93,6 +115,13 @@ module Aws::QLDB
93
115
  DeleteLedgerRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
94
116
  DeleteLedgerRequest.struct_class = Types::DeleteLedgerRequest
95
117
 
118
+ DescribeJournalKinesisStreamRequest.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
119
+ DescribeJournalKinesisStreamRequest.add_member(:stream_id, Shapes::ShapeRef.new(shape: UniqueId, required: true, location: "uri", location_name: "streamId"))
120
+ DescribeJournalKinesisStreamRequest.struct_class = Types::DescribeJournalKinesisStreamRequest
121
+
122
+ DescribeJournalKinesisStreamResponse.add_member(:stream, Shapes::ShapeRef.new(shape: JournalKinesisStreamDescription, location_name: "Stream"))
123
+ DescribeJournalKinesisStreamResponse.struct_class = Types::DescribeJournalKinesisStreamResponse
124
+
96
125
  DescribeJournalS3ExportRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
97
126
  DescribeJournalS3ExportRequest.add_member(:export_id, Shapes::ShapeRef.new(shape: UniqueId, required: true, location: "uri", location_name: "exportId"))
98
127
  DescribeJournalS3ExportRequest.struct_class = Types::DescribeJournalS3ExportRequest
@@ -150,6 +179,21 @@ module Aws::QLDB
150
179
  InvalidParameterException.add_member(:parameter_name, Shapes::ShapeRef.new(shape: ParameterName, location_name: "ParameterName"))
151
180
  InvalidParameterException.struct_class = Types::InvalidParameterException
152
181
 
182
+ JournalKinesisStreamDescription.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location_name: "LedgerName"))
183
+ JournalKinesisStreamDescription.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime"))
184
+ JournalKinesisStreamDescription.add_member(:inclusive_start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "InclusiveStartTime"))
185
+ JournalKinesisStreamDescription.add_member(:exclusive_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ExclusiveEndTime"))
186
+ JournalKinesisStreamDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "RoleArn"))
187
+ JournalKinesisStreamDescription.add_member(:stream_id, Shapes::ShapeRef.new(shape: UniqueId, required: true, location_name: "StreamId"))
188
+ JournalKinesisStreamDescription.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
189
+ JournalKinesisStreamDescription.add_member(:status, Shapes::ShapeRef.new(shape: StreamStatus, required: true, location_name: "Status"))
190
+ JournalKinesisStreamDescription.add_member(:kinesis_configuration, Shapes::ShapeRef.new(shape: KinesisConfiguration, required: true, location_name: "KinesisConfiguration"))
191
+ JournalKinesisStreamDescription.add_member(:error_cause, Shapes::ShapeRef.new(shape: ErrorCause, location_name: "ErrorCause"))
192
+ JournalKinesisStreamDescription.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
193
+ JournalKinesisStreamDescription.struct_class = Types::JournalKinesisStreamDescription
194
+
195
+ JournalKinesisStreamDescriptionList.member = Shapes::ShapeRef.new(shape: JournalKinesisStreamDescription)
196
+
153
197
  JournalS3ExportDescription.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location_name: "LedgerName"))
154
198
  JournalS3ExportDescription.add_member(:export_id, Shapes::ShapeRef.new(shape: UniqueId, required: true, location_name: "ExportId"))
155
199
  JournalS3ExportDescription.add_member(:export_creation_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "ExportCreationTime"))
@@ -162,6 +206,10 @@ module Aws::QLDB
162
206
 
163
207
  JournalS3ExportList.member = Shapes::ShapeRef.new(shape: JournalS3ExportDescription)
164
208
 
209
+ KinesisConfiguration.add_member(:stream_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "StreamArn"))
210
+ KinesisConfiguration.add_member(:aggregation_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "AggregationEnabled"))
211
+ KinesisConfiguration.struct_class = Types::KinesisConfiguration
212
+
165
213
  LedgerList.member = Shapes::ShapeRef.new(shape: LedgerSummary)
166
214
 
167
215
  LedgerSummary.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, location_name: "Name"))
@@ -173,6 +221,15 @@ module Aws::QLDB
173
221
  LimitExceededException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
174
222
  LimitExceededException.struct_class = Types::LimitExceededException
175
223
 
224
+ ListJournalKinesisStreamsForLedgerRequest.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
225
+ ListJournalKinesisStreamsForLedgerRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "max_results"))
226
+ ListJournalKinesisStreamsForLedgerRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "next_token"))
227
+ ListJournalKinesisStreamsForLedgerRequest.struct_class = Types::ListJournalKinesisStreamsForLedgerRequest
228
+
229
+ ListJournalKinesisStreamsForLedgerResponse.add_member(:streams, Shapes::ShapeRef.new(shape: JournalKinesisStreamDescriptionList, location_name: "Streams"))
230
+ ListJournalKinesisStreamsForLedgerResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
231
+ ListJournalKinesisStreamsForLedgerResponse.struct_class = Types::ListJournalKinesisStreamsForLedgerResponse
232
+
176
233
  ListJournalS3ExportsForLedgerRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
177
234
  ListJournalS3ExportsForLedgerRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "max_results"))
178
235
  ListJournalS3ExportsForLedgerRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "next_token"))
@@ -233,6 +290,18 @@ module Aws::QLDB
233
290
  S3ExportConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: S3EncryptionConfiguration, required: true, location_name: "EncryptionConfiguration"))
234
291
  S3ExportConfiguration.struct_class = Types::S3ExportConfiguration
235
292
 
293
+ StreamJournalToKinesisRequest.add_member(:ledger_name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
294
+ StreamJournalToKinesisRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "RoleArn"))
295
+ StreamJournalToKinesisRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
296
+ StreamJournalToKinesisRequest.add_member(:inclusive_start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "InclusiveStartTime"))
297
+ StreamJournalToKinesisRequest.add_member(:exclusive_end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ExclusiveEndTime"))
298
+ StreamJournalToKinesisRequest.add_member(:kinesis_configuration, Shapes::ShapeRef.new(shape: KinesisConfiguration, required: true, location_name: "KinesisConfiguration"))
299
+ StreamJournalToKinesisRequest.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
300
+ StreamJournalToKinesisRequest.struct_class = Types::StreamJournalToKinesisRequest
301
+
302
+ StreamJournalToKinesisResponse.add_member(:stream_id, Shapes::ShapeRef.new(shape: UniqueId, location_name: "StreamId"))
303
+ StreamJournalToKinesisResponse.struct_class = Types::StreamJournalToKinesisResponse
304
+
236
305
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
237
306
 
238
307
  TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "resourceArn"))
@@ -283,6 +352,17 @@ module Aws::QLDB
283
352
  "uid" => "qldb-2019-01-02",
284
353
  }
285
354
 
355
+ api.add_operation(:cancel_journal_kinesis_stream, Seahorse::Model::Operation.new.tap do |o|
356
+ o.name = "CancelJournalKinesisStream"
357
+ o.http_method = "DELETE"
358
+ o.http_request_uri = "/ledgers/{name}/journal-kinesis-streams/{streamId}"
359
+ o.input = Shapes::ShapeRef.new(shape: CancelJournalKinesisStreamRequest)
360
+ o.output = Shapes::ShapeRef.new(shape: CancelJournalKinesisStreamResponse)
361
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
362
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
363
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
364
+ end)
365
+
286
366
  api.add_operation(:create_ledger, Seahorse::Model::Operation.new.tap do |o|
287
367
  o.name = "CreateLedger"
288
368
  o.http_method = "POST"
@@ -307,6 +387,17 @@ module Aws::QLDB
307
387
  o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
308
388
  end)
309
389
 
390
+ api.add_operation(:describe_journal_kinesis_stream, Seahorse::Model::Operation.new.tap do |o|
391
+ o.name = "DescribeJournalKinesisStream"
392
+ o.http_method = "GET"
393
+ o.http_request_uri = "/ledgers/{name}/journal-kinesis-streams/{streamId}"
394
+ o.input = Shapes::ShapeRef.new(shape: DescribeJournalKinesisStreamRequest)
395
+ o.output = Shapes::ShapeRef.new(shape: DescribeJournalKinesisStreamResponse)
396
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
397
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
398
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
399
+ end)
400
+
310
401
  api.add_operation(:describe_journal_s3_export, Seahorse::Model::Operation.new.tap do |o|
311
402
  o.name = "DescribeJournalS3Export"
312
403
  o.http_method = "GET"
@@ -369,6 +460,23 @@ module Aws::QLDB
369
460
  o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
370
461
  end)
371
462
 
463
+ api.add_operation(:list_journal_kinesis_streams_for_ledger, Seahorse::Model::Operation.new.tap do |o|
464
+ o.name = "ListJournalKinesisStreamsForLedger"
465
+ o.http_method = "GET"
466
+ o.http_request_uri = "/ledgers/{name}/journal-kinesis-streams"
467
+ o.input = Shapes::ShapeRef.new(shape: ListJournalKinesisStreamsForLedgerRequest)
468
+ o.output = Shapes::ShapeRef.new(shape: ListJournalKinesisStreamsForLedgerResponse)
469
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
470
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
471
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
472
+ o[:pager] = Aws::Pager.new(
473
+ limit_key: "max_results",
474
+ tokens: {
475
+ "next_token" => "next_token"
476
+ }
477
+ )
478
+ end)
479
+
372
480
  api.add_operation(:list_journal_s3_exports, Seahorse::Model::Operation.new.tap do |o|
373
481
  o.name = "ListJournalS3Exports"
374
482
  o.http_method = "GET"
@@ -421,6 +529,17 @@ module Aws::QLDB
421
529
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
422
530
  end)
423
531
 
532
+ api.add_operation(:stream_journal_to_kinesis, Seahorse::Model::Operation.new.tap do |o|
533
+ o.name = "StreamJournalToKinesis"
534
+ o.http_method = "POST"
535
+ o.http_request_uri = "/ledgers/{name}/journal-kinesis-streams"
536
+ o.input = Shapes::ShapeRef.new(shape: StreamJournalToKinesisRequest)
537
+ o.output = Shapes::ShapeRef.new(shape: StreamJournalToKinesisResponse)
538
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
539
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
540
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePreconditionNotMetException)
541
+ end)
542
+
424
543
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
425
544
  o.name = "TagResource"
426
545
  o.http_method = "POST"
@@ -6,6 +6,34 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::QLDB
9
+
10
+ # When QLDB returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::QLDB::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all QLDB errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::QLDB::Errors::ServiceError
18
+ # # rescues all QLDB API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {InvalidParameterException}
29
+ # * {LimitExceededException}
30
+ # * {ResourceAlreadyExistsException}
31
+ # * {ResourceInUseException}
32
+ # * {ResourceNotFoundException}
33
+ # * {ResourcePreconditionNotMetException}
34
+ #
35
+ # Additionally, error classes are dynamically generated for service errors based on the error code
36
+ # if they are not defined above.
9
37
  module Errors
10
38
 
11
39
  extend Aws::Errors::DynamicErrors
@@ -28,7 +56,6 @@ module Aws::QLDB
28
56
  def parameter_name
29
57
  @data[:parameter_name]
30
58
  end
31
-
32
59
  end
33
60
 
34
61
  class LimitExceededException < ServiceError
@@ -49,7 +76,6 @@ module Aws::QLDB
49
76
  def resource_type
50
77
  @data[:resource_type]
51
78
  end
52
-
53
79
  end
54
80
 
55
81
  class ResourceAlreadyExistsException < ServiceError
@@ -75,7 +101,6 @@ module Aws::QLDB
75
101
  def resource_name
76
102
  @data[:resource_name]
77
103
  end
78
-
79
104
  end
80
105
 
81
106
  class ResourceInUseException < ServiceError
@@ -101,7 +126,6 @@ module Aws::QLDB
101
126
  def resource_name
102
127
  @data[:resource_name]
103
128
  end
104
-
105
129
  end
106
130
 
107
131
  class ResourceNotFoundException < ServiceError
@@ -127,7 +151,6 @@ module Aws::QLDB
127
151
  def resource_name
128
152
  @data[:resource_name]
129
153
  end
130
-
131
154
  end
132
155
 
133
156
  class ResourcePreconditionNotMetException < ServiceError
@@ -153,7 +176,6 @@ module Aws::QLDB
153
176
  def resource_name
154
177
  @data[:resource_name]
155
178
  end
156
-
157
179
  end
158
180
 
159
181
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::QLDB
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,41 @@
8
8
  module Aws::QLDB
9
9
  module Types
10
10
 
11
+ # @note When making an API call, you may pass CancelJournalKinesisStreamRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # ledger_name: "LedgerName", # required
16
+ # stream_id: "UniqueId", # required
17
+ # }
18
+ #
19
+ # @!attribute [rw] ledger_name
20
+ # The name of the ledger.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] stream_id
24
+ # The unique ID that QLDB assigns to each QLDB journal stream.
25
+ # @return [String]
26
+ #
27
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStreamRequest AWS API Documentation
28
+ #
29
+ class CancelJournalKinesisStreamRequest < Struct.new(
30
+ :ledger_name,
31
+ :stream_id)
32
+ include Aws::Structure
33
+ end
34
+
35
+ # @!attribute [rw] stream_id
36
+ # The unique ID that QLDB assigns to each QLDB journal stream.
37
+ # @return [String]
38
+ #
39
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStreamResponse AWS API Documentation
40
+ #
41
+ class CancelJournalKinesisStreamResponse < Struct.new(
42
+ :stream_id)
43
+ include Aws::Structure
44
+ end
45
+
11
46
  # @note When making an API call, you may pass CreateLedgerRequest
12
47
  # data as a hash:
13
48
  #
@@ -119,6 +154,42 @@ module Aws::QLDB
119
154
  include Aws::Structure
120
155
  end
121
156
 
157
+ # @note When making an API call, you may pass DescribeJournalKinesisStreamRequest
158
+ # data as a hash:
159
+ #
160
+ # {
161
+ # ledger_name: "LedgerName", # required
162
+ # stream_id: "UniqueId", # required
163
+ # }
164
+ #
165
+ # @!attribute [rw] ledger_name
166
+ # The name of the ledger.
167
+ # @return [String]
168
+ #
169
+ # @!attribute [rw] stream_id
170
+ # The unique ID that QLDB assigns to each QLDB journal stream.
171
+ # @return [String]
172
+ #
173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStreamRequest AWS API Documentation
174
+ #
175
+ class DescribeJournalKinesisStreamRequest < Struct.new(
176
+ :ledger_name,
177
+ :stream_id)
178
+ include Aws::Structure
179
+ end
180
+
181
+ # @!attribute [rw] stream
182
+ # Information about the QLDB journal stream returned by a
183
+ # `DescribeJournalS3Export` request.
184
+ # @return [Types::JournalKinesisStreamDescription]
185
+ #
186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStreamResponse AWS API Documentation
187
+ #
188
+ class DescribeJournalKinesisStreamResponse < Struct.new(
189
+ :stream)
190
+ include Aws::Structure
191
+ end
192
+
122
193
  # @note When making an API call, you may pass DescribeJournalS3ExportRequest
123
194
  # data as a hash:
124
195
  #
@@ -488,6 +559,81 @@ module Aws::QLDB
488
559
  include Aws::Structure
489
560
  end
490
561
 
562
+ # The information about an Amazon QLDB journal stream, including the
563
+ # Amazon Resource Name (ARN), stream name, creation time, current
564
+ # status, and the parameters of your original stream creation request.
565
+ #
566
+ # @!attribute [rw] ledger_name
567
+ # The name of the ledger.
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] creation_time
571
+ # The date and time, in epoch time format, when the QLDB journal
572
+ # stream was created. (Epoch time format is the number of seconds
573
+ # elapsed since 12:00:00 AM January 1, 1970 UTC.)
574
+ # @return [Time]
575
+ #
576
+ # @!attribute [rw] inclusive_start_time
577
+ # The inclusive start date and time from which to start streaming
578
+ # journal data.
579
+ # @return [Time]
580
+ #
581
+ # @!attribute [rw] exclusive_end_time
582
+ # The exclusive date and time that specifies when the stream ends. If
583
+ # this parameter is blank, the stream runs indefinitely until you
584
+ # cancel it.
585
+ # @return [Time]
586
+ #
587
+ # @!attribute [rw] role_arn
588
+ # The Amazon Resource Name (ARN) of the IAM role that grants QLDB
589
+ # permissions for a journal stream to write data records to a Kinesis
590
+ # Data Streams resource.
591
+ # @return [String]
592
+ #
593
+ # @!attribute [rw] stream_id
594
+ # The unique ID that QLDB assigns to each QLDB journal stream.
595
+ # @return [String]
596
+ #
597
+ # @!attribute [rw] arn
598
+ # The Amazon Resource Name (ARN) of the QLDB journal stream.
599
+ # @return [String]
600
+ #
601
+ # @!attribute [rw] status
602
+ # The current state of the QLDB journal stream.
603
+ # @return [String]
604
+ #
605
+ # @!attribute [rw] kinesis_configuration
606
+ # The configuration settings of the Amazon Kinesis Data Streams
607
+ # destination for your QLDB journal stream.
608
+ # @return [Types::KinesisConfiguration]
609
+ #
610
+ # @!attribute [rw] error_cause
611
+ # The error message that describes the reason that a stream has a
612
+ # status of `IMPAIRED` or `FAILED`. This is not applicable to streams
613
+ # that have other status values.
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] stream_name
617
+ # The user-defined name of the QLDB journal stream.
618
+ # @return [String]
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/JournalKinesisStreamDescription AWS API Documentation
621
+ #
622
+ class JournalKinesisStreamDescription < Struct.new(
623
+ :ledger_name,
624
+ :creation_time,
625
+ :inclusive_start_time,
626
+ :exclusive_end_time,
627
+ :role_arn,
628
+ :stream_id,
629
+ :arn,
630
+ :status,
631
+ :kinesis_configuration,
632
+ :error_cause,
633
+ :stream_name)
634
+ include Aws::Structure
635
+ end
636
+
491
637
  # The information about a journal export job, including the ledger name,
492
638
  # export ID, when it was created, current status, and its start and end
493
639
  # time export parameters.
@@ -551,6 +697,39 @@ module Aws::QLDB
551
697
  include Aws::Structure
552
698
  end
553
699
 
700
+ # The configuration settings of the Amazon Kinesis Data Streams
701
+ # destination for your Amazon QLDB journal stream.
702
+ #
703
+ # @note When making an API call, you may pass KinesisConfiguration
704
+ # data as a hash:
705
+ #
706
+ # {
707
+ # stream_arn: "Arn", # required
708
+ # aggregation_enabled: false,
709
+ # }
710
+ #
711
+ # @!attribute [rw] stream_arn
712
+ # The Amazon Resource Name (ARN) of the Kinesis data stream resource.
713
+ # @return [String]
714
+ #
715
+ # @!attribute [rw] aggregation_enabled
716
+ # Enables QLDB to publish multiple stream records in a single Kinesis
717
+ # Data Streams record. To learn more, see [KPL Key Concepts][1] in the
718
+ # *Amazon Kinesis Data Streams Developer Guide*.
719
+ #
720
+ #
721
+ #
722
+ # [1]: https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html
723
+ # @return [Boolean]
724
+ #
725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/KinesisConfiguration AWS API Documentation
726
+ #
727
+ class KinesisConfiguration < Struct.new(
728
+ :stream_arn,
729
+ :aggregation_enabled)
730
+ include Aws::Structure
731
+ end
732
+
554
733
  # Information about a ledger, including its name, state, and when it was
555
734
  # created.
556
735
  #
@@ -594,6 +773,63 @@ module Aws::QLDB
594
773
  include Aws::Structure
595
774
  end
596
775
 
776
+ # @note When making an API call, you may pass ListJournalKinesisStreamsForLedgerRequest
777
+ # data as a hash:
778
+ #
779
+ # {
780
+ # ledger_name: "LedgerName", # required
781
+ # max_results: 1,
782
+ # next_token: "NextToken",
783
+ # }
784
+ #
785
+ # @!attribute [rw] ledger_name
786
+ # The name of the ledger.
787
+ # @return [String]
788
+ #
789
+ # @!attribute [rw] max_results
790
+ # The maximum number of results to return in a single
791
+ # `ListJournalKinesisStreamsForLedger` request. (The actual number of
792
+ # results returned might be fewer.)
793
+ # @return [Integer]
794
+ #
795
+ # @!attribute [rw] next_token
796
+ # A pagination token, indicating that you want to retrieve the next
797
+ # page of results. If you received a value for `NextToken` in the
798
+ # response from a previous `ListJournalKinesisStreamsForLedger` call,
799
+ # you should use that value as input here.
800
+ # @return [String]
801
+ #
802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedgerRequest AWS API Documentation
803
+ #
804
+ class ListJournalKinesisStreamsForLedgerRequest < Struct.new(
805
+ :ledger_name,
806
+ :max_results,
807
+ :next_token)
808
+ include Aws::Structure
809
+ end
810
+
811
+ # @!attribute [rw] streams
812
+ # The array of QLDB journal stream descriptors that are associated
813
+ # with the given ledger.
814
+ # @return [Array<Types::JournalKinesisStreamDescription>]
815
+ #
816
+ # @!attribute [rw] next_token
817
+ # * If `NextToken` is empty, the last page of results has been
818
+ # processed and there are no more results to be retrieved.
819
+ #
820
+ # * If `NextToken` is *not* empty, more results are available. To
821
+ # retrieve the next page of results, use the value of `NextToken` in
822
+ # a subsequent `ListJournalKinesisStreamsForLedger` call.
823
+ # @return [String]
824
+ #
825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedgerResponse AWS API Documentation
826
+ #
827
+ class ListJournalKinesisStreamsForLedgerResponse < Struct.new(
828
+ :streams,
829
+ :next_token)
830
+ include Aws::Structure
831
+ end
832
+
597
833
  # @note When making an API call, you may pass ListJournalS3ExportsForLedgerRequest
598
834
  # data as a hash:
599
835
  #
@@ -900,8 +1136,9 @@ module Aws::QLDB
900
1136
  # @return [String]
901
1137
  #
902
1138
  # @!attribute [rw] kms_key_arn
903
- # The Amazon Resource Name (ARN) for a customer master key (CMK) in
904
- # AWS Key Management Service (AWS KMS).
1139
+ # The Amazon Resource Name (ARN) for a symmetric customer master key
1140
+ # (CMK) in AWS Key Management Service (AWS KMS). Amazon QLDB does not
1141
+ # support asymmetric CMKs.
905
1142
  #
906
1143
  # You must provide a `KmsKeyArn` if you specify `SSE_KMS` as the
907
1144
  # `ObjectEncryptionType`.
@@ -981,6 +1218,110 @@ module Aws::QLDB
981
1218
  include Aws::Structure
982
1219
  end
983
1220
 
1221
+ # @note When making an API call, you may pass StreamJournalToKinesisRequest
1222
+ # data as a hash:
1223
+ #
1224
+ # {
1225
+ # ledger_name: "LedgerName", # required
1226
+ # role_arn: "Arn", # required
1227
+ # tags: {
1228
+ # "TagKey" => "TagValue",
1229
+ # },
1230
+ # inclusive_start_time: Time.now, # required
1231
+ # exclusive_end_time: Time.now,
1232
+ # kinesis_configuration: { # required
1233
+ # stream_arn: "Arn", # required
1234
+ # aggregation_enabled: false,
1235
+ # },
1236
+ # stream_name: "StreamName", # required
1237
+ # }
1238
+ #
1239
+ # @!attribute [rw] ledger_name
1240
+ # The name of the ledger.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] role_arn
1244
+ # The Amazon Resource Name (ARN) of the IAM role that grants QLDB
1245
+ # permissions for a journal stream to write data records to a Kinesis
1246
+ # Data Streams resource.
1247
+ # @return [String]
1248
+ #
1249
+ # @!attribute [rw] tags
1250
+ # The key-value pairs to add as tags to the stream that you want to
1251
+ # create. Tag keys are case sensitive. Tag values are case sensitive
1252
+ # and can be null.
1253
+ # @return [Hash<String,String>]
1254
+ #
1255
+ # @!attribute [rw] inclusive_start_time
1256
+ # The inclusive start date and time from which to start streaming
1257
+ # journal data. This parameter must be in `ISO 8601` date and time
1258
+ # format and in Universal Coordinated Time (UTC). For example:
1259
+ # `2019-06-13T21:36:34Z`
1260
+ #
1261
+ # The `InclusiveStartTime` cannot be in the future and must be before
1262
+ # `ExclusiveEndTime`.
1263
+ #
1264
+ # If you provide an `InclusiveStartTime` that is before the ledger's
1265
+ # `CreationDateTime`, QLDB effectively defaults it to the ledger's
1266
+ # `CreationDateTime`.
1267
+ # @return [Time]
1268
+ #
1269
+ # @!attribute [rw] exclusive_end_time
1270
+ # The exclusive date and time that specifies when the stream ends. If
1271
+ # you keep this parameter blank, the stream runs indefinitely until
1272
+ # you cancel it.
1273
+ #
1274
+ # The `ExclusiveEndTime` must be in `ISO 8601` date and time format
1275
+ # and in Universal Coordinated Time (UTC). For example:
1276
+ # `2019-06-13T21:36:34Z`
1277
+ # @return [Time]
1278
+ #
1279
+ # @!attribute [rw] kinesis_configuration
1280
+ # The configuration settings of the Kinesis Data Streams destination
1281
+ # for your stream request.
1282
+ # @return [Types::KinesisConfiguration]
1283
+ #
1284
+ # @!attribute [rw] stream_name
1285
+ # The name that you want to assign to the QLDB journal stream.
1286
+ # User-defined names can help identify and indicate the purpose of a
1287
+ # stream.
1288
+ #
1289
+ # Your stream name must be unique among other *active* streams for a
1290
+ # given ledger. If you try to create a stream with the same name and
1291
+ # configuration of an active, existing stream for the same ledger,
1292
+ # QLDB simply returns the existing stream. Stream names have the same
1293
+ # naming constraints as ledger names, as defined in [Quotas in Amazon
1294
+ # QLDB][1] in the *Amazon QLDB Developer Guide*.
1295
+ #
1296
+ #
1297
+ #
1298
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming
1299
+ # @return [String]
1300
+ #
1301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesisRequest AWS API Documentation
1302
+ #
1303
+ class StreamJournalToKinesisRequest < Struct.new(
1304
+ :ledger_name,
1305
+ :role_arn,
1306
+ :tags,
1307
+ :inclusive_start_time,
1308
+ :exclusive_end_time,
1309
+ :kinesis_configuration,
1310
+ :stream_name)
1311
+ include Aws::Structure
1312
+ end
1313
+
1314
+ # @!attribute [rw] stream_id
1315
+ # The unique ID that QLDB assigns to each QLDB journal stream.
1316
+ # @return [String]
1317
+ #
1318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesisResponse AWS API Documentation
1319
+ #
1320
+ class StreamJournalToKinesisResponse < Struct.new(
1321
+ :stream_id)
1322
+ include Aws::Structure
1323
+ end
1324
+
984
1325
  # @note When making an API call, you may pass TagResourceRequest
985
1326
  # data as a hash:
986
1327
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-qldb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.71.0
22
+ version: 3.99.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - QLDB