aws-sdk-qldb 1.13.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b51e45924592dfac1c049a1dfcee8ea7f09ddce77268ac96735a3745459f116
4
- data.tar.gz: 9866d74a0ecb2b8201a4197d6d93fb793a3e7fbe97a6f700e6e0103f8dd546b1
3
+ metadata.gz: 2708a2f39158ed82c21ce2955d0fb17715f04adc8e6dd57684ba3ef8e195a694
4
+ data.tar.gz: 8ccdd5bfec9de2c0ca2dcfca19f24134755170f9d74347e1a60b5cb139e72ca8
5
5
  SHA512:
6
- metadata.gz: 6aabde6d19ab517e73f2628a2cbca09050427ecc89ddbb9c9f20864747040bd9287bf3bdde79f7e189d48850f142ad3a6c7419eb4c6f8706b0bc88f1b3bad2fb
7
- data.tar.gz: f02845595d681ab149f1c800b204b131a820e5cc746df3b6ad528a80f3674e115bcef347120e26368b712277f05a1a578a0d524b8caca0ad05b98fcc730cde69
6
+ metadata.gz: 013f3069d84ca4128055bf5e1a67eba59bc8c624386a729acef4d60debc0dc26f26329390a1e51be8fda818823f81f7613bd123a6b26ef7b0daf505a001e09ad
7
+ data.tar.gz: b4c64efeb71b2c0bd58143ebb7842181d14b57b771a2bac7ae82f8af6547b1936ee0bdf204c5693fc26cc3d7330b02568f3c83f70ca6339c1b67582e3f6d6d88
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.17.0 (2021-07-28)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.16.0 (2021-07-22)
10
+ ------------------
11
+
12
+ * Feature - Amazon QLDB now supports ledgers encrypted with customer managed KMS keys. Changes in CreateLedger, UpdateLedger and DescribeLedger APIs to support the changes.
13
+
14
+ 1.15.0 (2021-06-04)
15
+ ------------------
16
+
17
+ * Feature - Documentation updates for Amazon QLDB
18
+
19
+ 1.14.0 (2021-05-26)
20
+ ------------------
21
+
22
+ * Feature - Support STANDARD permissions mode in CreateLedger and DescribeLedger. Add UpdateLedgerPermissionsMode to update permissions mode on existing ledgers.
23
+
4
24
  1.13.0 (2021-03-10)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.13.0
1
+ 1.17.0
data/lib/aws-sdk-qldb.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-qldb/customizations'
48
48
  # @!group service
49
49
  module Aws::QLDB
50
50
 
51
- GEM_VERSION = '1.13.0'
51
+ GEM_VERSION = '1.17.0'
52
52
 
53
53
  end
@@ -338,7 +338,8 @@ module Aws::QLDB
338
338
  # The name of the ledger.
339
339
  #
340
340
  # @option params [required, String] :stream_id
341
- # The unique ID that QLDB assigns to each QLDB journal stream.
341
+ # The UUID (represented in Base62-encoded text) of the QLDB journal
342
+ # stream to be canceled.
342
343
  #
343
344
  # @return [Types::CancelJournalKinesisStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
344
345
  #
@@ -364,11 +365,11 @@ module Aws::QLDB
364
365
  req.send_request(options)
365
366
  end
366
367
 
367
- # Creates a new ledger in your AWS account.
368
+ # Creates a new ledger in your account in the current Region.
368
369
  #
369
370
  # @option params [required, String] :name
370
371
  # The name of the ledger that you want to create. The name must be
371
- # unique among all of your ledgers in the current AWS Region.
372
+ # unique among all of the ledgers in your account in the current Region.
372
373
  #
373
374
  # Naming constraints for ledger names are defined in [Quotas in Amazon
374
375
  # QLDB][1] in the *Amazon QLDB Developer Guide*.
@@ -384,6 +385,37 @@ module Aws::QLDB
384
385
  #
385
386
  # @option params [required, String] :permissions_mode
