aws-sdk-qldb 1.1.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
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