386
387
  # The permissions mode to assign to the ledger that you want to create.
388
+ # This parameter can have one of the following values:
389
+ #
390
+ # * `ALLOW_ALL`\: A legacy permissions mode that enables access control
391
+ # with API-level granularity for ledgers.
392
+ #
393
+ # This mode allows users who have the `SendCommand` API permission for
394
+ # this ledger to run all PartiQL commands (hence, `ALLOW_ALL`) on any
395
+ # tables in the specified ledger. This mode disregards any table-level
396
+ # or command-level IAM permissions policies that you create for the
397
+ # ledger.
398
+ #
399
+ # * `STANDARD`\: (*Recommended*) A permissions mode that enables access
400
+ # control with finer granularity for ledgers, tables, and PartiQL
401
+ # commands.
402
+ #
403
+ # By default, this mode denies all user requests to run any PartiQL
404
+ # commands on any tables in this ledger. To allow PartiQL commands to
405
+ # run, you must create IAM permissions policies for specific table
406
+ # resources and PartiQL actions, in addition to the `SendCommand` API
407
+ # permission for the ledger. For information, see [Getting started
408
+ # with the standard permissions mode][1] in the *Amazon QLDB Developer
409
+ # Guide*.
410
+ #
411
+ # <note markdown="1"> We strongly recommend using the `STANDARD` permissions mode to
412
+ # maximize the security of your ledger data.
413
+ #
414
+ # </note>
415
+ #
416
+ #
417
+ #
418
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html
387
419
  #
388
420
  # @option params [Boolean] :deletion_protection
389
421
  # The flag that prevents a ledger from being deleted by any user. If not
@@ -391,10 +423,53 @@ module Aws::QLDB
391
423
  # default.
392
424
  #
393
425
  # If deletion protection is enabled, you must first disable it before
394
- # you can delete the ledger using the QLDB API or the AWS Command Line
395
- # Interface (AWS CLI). You can disable it by calling the `UpdateLedger`
396
- # operation to set the flag to `false`. The QLDB console disables
397
- # deletion protection for you when you use it to delete a ledger.
426
+ # you can delete the ledger. You can disable it by calling the
427
+ # `UpdateLedger` operation to set the flag to `false`.
428
+ #
429
+ # @option params [String] :kms_key
430
+ # The key in Key Management Service (KMS) to use for encryption of data
431
+ # at rest in the ledger. For more information, see [Encryption at
432
+ # rest][1] in the *Amazon QLDB Developer Guide*.
433
+ #
434
+ # Use one of the following options to specify this parameter:
435
+ #
436
+ # * `AWS_OWNED_KMS_KEY`\: Use an KMS key that is owned and managed by
437
+ # Amazon Web Services on your behalf.
438
+ #
439
+ # * **Undefined**\: By default, use an Amazon Web Services owned KMS
440
+ # key.
441
+ #
442
+ # * **A valid symmetric customer managed KMS key**\: Use the specified
443
+ # KMS key in your account that you create, own, and manage.
444
+ #
445
+ # Amazon QLDB does not support asymmetric keys. For more information,
446
+ # see [Using symmetric and asymmetric keys][2] in the *Key Management
447
+ # Service Developer Guide*.
448
+ #
449
+ # To specify a customer managed KMS key, you can use its key ID, Amazon
450
+ # Resource Name (ARN), alias name, or alias ARN. When using an alias
451
+ # name, prefix it with `"alias/"`. To specify a key in a different
452
+ # account, you must use the key ARN or alias ARN.
453
+ #
454
+ # For example:
455
+ #
456
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
457
+ #
458
+ # * Key ARN:
459
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
460
+ #
461
+ # * Alias name: `alias/ExampleAlias`
462
+ #
463
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
464
+ #
465
+ # For more information, see [Key identifiers (KeyId)][3] in the *Key
466
+ # Management Service Developer Guide*.
467
+ #
468
+ #
469
+ #
470
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html
471
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
472
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id
398
473
  #
399
474
  # @return [Types::CreateLedgerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
400
475
  #
@@ -402,7 +477,9 @@ module Aws::QLDB
402
477
  # * {Types::CreateLedgerResponse#arn #arn} => String
403
478
  # * {Types::CreateLedgerResponse#state #state} => String
404
479
  # * {Types::CreateLedgerResponse#creation_date_time #creation_date_time} => Time
480
+ # * {Types::CreateLedgerResponse#permissions_mode #permissions_mode} => String
405
481
  # * {Types::CreateLedgerResponse#deletion_protection #deletion_protection} => Boolean
482
+ # * {Types::CreateLedgerResponse#kms_key_arn #kms_key_arn} => String
406
483
  #
407
484
  # @example Request syntax with placeholder values
408
485
  #
@@ -411,8 +488,9 @@ module Aws::QLDB
411
488
  # tags: {
412
489
  # "TagKey" => "TagValue",
413
490
  # },
414
- # permissions_mode: "ALLOW_ALL", # required, accepts ALLOW_ALL
491
+ # permissions_mode: "ALLOW_ALL", # required, accepts ALLOW_ALL, STANDARD
415
492
  # deletion_protection: false,
493
+ # kms_key: "KmsKey",
416
494
  # })
417
495
  #
418
496
  # @example Response structure
@@ -421,7 +499,9 @@ module Aws::QLDB
421
499
  # resp.arn #=> String
422
500
  # resp.state #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED"
423
501
  # resp.creation_date_time #=> Time
502
+ # resp.permissions_mode #=> String, one of "ALLOW_ALL", "STANDARD"
424
503
  # resp.deletion_protection #=> Boolean
504
+ # resp.kms_key_arn #=> String
425
505
  #
426
506
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedger AWS API Documentation
427
507
  #
@@ -435,10 +515,8 @@ module Aws::QLDB
435
515
  # Deletes a ledger and all of its contents. This action is irreversible.
436
516
  #
437
517
  # If deletion protection is enabled, you must first disable it before
438
- # you can delete the ledger using the QLDB API or the AWS Command Line
439
- # Interface (AWS CLI). You can disable it by calling the `UpdateLedger`
440
- # operation to set the flag to `false`. The QLDB console disables
441
- # deletion protection for you when you use it to delete a ledger.
518
+ # you can delete the ledger. You can disable it by calling the
519
+ # `UpdateLedger` operation to set the flag to `false`.
442
520
  #
443
521
  # @option params [required, String] :name
444
522
  # The name of the ledger that you want to delete.
@@ -462,14 +540,23 @@ module Aws::QLDB
462
540
 
463
541
  # Returns detailed information about a given Amazon QLDB journal stream.
464
542
  # The output includes the Amazon Resource Name (ARN), stream name,
465
- # current status, creation time, and the parameters of your original
543
+ # current status, creation time, and the parameters of the original
466
544
  # stream creation request.
467
545
  #
546
+ # This action does not return any expired journal streams. For more
547
+ # information, see [Expiration for terminal streams][1] in the *Amazon
548
+ # QLDB Developer Guide*.
549
+ #
550
+ #
551
+ #
552
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration
553
+ #
468
554
  # @option params [required, String] :ledger_name
469
555
  # The name of the ledger.
470
556
  #
471
557
  # @option params [required, String] :stream_id
472
- # The unique ID that QLDB assigns to each QLDB journal stream.
558
+ # The UUID (represented in Base62-encoded text) of the QLDB journal
559
+ # stream to describe.
473
560
  #
474
561
  # @return [Types::DescribeJournalKinesisStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
562
  #
@@ -507,11 +594,11 @@ module Aws::QLDB
507
594
  end
508
595
 
509
596
  # Returns information about a journal export job, including the ledger
510
- # name, export ID, when it was created, current status, and its start
511
- # and end time export parameters.
597
+ # name, export ID, creation time, current status, and the parameters of
598
+ # the original export creation request.
512
599
  #
513
600
  # This action does not return any expired export jobs. For more
514
- # information, see [Export Job Expiration][1] in the *Amazon QLDB
601
+ # information, see [Export job expiration][1] in the *Amazon QLDB
515
602
  # Developer Guide*.
516
603
  #
517
604
  # If the export job with the given `ExportId` doesn't exist, then
@@ -528,7 +615,8 @@ module Aws::QLDB
528
615
  # The name of the ledger.
529
616
  #
530
617
  # @option params [required, String] :export_id
531
- # The unique ID of the journal export job that you want to describe.
618
+ # The UUID (represented in Base62-encoded text) of the journal export
619
+ # job to describe.
532
620
  #
533
621
  # @return [Types::DescribeJournalS3ExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
534
622
  #
@@ -564,8 +652,8 @@ module Aws::QLDB
564
652
  req.send_request(options)
565
653
  end
566
654
 
567
- # Returns information about a ledger, including its state and when it
568
- # was created.
655
+ # Returns information about a ledger, including its state, permissions
656
+ # mode, encryption at rest settings, and when it was created.
569
657
  #
570
658
  # @option params [required, String] :name
571
659
  # The name of the ledger that you want to describe.
@@ -576,7 +664,9 @@ module Aws::QLDB
576
664
  # * {Types::DescribeLedgerResponse#arn #arn} => String
577
665
  # * {Types::DescribeLedgerResponse#state #state} => String
578
666
  # * {Types::DescribeLedgerResponse#creation_date_time #creation_date_time} => Time
667
+ # * {Types::DescribeLedgerResponse#permissions_mode #permissions_mode} => String
579
668
  # * {Types::DescribeLedgerResponse#deletion_protection #deletion_protection} => Boolean
669
+ # * {Types::DescribeLedgerResponse#encryption_description #encryption_description} => Types::LedgerEncryptionDescription
580
670
  #
581
671
  # @example Request syntax with placeholder values
582
672
  #
@@ -590,7 +680,11 @@ module Aws::QLDB
590
680
  # resp.arn #=> String
591
681
  # resp.state #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED"
592
682
  # resp.creation_date_time #=> Time
683
+ # resp.permissions_mode #=> String, one of "ALLOW_ALL", "STANDARD"
593
684
  # resp.deletion_protection #=> Boolean
685
+ # resp.encryption_description.kms_key_arn #=> String
686
+ # resp.encryption_description.encryption_status #=> String, one of "ENABLED", "UPDATING", "KMS_KEY_INACCESSIBLE"
687
+ # resp.encryption_description.inaccessible_kms_key_date_time #=> Time
594
688
  #
595
689
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeLedger AWS API Documentation
596
690
  #
@@ -619,12 +713,12 @@ module Aws::QLDB
619
713
  # The name of the ledger.
620
714
  #
621
715
  # @option params [required, Time,DateTime,Date,Integer,String] :inclusive_start_time
622
- # The inclusive start date and time for the range of journal contents
623
- # that you want to export.
716
+ # The inclusive start date and time for the range of journal contents to
717
+ # export.
624
718
  #
625
719
  # The `InclusiveStartTime` must be in `ISO 8601` date and time format
626
720
  # and in Universal Coordinated Time (UTC). For example:
627
- # `2019-06-13T21:36:34Z`
721
+ # `2019-06-13T21:36:34Z`.
628
722
  #
629
723
  # The `InclusiveStartTime` must be before `ExclusiveEndTime`.
630
724
  #
@@ -633,12 +727,12 @@ module Aws::QLDB
633
727
  # `CreationDateTime`.
634
728
  #
635
729
  # @option params [required, Time,DateTime,Date,Integer,String] :exclusive_end_time
636
- # The exclusive end date and time for the range of journal contents that
637
- # you want to export.
730
+ # The exclusive end date and time for the range of journal contents to
731
+ # export.
638
732
  #
639
733
  # The `ExclusiveEndTime` must be in `ISO 8601` date and time format and
640
734
  # in Universal Coordinated Time (UTC). For example:
641
- # `2019-06-13T21:36:34Z`
735
+ # `2019-06-13T21:36:34Z`.
642
736
  #
643
737
  # The `ExclusiveEndTime` must be less than or equal to the current UTC
644
738
  # date and time.
@@ -654,8 +748,8 @@ module Aws::QLDB
654
748
  # * Write objects into your Amazon Simple Storage Service (Amazon S3)
655
749
  # bucket.
656
750
  #
657
- # * (Optional) Use your customer master key (CMK) in AWS Key Management
658
- # Service (AWS KMS) for server-side encryption of your exported data.
751
+ # * (Optional) Use your customer master key (CMK) in Key Management
752
+ # Service (KMS) for server-side encryption of your exported data.
659
753
  #
660
754
  # @return [Types::ExportJournalToS3Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
661
755
  #
@@ -718,14 +812,14 @@ module Aws::QLDB
718
812
  # The location of the block that you want to request. An address is an
719
813
  # Amazon Ion structure that has two fields: `strandId` and `sequenceNo`.
720
814
  #
721
- # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14\}`
815
+ # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14\}`.
722
816
  #
723
817
  # @option params [Types::ValueHolder] :digest_tip_address
724
818
  # The latest block location covered by the digest for which to request a
725
819
  # proof. An address is an Amazon Ion structure that has two fields:
726
820
  # `strandId` and `sequenceNo`.
727
821
  #
728
- # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49\}`
822
+ # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49\}`.
729
823
  #
730
824
  # @return [Types::GetBlockResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
825
  #
@@ -802,17 +896,18 @@ module Aws::QLDB
802
896
  # is an Amazon Ion structure that has two fields: `strandId` and
803
897
  # `sequenceNo`.
804
898
  #
805
- # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14\}`
899
+ # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14\}`.
806
900
  #
807
901
  # @option params [required, String] :document_id
808
- # The unique ID of the document to be verified.
902
+ # The UUID (represented in Base62-encoded text) of the document to be
903
+ # verified.
809
904
  #
810
905
  # @option params [Types::ValueHolder] :digest_tip_address
811
906
  # The latest block location covered by the digest for which to request a
812
907
  # proof. An address is an Amazon Ion structure that has two fields:
813
908
  # `strandId` and `sequenceNo`.
814
909
  #
815
- # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49\}`
910
+ # For example: `\{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49\}`.
816
911
  #
817
912
  # @return [Types::GetRevisionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
818
913
  #
@@ -850,10 +945,18 @@ module Aws::QLDB
850
945
  # given ledger. The output of each stream descriptor includes the same
851
946
  # details that are returned by `DescribeJournalKinesisStream`.
852
947
  #
948
+ # This action does not return any expired journal streams. For more
949
+ # information, see [Expiration for terminal streams][1] in the *Amazon
950
+ # QLDB Developer Guide*.
951
+ #
853
952
  # This action returns a maximum of `MaxResults` items. It is paginated
854
953
  # so that you can retrieve all the items by calling
855
954
  # `ListJournalKinesisStreamsForLedger` multiple times.
856
955
  #
956
+ #
957
+ #
958
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration
959
+ #
857
960
  # @option params [required, String] :ledger_name
858
961
  # The name of the ledger.
859
962
  #
@@ -910,14 +1013,14 @@ module Aws::QLDB
910
1013
  end
911
1014
 
912
1015
  # Returns an array of journal export job descriptions for all ledgers
913
- # that are associated with the current AWS account and Region.
1016
+ # that are associated with the current account and Region.
914
1017
  #
915
1018
  # This action returns a maximum of `MaxResults` items, and is paginated
916
1019
  # so that you can retrieve all the items by calling
917
1020
  # `ListJournalS3Exports` multiple times.
918
1021
  #
919
1022
  # This action does not return any expired export jobs. For more
920
- # information, see [Export Job Expiration][1] in the *Amazon QLDB
1023
+ # information, see [Export job expiration][1] in the *Amazon QLDB
921
1024
  # Developer Guide*.
922
1025
  #
923
1026
  #
@@ -982,7 +1085,7 @@ module Aws::QLDB
982
1085
  # `ListJournalS3ExportsForLedger` multiple times.
983
1086
  #
984
1087
  # This action does not return any expired export jobs. For more
985
- # information, see [Export Job Expiration][1] in the *Amazon QLDB
1088
+ # information, see [Export job expiration][1] in the *Amazon QLDB
986
1089
  # Developer Guide*.
987
1090
  #
988
1091
  #
@@ -1044,7 +1147,7 @@ module Aws::QLDB
1044
1147
  end
1045
1148
 
1046
1149
  # Returns an array of ledger summaries that are associated with the
1047
- # current AWS account and Region.
1150
+ # current account and Region.
1048
1151
  #
1049
1152
  # This action returns a maximum of 100 items and is paginated so that
1050
1153
  # you can retrieve all the items by calling `ListLedgers` multiple
@@ -1094,8 +1197,8 @@ module Aws::QLDB
1094
1197
  # Returns all tags for a specified Amazon QLDB resource.
1095
1198
  #
1096
1199
  # @option params [required, String] :resource_arn
1097
- # The Amazon Resource Name (ARN) for which you want to list the tags.
1098
- # For example:
1200
+ # The Amazon Resource Name (ARN) for which to list the tags. For
1201
+ # example:
1099
1202
  #
1100
1203
  # `arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger`
1101
1204
  #
@@ -1145,7 +1248,7 @@ module Aws::QLDB
1145
1248
  # The inclusive start date and time from which to start streaming
1146
1249
  # journal data. This parameter must be in `ISO 8601` date and time
1147
1250
  # format and in Universal Coordinated Time (UTC). For example:
1148
- # `2019-06-13T21:36:34Z`
1251
+ # `2019-06-13T21:36:34Z`.
1149
1252
  #
1150
1253
  # The `InclusiveStartTime` cannot be in the future and must be before
1151
1254
  # `ExclusiveEndTime`.
@@ -1161,7 +1264,7 @@ module Aws::QLDB
1161
1264
  #
1162
1265
  # The `ExclusiveEndTime` must be in `ISO 8601` date and time format and
1163
1266
  # in Universal Coordinated Time (UTC). For example:
1164
- # `2019-06-13T21:36:34Z`
1267
+ # `2019-06-13T21:36:34Z`.
1165
1268
  #
1166
1269
  # @option params [required, Types::KinesisConfiguration] :kinesis_configuration
1167
1270
  # The configuration settings of the Kinesis Data Streams destination for
@@ -1256,13 +1359,13 @@ module Aws::QLDB
1256
1359
  # can specify up to 50 tag keys to remove.
1257
1360
  #
1258
1361
  # @option params [required, String] :resource_arn
1259
- # The Amazon Resource Name (ARN) from which you want to remove the tags.
1260
- # For example:
1362
+ # The Amazon Resource Name (ARN) from which to remove the tags. For
1363
+ # example:
1261
1364
  #
1262
1365
  # `arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger`
1263
1366
  #
1264
1367
  # @option params [required, Array<String>] :tag_keys
1265
- # The list of tag keys that you want to remove.
1368
+ # The list of tag keys to remove.
1266
1369
  #
1267
1370
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1268
1371
  #
@@ -1293,10 +1396,52 @@ module Aws::QLDB
1293
1396
  # default.
1294
1397
  #
1295
1398
  # If deletion protection is enabled, you must first disable it before
1296
- # you can delete the ledger using the QLDB API or the AWS Command Line
1297
- # Interface (AWS CLI). You can disable it by calling the `UpdateLedger`
1298
- # operation to set the flag to `false`. The QLDB console disables
1299
- # deletion protection for you when you use it to delete a ledger.
1399
+ # you can delete the ledger. You can disable it by calling the
1400
+ # `UpdateLedger` operation to set the flag to `false`.
1401
+ #
1402
+ # @option params [String] :kms_key
1403
+ # The key in Key Management Service (KMS) to use for encryption of data
1404
+ # at rest in the ledger. For more information, see [Encryption at
1405
+ # rest][1] in the *Amazon QLDB Developer Guide*.
1406
+ #
1407
+ # Use one of the following options to specify this parameter:
1408
+ #
1409
+ # * `AWS_OWNED_KMS_KEY`\: Use an KMS key that is owned and managed by
1410
+ # Amazon Web Services on your behalf.
1411
+ #
1412
+ # * **Undefined**\: Make no changes to the KMS key of the ledger.
1413
+ #
1414
+ # * **A valid symmetric customer managed KMS key**\: Use the specified
1415
+ # KMS key in your account that you create, own, and manage.
1416
+ #
1417
+ # Amazon QLDB does not support asymmetric keys. For more information,
1418
+ # see [Using symmetric and asymmetric keys][2] in the *Key Management
1419
+ # Service Developer Guide*.
1420
+ #
1421
+ # To specify a customer managed KMS key, you can use its key ID, Amazon
1422
+ # Resource Name (ARN), alias name, or alias ARN. When using an alias
1423
+ # name, prefix it with `"alias/"`. To specify a key in a different
1424
+ # account, you must use the key ARN or alias ARN.
1425
+ #
1426
+ # For example:
1427
+ #
1428
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
1429
+ #
1430
+ # * Key ARN:
1431
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
1432
+ #
1433
+ # * Alias name: `alias/ExampleAlias`
1434
+ #
1435
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
1436
+ #
1437
+ # For more information, see [Key identifiers (KeyId)][3] in the *Key
1438
+ # Management Service Developer Guide*.
1439
+ #
1440
+ #
1441
+ #
1442
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html
1443
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1444
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id
1300
1445
  #
1301
1446
  # @return [Types::UpdateLedgerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1302
1447
  #
@@ -1305,12 +1450,14 @@ module Aws::QLDB
1305
1450
  # * {Types::UpdateLedgerResponse#state #state} => String
1306
1451
  # * {Types::UpdateLedgerResponse#creation_date_time #creation_date_time} => Time
1307
1452
  # * {Types::UpdateLedgerResponse#deletion_protection #deletion_protection} => Boolean
1453
+ # * {Types::UpdateLedgerResponse#encryption_description #encryption_description} => Types::LedgerEncryptionDescription
1308
1454
  #
1309
1455
  # @example Request syntax with placeholder values
1310
1456
  #
1311
1457
  # resp = client.update_ledger({
1312
1458
  # name: "LedgerName", # required
1313
1459
  # deletion_protection: false,
1460
+ # kms_key: "KmsKey",
1314
1461
  # })
1315
1462
  #
1316
1463
  # @example Response structure
@@ -1320,6 +1467,9 @@ module Aws::QLDB
1320
1467
  # resp.state #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED"
1321
1468
  # resp.creation_date_time #=> Time
1322
1469
  # resp.deletion_protection #=> Boolean
1470
+ # resp.encryption_description.kms_key_arn #=> String
1471
+ # resp.encryption_description.encryption_status #=> String, one of "ENABLED", "UPDATING", "KMS_KEY_INACCESSIBLE"
1472
+ # resp.encryption_description.inaccessible_kms_key_date_time #=> Time
1323
1473
  #
1324
1474
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedger AWS API Documentation
1325
1475
  #
@@ -1330,6 +1480,82 @@ module Aws::QLDB
1330
1480
  req.send_request(options)
1331
1481
  end
1332
1482
 
1483
+ # Updates the permissions mode of a ledger.
1484
+ #
1485
+ # Before you switch to the `STANDARD` permissions mode, you must first
1486
+ # create all required IAM policies and table tags to avoid disruption to
1487
+ # your users. To learn more, see [Migrating to the standard permissions
1488
+ # mode][1] in the *Amazon QLDB Developer Guide*.
1489
+ #
1490
+ #
1491
+ #
1492
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/ledger-management.basics.html#ledger-mgmt.basics.update-permissions.migrating
1493
+ #
1494
+ # @option params [required, String] :name
1495
+ # The name of the ledger.
1496
+ #
1497
+ # @option params [required, String] :permissions_mode
1498
+ # The permissions mode to assign to the ledger. This parameter can have
1499
+ # one of the following values:
1500
+ #
1501
+ # * `ALLOW_ALL`\: A legacy permissions mode that enables access control
1502
+ # with API-level granularity for ledgers.
1503
+ #
1504
+ # This mode allows users who have the `SendCommand` API permission for
1505
+ # this ledger to run all PartiQL commands (hence, `ALLOW_ALL`) on any
1506
+ # tables in the specified ledger. This mode disregards any table-level
1507
+ # or command-level IAM permissions policies that you create for the
1508
+ # ledger.
1509
+ #
1510
+ # * `STANDARD`\: (*Recommended*) A permissions mode that enables access
1511
+ # control with finer granularity for ledgers, tables, and PartiQL
1512
+ # commands.
1513
+ #
1514
+ # By default, this mode denies all user requests to run any PartiQL
1515
+ # commands on any tables in this ledger. To allow PartiQL commands to
1516
+ # run, you must create IAM permissions policies for specific table
1517
+ # resources and PartiQL actions, in addition to the `SendCommand` API
1518
+ # permission for the ledger. For information, see [Getting started
1519
+ # with the standard permissions mode][1] in the *Amazon QLDB Developer
1520
+ # Guide*.
1521
+ #
1522
+ # <note markdown="1"> We strongly recommend using the `STANDARD` permissions mode to
1523
+ # maximize the security of your ledger data.
1524
+ #
1525
+ # </note>
1526
+ #
1527
+ #
1528
+ #
1529
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html
1530
+ #
1531
+ # @return [Types::UpdateLedgerPermissionsModeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1532
+ #
1533
+ # * {Types::UpdateLedgerPermissionsModeResponse#name #name} => String
1534
+ # * {Types::UpdateLedgerPermissionsModeResponse#arn #arn} => String
1535
+ # * {Types::UpdateLedgerPermissionsModeResponse#permissions_mode #permissions_mode} => String
1536
+ #
1537
+ # @example Request syntax with placeholder values
1538
+ #
1539
+ # resp = client.update_ledger_permissions_mode({
1540
+ # name: "LedgerName", # required
1541
+ # permissions_mode: "ALLOW_ALL", # required, accepts ALLOW_ALL, STANDARD
1542
+ # })
1543
+ #
1544
+ # @example Response structure
1545
+ #
1546
+ # resp.name #=> String
1547
+ # resp.arn #=> String
1548
+ # resp.permissions_mode #=> String, one of "ALLOW_ALL", "STANDARD"
1549
+ #
1550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerPermissionsMode AWS API Documentation
1551
+ #
1552
+ # @overload update_ledger_permissions_mode(params = {})
1553
+ # @param [Hash] params ({})
1554
+ def update_ledger_permissions_mode(params = {}, options = {})
1555
+ req = build_request(:update_ledger_permissions_mode, params)
1556
+ req.send_request(options)
1557
+ end
1558
+
1333
1559
  # @!endgroup
1334
1560
 
1335
1561
  # @param params ({})
@@ -1343,7 +1569,7 @@ module Aws::QLDB
1343
1569
  params: params,
1344
1570
  config: config)
1345
1571
  context[:gem_name] = 'aws-sdk-qldb'
1346
- context[:gem_version] = '1.13.0'
1572
+ context[:gem_version] = '1.17.0'
1347
1573
  Seahorse::Client::Request.new(handlers, context)
1348
1574
  end
1349
1575