aws-sdk-qldb 1.15.0 → 1.16.0

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
2
  SHA256:
3
- metadata.gz: f160f78ebc39ab07b285e0b80e52bed4ac6bf17c9510d7040191cc084c1651ce
4
- data.tar.gz: 6daaf1d0e593052301bf0cb66936a35a6536c7fd802c04b28de6b8a25162077c
3
+ metadata.gz: 8316983414fbf201041f490ff20114768b7f53f9ad64ee7d9a8e1736d2f71927
4
+ data.tar.gz: 9b7944b5bf7edae1eabd9d1115d61ff195498564a9caf3c709f7d838c558404e
5
5
  SHA512:
6
- metadata.gz: fd3e4c31677c7c8d42e8e49cd11361f2cab0f506054c4b9fef19f29bfdef23f252593a754df1094bf445bd0c96b93f5c3eea5fcf20b535c6b0c16e882d5e8ded
7
- data.tar.gz: ea2176d8645cecca765f0857710dbb53ebcf8c12fb11cb76b6e9226848a947ce3a9ebb01c44005044f2d11787b5e74c519287bfb7614a1b379ec7026bca3bb6a
6
+ metadata.gz: 115c6a9ea018004b6334b0b9b29acd23c43e6de015cd36cfe308e5382a3f0bf607368f17444d193194b9875daf5729457f6c33ed29ba8ee327a4dd11de850857
7
+ data.tar.gz: e61c32fe5db38feec76e7ad55d0c78c8e50c7010662556644f5173ebc7c40b77b455796a1778852f13e6a36b48b42c1378956f9a9684c00dc935f0e8887979bb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.16.0 (2021-07-22)
5
+ ------------------
6
+
7
+ * Feature - Amazon QLDB now supports ledgers encrypted with customer managed KMS keys. Changes in CreateLedger, UpdateLedger and DescribeLedger APIs to support the changes.
8
+
4
9
  1.15.0 (2021-06-04)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.15.0
1
+ 1.16.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.15.0'
51
+ GEM_VERSION = '1.16.0'
52
52
 
53
53
  end
@@ -365,11 +365,11 @@ module Aws::QLDB
365
365
  req.send_request(options)
366
366
  end
367
367
 
368
- # Creates a new ledger in your AWS account in the current Region.
368
+ # Creates a new ledger in your account in the current Region.
369
369
  #
370
370
  # @option params [required, String] :name
371
371
  # The name of the ledger that you want to create. The name must be
372
- # 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.
373
373
  #
374
374
  # Naming constraints for ledger names are defined in [Quotas in Amazon
375
375
  # QLDB][1] in the *Amazon QLDB Developer Guide*.
@@ -426,6 +426,51 @@ module Aws::QLDB
426
426
  # you can delete the ledger. You can disable it by calling the
427
427
  # `UpdateLedger` operation to set the flag to `false`.
428
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
473
+ #
429
474
  # @return [Types::CreateLedgerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
430
475
  #
431
476
  # * {Types::CreateLedgerResponse#name #name} => String
@@ -434,6 +479,7 @@ module Aws::QLDB
434
479
  # * {Types::CreateLedgerResponse#creation_date_time #creation_date_time} => Time
435
480
  # * {Types::CreateLedgerResponse#permissions_mode #permissions_mode} => String
436
481
  # * {Types::CreateLedgerResponse#deletion_protection #deletion_protection} => Boolean
482
+ # * {Types::CreateLedgerResponse#kms_key_arn #kms_key_arn} => String
437
483
  #
438
484
  # @example Request syntax with placeholder values
439
485
  #
@@ -444,6 +490,7 @@ module Aws::QLDB
444
490
  # },
445
491
  # permissions_mode: "ALLOW_ALL", # required, accepts ALLOW_ALL, STANDARD
446
492
  # deletion_protection: false,
493
+ # kms_key: "KmsKey",
447
494
  # })
448
495
  #
449
496
  # @example Response structure
@@ -454,6 +501,7 @@ module Aws::QLDB
454
501
  # resp.creation_date_time #=> Time
455
502
  # resp.permissions_mode #=> String, one of "ALLOW_ALL", "STANDARD"
456
503
  # resp.deletion_protection #=> Boolean
504
+ # resp.kms_key_arn #=> String
457
505
  #
458
506
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedger AWS API Documentation
459
507
  #
@@ -604,8 +652,8 @@ module Aws::QLDB
604
652
  req.send_request(options)
605
653
  end
606
654
 
607
- # Returns information about a ledger, including its state and when it
608
- # was created.
655
+ # Returns information about a ledger, including its state, permissions
656
+ # mode, encryption at rest settings, and when it was created.
609
657
  #
610
658
  # @option params [required, String] :name
611
659
  # The name of the ledger that you want to describe.
@@ -618,6 +666,7 @@ module Aws::QLDB
618
666
  # * {Types::DescribeLedgerResponse#creation_date_time #creation_date_time} => Time
619
667
  # * {Types::DescribeLedgerResponse#permissions_mode #permissions_mode} => String
620
668
  # * {Types::DescribeLedgerResponse#deletion_protection #deletion_protection} => Boolean
669
+ # * {Types::DescribeLedgerResponse#encryption_description #encryption_description} => Types::LedgerEncryptionDescription
621
670
  #
622
671
  # @example Request syntax with placeholder values
623
672
  #
@@ -633,6 +682,9 @@ module Aws::QLDB
633
682
  # resp.creation_date_time #=> Time
634
683
  # resp.permissions_mode #=> String, one of "ALLOW_ALL", "STANDARD"
635
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
636
688
  #
637
689
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeLedger AWS API Documentation
638
690
  #
@@ -696,8 +748,8 @@ module Aws::QLDB
696
748
  # * Write objects into your Amazon Simple Storage Service (Amazon S3)
697
749
  # bucket.
698
750
  #
699
- # * (Optional) Use your customer master key (CMK) in AWS Key Management
700
- # 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.
701
753
  #
702
754
  # @return [Types::ExportJournalToS3Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
755
  #
@@ -961,7 +1013,7 @@ module Aws::QLDB
961
1013
  end
962
1014
 
963
1015
  # Returns an array of journal export job descriptions for all ledgers
964
- # that are associated with the current AWS account and Region.
1016
+ # that are associated with the current account and Region.
965
1017
  #
966
1018
  # This action returns a maximum of `MaxResults` items, and is paginated
967
1019
  # so that you can retrieve all the items by calling
@@ -1095,7 +1147,7 @@ module Aws::QLDB
1095
1147
  end
1096
1148
 
1097
1149
  # Returns an array of ledger summaries that are associated with the
1098
- # current AWS account and Region.
1150
+ # current account and Region.
1099
1151
  #
1100
1152
  # This action returns a maximum of 100 items and is paginated so that
1101
1153
  # you can retrieve all the items by calling `ListLedgers` multiple
@@ -1347,6 +1399,50 @@ module Aws::QLDB
1347
1399
  # you can delete the ledger. You can disable it by calling the
1348
1400
  # `UpdateLedger` operation to set the flag to `false`.
1349
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
1445
+ #
1350
1446
  # @return [Types::UpdateLedgerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1351
1447
  #
1352
1448
  # * {Types::UpdateLedgerResponse#name #name} => String
@@ -1354,12 +1450,14 @@ module Aws::QLDB
1354
1450
  # * {Types::UpdateLedgerResponse#state #state} => String
1355
1451
  # * {Types::UpdateLedgerResponse#creation_date_time #creation_date_time} => Time
1356
1452
  # * {Types::UpdateLedgerResponse#deletion_protection #deletion_protection} => Boolean
1453
+ # * {Types::UpdateLedgerResponse#encryption_description #encryption_description} => Types::LedgerEncryptionDescription
1357
1454
  #
1358
1455
  # @example Request syntax with placeholder values
1359
1456
  #
1360
1457
  # resp = client.update_ledger({
1361
1458
  # name: "LedgerName", # required
1362
1459
  # deletion_protection: false,
1460
+ # kms_key: "KmsKey",
1363
1461
  # })
1364
1462
  #
1365
1463
  # @example Response structure
@@ -1369,6 +1467,9 @@ module Aws::QLDB
1369
1467
  # resp.state #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED"
1370
1468
  # resp.creation_date_time #=> Time
1371
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
1372
1473
  #
1373
1474
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedger AWS API Documentation
1374
1475
  #
@@ -1468,7 +1569,7 @@ module Aws::QLDB
1468
1569
  params: params,
1469
1570
  config: config)
1470
1571
  context[:gem_name] = 'aws-sdk-qldb'
1471
- context[:gem_version] = '1.15.0'
1572
+ context[:gem_version] = '1.16.0'
1472
1573
  Seahorse::Client::Request.new(handlers, context)
1473
1574
  end
1474
1575
 
@@ -28,6 +28,7 @@ module Aws::QLDB
28
28
  DescribeLedgerRequest = Shapes::StructureShape.new(name: 'DescribeLedgerRequest')
29
29
  DescribeLedgerResponse = Shapes::StructureShape.new(name: 'DescribeLedgerResponse')
30
30
  Digest = Shapes::BlobShape.new(name: 'Digest')
31
+ EncryptionStatus = Shapes::StringShape.new(name: 'EncryptionStatus')
31
32
  ErrorCause = Shapes::StringShape.new(name: 'ErrorCause')
32
33
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
33
34
  ExportJournalToS3Request = Shapes::StructureShape.new(name: 'ExportJournalToS3Request')
@@ -46,6 +47,8 @@ module Aws::QLDB
46
47
  JournalS3ExportDescription = Shapes::StructureShape.new(name: 'JournalS3ExportDescription')
47
48
  JournalS3ExportList = Shapes::ListShape.new(name: 'JournalS3ExportList')
48
49
  KinesisConfiguration = Shapes::StructureShape.new(name: 'KinesisConfiguration')
50
+ KmsKey = Shapes::StringShape.new(name: 'KmsKey')
51
+ LedgerEncryptionDescription = Shapes::StructureShape.new(name: 'LedgerEncryptionDescription')
49
52
  LedgerList = Shapes::ListShape.new(name: 'LedgerList')
50
53
  LedgerName = Shapes::StringShape.new(name: 'LedgerName')
51
54
  LedgerState = Shapes::StringShape.new(name: 'LedgerState')
@@ -107,6 +110,7 @@ module Aws::QLDB
107
110
  CreateLedgerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
108
111
  CreateLedgerRequest.add_member(:permissions_mode, Shapes::ShapeRef.new(shape: PermissionsMode, required: true, location_name: "PermissionsMode"))
109
112
  CreateLedgerRequest.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: DeletionProtection, location_name: "DeletionProtection"))
113
+ CreateLedgerRequest.add_member(:kms_key, Shapes::ShapeRef.new(shape: KmsKey, location_name: "KmsKey"))
110
114
  CreateLedgerRequest.struct_class = Types::CreateLedgerRequest
111
115
 
112
116
  CreateLedgerResponse.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, location_name: "Name"))
@@ -115,6 +119,7 @@ module Aws::QLDB
115
119
  CreateLedgerResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDateTime"))
116
120
  CreateLedgerResponse.add_member(:permissions_mode, Shapes::ShapeRef.new(shape: PermissionsMode, location_name: "PermissionsMode"))
117
121
  CreateLedgerResponse.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: DeletionProtection, location_name: "DeletionProtection"))
122
+ CreateLedgerResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "KmsKeyArn"))
118
123
  CreateLedgerResponse.struct_class = Types::CreateLedgerResponse
119
124
 
120
125
  DeleteLedgerRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
@@ -143,6 +148,7 @@ module Aws::QLDB
143
148
  DescribeLedgerResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDateTime"))
144
149
  DescribeLedgerResponse.add_member(:permissions_mode, Shapes::ShapeRef.new(shape: PermissionsMode, location_name: "PermissionsMode"))
145
150
  DescribeLedgerResponse.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: DeletionProtection, location_name: "DeletionProtection"))
151
+ DescribeLedgerResponse.add_member(:encryption_description, Shapes::ShapeRef.new(shape: LedgerEncryptionDescription, location_name: "EncryptionDescription"))
146
152
  DescribeLedgerResponse.struct_class = Types::DescribeLedgerResponse
147
153
 
148
154
  ExportJournalToS3Request.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
@@ -216,6 +222,11 @@ module Aws::QLDB
216
222
  KinesisConfiguration.add_member(:aggregation_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "AggregationEnabled"))
217
223
  KinesisConfiguration.struct_class = Types::KinesisConfiguration
218
224
 
225
+ LedgerEncryptionDescription.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "KmsKeyArn"))
226
+ LedgerEncryptionDescription.add_member(:encryption_status, Shapes::ShapeRef.new(shape: EncryptionStatus, required: true, location_name: "EncryptionStatus"))
227
+ LedgerEncryptionDescription.add_member(:inaccessible_kms_key_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "InaccessibleKmsKeyDateTime"))
228
+ LedgerEncryptionDescription.struct_class = Types::LedgerEncryptionDescription
229
+
219
230
  LedgerList.member = Shapes::ShapeRef.new(shape: LedgerSummary)
220
231
 
221
232
  LedgerSummary.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, location_name: "Name"))
@@ -336,6 +347,7 @@ module Aws::QLDB
336
347
 
337
348
  UpdateLedgerRequest.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, required: true, location: "uri", location_name: "name"))
338
349
  UpdateLedgerRequest.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: DeletionProtection, location_name: "DeletionProtection"))
350
+ UpdateLedgerRequest.add_member(:kms_key, Shapes::ShapeRef.new(shape: KmsKey, location_name: "KmsKey"))
339
351
  UpdateLedgerRequest.struct_class = Types::UpdateLedgerRequest
340
352
 
341
353
  UpdateLedgerResponse.add_member(:name, Shapes::ShapeRef.new(shape: LedgerName, location_name: "Name"))
@@ -343,6 +355,7 @@ module Aws::QLDB
343
355
  UpdateLedgerResponse.add_member(:state, Shapes::ShapeRef.new(shape: LedgerState, location_name: "State"))
344
356
  UpdateLedgerResponse.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationDateTime"))
345
357
  UpdateLedgerResponse.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: DeletionProtection, location_name: "DeletionProtection"))
358
+ UpdateLedgerResponse.add_member(:encryption_description, Shapes::ShapeRef.new(shape: LedgerEncryptionDescription, location_name: "EncryptionDescription"))
346
359
  UpdateLedgerResponse.struct_class = Types::UpdateLedgerResponse
347
360
 
348
361
  ValueHolder.add_member(:ion_text, Shapes::ShapeRef.new(shape: IonText, location_name: "IonText"))
@@ -58,11 +58,13 @@ module Aws::QLDB
58
58
  # },
59
59
  # permissions_mode: "ALLOW_ALL", # required, accepts ALLOW_ALL, STANDARD
60
60
  # deletion_protection: false,
61
+ # kms_key: "KmsKey",
61
62
  # }
62
63
  #
63
64
  # @!attribute [rw] name
64
65
  # The name of the ledger that you want to create. The name must be
65
- # unique among all of your ledgers in the current AWS Region.
66
+ # unique among all of the ledgers in your account in the current
67
+ # Region.
66
68
  #
67
69
  # Naming constraints for ledger names are defined in [Quotas in Amazon
68
70
  # QLDB][1] in the *Amazon QLDB Developer Guide*.
@@ -123,13 +125,60 @@ module Aws::QLDB
123
125
  # `UpdateLedger` operation to set the flag to `false`.
124
126
  # @return [Boolean]
125
127
  #
128
+ # @!attribute [rw] kms_key
129
+ # The key in Key Management Service (KMS) to use for encryption of
130
+ # data at rest in the ledger. For more information, see [Encryption at
131
+ # rest][1] in the *Amazon QLDB Developer Guide*.
132
+ #
133
+ # Use one of the following options to specify this parameter:
134
+ #
135
+ # * `AWS_OWNED_KMS_KEY`\: Use an KMS key that is owned and managed by
136
+ # Amazon Web Services on your behalf.
137
+ #
138
+ # * **Undefined**\: By default, use an Amazon Web Services owned KMS
139
+ # key.
140
+ #
141
+ # * **A valid symmetric customer managed KMS key**\: Use the specified
142
+ # KMS key in your account that you create, own, and manage.
143
+ #
144
+ # Amazon QLDB does not support asymmetric keys. For more
145
+ # information, see [Using symmetric and asymmetric keys][2] in the
146
+ # *Key Management Service Developer Guide*.
147
+ #
148
+ # To specify a customer managed KMS key, you can use its key ID,
149
+ # Amazon Resource Name (ARN), alias name, or alias ARN. When using an
150
+ # alias name, prefix it with `"alias/"`. To specify a key in a
151
+ # different account, you must use the key ARN or alias ARN.
152
+ #
153
+ # For example:
154
+ #
155
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
156
+ #
157
+ # * Key ARN:
158
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
159
+ #
160
+ # * Alias name: `alias/ExampleAlias`
161
+ #
162
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
163
+ #
164
+ # For more information, see [Key identifiers (KeyId)][3] in the *Key
165
+ # Management Service Developer Guide*.
166
+ #
167
+ #
168
+ #
169
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html
170
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
171
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id
172
+ # @return [String]
173
+ #
126
174
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedgerRequest AWS API Documentation
127
175
  #
128
176
  class CreateLedgerRequest < Struct.new(
129
177
  :name,
130
178
  :tags,
131
179
  :permissions_mode,
132
- :deletion_protection)
180
+ :deletion_protection,
181
+ :kms_key)
133
182
  SENSITIVE = []
134
183
  include Aws::Structure
135
184
  end
@@ -166,6 +215,12 @@ module Aws::QLDB
166
215
  # `UpdateLedger` operation to set the flag to `false`.
167
216
  # @return [Boolean]
168
217
  #
218
+ # @!attribute [rw] kms_key_arn
219
+ # The ARN of the customer managed KMS key that the ledger uses for
220
+ # encryption at rest. If this parameter is undefined, the ledger uses
221
+ # an Amazon Web Services owned KMS key for encryption.
222
+ # @return [String]
223
+ #
169
224
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedgerResponse AWS API Documentation
170
225
  #
171
226
  class CreateLedgerResponse < Struct.new(
@@ -174,7 +229,8 @@ module Aws::QLDB
174
229
  :state,
175
230
  :creation_date_time,
176
231
  :permissions_mode,
177
- :deletion_protection)
232
+ :deletion_protection,
233
+ :kms_key_arn)
178
234
  SENSITIVE = []
179
235
  include Aws::Structure
180
236
  end
@@ -327,6 +383,12 @@ module Aws::QLDB
327
383
  # `UpdateLedger` operation to set the flag to `false`.
328
384
  # @return [Boolean]
329
385
  #
386
+ # @!attribute [rw] encryption_description
387
+ # Information about the encryption of data at rest in the ledger. This
388
+ # includes the current status, the KMS key, and when the key became
389
+ # inaccessible (in the case of an error).
390
+ # @return [Types::LedgerEncryptionDescription]
391
+ #
330
392
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeLedgerResponse AWS API Documentation
331
393
  #
332
394
  class DescribeLedgerResponse < Struct.new(
@@ -335,7 +397,8 @@ module Aws::QLDB
335
397
  :state,
336
398
  :creation_date_time,
337
399
  :permissions_mode,
338
- :deletion_protection)
400
+ :deletion_protection,
401
+ :encryption_description)
339
402
  SENSITIVE = []
340
403
  include Aws::Structure
341
404
  end
@@ -401,9 +464,8 @@ module Aws::QLDB
401
464
  # * Write objects into your Amazon Simple Storage Service (Amazon S3)
402
465
  # bucket.
403
466
  #
404
- # * (Optional) Use your customer master key (CMK) in AWS Key
405
- # Management Service (AWS KMS) for server-side encryption of your
406
- # exported data.
467
+ # * (Optional) Use your customer master key (CMK) in Key Management
468
+ # Service (KMS) for server-side encryption of your exported data.
407
469
  # @return [String]
408
470
  #
409
471
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ExportJournalToS3Request AWS API Documentation
@@ -645,7 +707,7 @@ module Aws::QLDB
645
707
  #
646
708
  # @!attribute [rw] exclusive_end_time
647
709
  # The exclusive date and time that specifies when the stream ends. If
648
- # this parameter is blank, the stream runs indefinitely until you
710
+ # this parameter is undefined, the stream runs indefinitely until you
649
711
  # cancel it.
650
712
  # @return [Time]
651
713
  #
@@ -746,9 +808,8 @@ module Aws::QLDB
746
808
  # * Write objects into your Amazon Simple Storage Service (Amazon S3)
747
809
  # bucket.
748
810
  #
749
- # * (Optional) Use your customer master key (CMK) in AWS Key
750
- # Management Service (AWS KMS) for server-side encryption of your
751
- # exported data.
811
+ # * (Optional) Use your customer master key (CMK) in Key Management
812
+ # Service (KMS) for server-side encryption of your exported data.
752
813
  # @return [String]
753
814
  #
754
815
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/JournalS3ExportDescription AWS API Documentation
@@ -807,6 +868,72 @@ module Aws::QLDB
807
868
  include Aws::Structure
808
869
  end
809
870
 
871
+ # Information about the encryption of data at rest in an Amazon QLDB
872
+ # ledger. This includes the current status, the key in Key Management
873
+ # Service (KMS), and when the key became inaccessible (in the case of an
874
+ # error).
875
+ #
876
+ # For more information, see [Encryption at rest][1] in the *Amazon QLDB
877
+ # Developer Guide*.
878
+ #
879
+ #
880
+ #
881
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html
882
+ #
883
+ # @!attribute [rw] kms_key_arn
884
+ # The Amazon Resource Name (ARN) of the customer managed KMS key that
885
+ # the ledger uses for encryption at rest. If this parameter is
886
+ # undefined, the ledger uses an Amazon Web Services owned KMS key for
887
+ # encryption.
888
+ # @return [String]
889
+ #
890
+ # @!attribute [rw] encryption_status
891
+ # The current state of encryption at rest for the ledger. This can be
892
+ # one of the following values:
893
+ #
894
+ # * `ENABLED`\: Encryption is fully enabled using the specified key.
895
+ #
896
+ # * `UPDATING`\: The ledger is actively processing the specified key
897
+ # change.
898
+ #
899
+ # Key changes in QLDB are asynchronous. The ledger is fully
900
+ # accessible without any performance impact while the key change is
901
+ # being processed. The amount of time it takes to update a key
902
+ # varies depending on the ledger size.
903
+ #
904
+ # * `KMS_KEY_INACCESSIBLE`\: The specified customer managed KMS key is
905
+ # not accessible, and the ledger is impaired. Either the key was
906
+ # disabled or deleted, or the grants on the key were revoked. When a
907
+ # ledger is impaired, it is not accessible and does not accept any
908
+ # read or write requests.
909
+ #
910
+ # An impaired ledger automatically returns to an active state after
911
+ # you restore the grants on the key, or re-enable the key that was
912
+ # disabled. However, deleting a customer managed KMS key is
913
+ # irreversible. After a key is deleted, you can no longer access the
914
+ # ledgers that are protected with that key, and the data becomes
915
+ # unrecoverable permanently.
916
+ # @return [String]
917
+ #
918
+ # @!attribute [rw] inaccessible_kms_key_date_time
919
+ # The date and time, in epoch time format, when the KMS key first
920
+ # became inaccessible, in the case of an error. (Epoch time format is
921
+ # the number of seconds that have elapsed since 12:00:00 AM January 1,
922
+ # 1970 UTC.)
923
+ #
924
+ # This parameter is undefined if the KMS key is accessible.
925
+ # @return [Time]
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/LedgerEncryptionDescription AWS API Documentation
928
+ #
929
+ class LedgerEncryptionDescription < Struct.new(
930
+ :kms_key_arn,
931
+ :encryption_status,
932
+ :inaccessible_kms_key_date_time)
933
+ SENSITIVE = []
934
+ include Aws::Structure
935
+ end
936
+
810
937
  # Information about a ledger, including its name, state, and when it was
811
938
  # created.
812
939
  #
@@ -1002,7 +1129,7 @@ module Aws::QLDB
1002
1129
 
1003
1130
  # @!attribute [rw] journal_s3_exports
1004
1131
  # The array of journal export job descriptions for all ledgers that
1005
- # are associated with the current AWS account and Region.
1132
+ # are associated with the current account and Region.
1006
1133
  # @return [Array<Types::JournalS3ExportDescription>]
1007
1134
  #
1008
1135
  # @!attribute [rw] next_token
@@ -1054,7 +1181,7 @@ module Aws::QLDB
1054
1181
 
1055
1182
  # @!attribute [rw] ledgers
1056
1183
  # The array of ledger summaries that are associated with the current
1057
- # AWS account and Region.
1184
+ # account and Region.
1058
1185
  # @return [Array<Types::LedgerSummary>]
1059
1186
  #
1060
1187
  # @!attribute [rw] next_token
@@ -1229,9 +1356,9 @@ module Aws::QLDB
1229
1356
  # @return [String]
1230
1357
  #
1231
1358
  # @!attribute [rw] kms_key_arn
1232
- # The Amazon Resource Name (ARN) for a symmetric customer master key
1233
- # (CMK) in AWS Key Management Service (AWS KMS). Amazon S3 does not
1234
- # support asymmetric CMKs.
1359
+ # The Amazon Resource Name (ARN) of a symmetric customer master key
1360
+ # (CMK) in Key Management Service (KMS). Amazon S3 does not support
1361
+ # asymmetric CMKs.
1235
1362
  #
1236
1363
  # You must provide a `KmsKeyArn` if you specify `SSE_KMS` as the
1237
1364
  # `ObjectEncryptionType`.
@@ -1571,6 +1698,7 @@ module Aws::QLDB
1571
1698
  # {
1572
1699
  # name: "LedgerName", # required
1573
1700
  # deletion_protection: false,
1701
+ # kms_key: "KmsKey",
1574
1702
  # }
1575
1703
  #
1576
1704
  # @!attribute [rw] name
@@ -1587,11 +1715,57 @@ module Aws::QLDB
1587
1715
  # `UpdateLedger` operation to set the flag to `false`.
1588
1716
  # @return [Boolean]
1589
1717
  #
1718
+ # @!attribute [rw] kms_key
1719
+ # The key in Key Management Service (KMS) to use for encryption of
1720
+ # data at rest in the ledger. For more information, see [Encryption at
1721
+ # rest][1] in the *Amazon QLDB Developer Guide*.
1722
+ #
1723
+ # Use one of the following options to specify this parameter:
1724
+ #
1725
+ # * `AWS_OWNED_KMS_KEY`\: Use an KMS key that is owned and managed by
1726
+ # Amazon Web Services on your behalf.
1727
+ #
1728
+ # * **Undefined**\: Make no changes to the KMS key of the ledger.
1729
+ #
1730
+ # * **A valid symmetric customer managed KMS key**\: Use the specified
1731
+ # KMS key in your account that you create, own, and manage.
1732
+ #
1733
+ # Amazon QLDB does not support asymmetric keys. For more
1734
+ # information, see [Using symmetric and asymmetric keys][2] in the
1735
+ # *Key Management Service Developer Guide*.
1736
+ #
1737
+ # To specify a customer managed KMS key, you can use its key ID,
1738
+ # Amazon Resource Name (ARN), alias name, or alias ARN. When using an
1739
+ # alias name, prefix it with `"alias/"`. To specify a key in a
1740
+ # different account, you must use the key ARN or alias ARN.
1741
+ #
1742
+ # For example:
1743
+ #
1744
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
1745
+ #
1746
+ # * Key ARN:
1747
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
1748
+ #
1749
+ # * Alias name: `alias/ExampleAlias`
1750
+ #
1751
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
1752
+ #
1753
+ # For more information, see [Key identifiers (KeyId)][3] in the *Key
1754
+ # Management Service Developer Guide*.
1755
+ #
1756
+ #
1757
+ #
1758
+ # [1]: https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html
1759
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1760
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id
1761
+ # @return [String]
1762
+ #
1590
1763
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerRequest AWS API Documentation
1591
1764
  #
1592
1765
  class UpdateLedgerRequest < Struct.new(
1593
1766
  :name,
1594
- :deletion_protection)
1767
+ :deletion_protection,
1768
+ :kms_key)
1595
1769
  SENSITIVE = []
1596
1770
  include Aws::Structure
1597
1771
  end
@@ -1624,6 +1798,12 @@ module Aws::QLDB
1624
1798
  # `UpdateLedger` operation to set the flag to `false`.
1625
1799
  # @return [Boolean]
1626
1800
  #
1801
+ # @!attribute [rw] encryption_description
1802
+ # Information about the encryption of data at rest in the ledger. This
1803
+ # includes the current status, the KMS key, and when the key became
1804
+ # inaccessible (in the case of an error).
1805
+ # @return [Types::LedgerEncryptionDescription]
1806
+ #
1627
1807
  # @see http://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerResponse AWS API Documentation
1628
1808
  #
1629
1809
  class UpdateLedgerResponse < Struct.new(
@@ -1631,7 +1811,8 @@ module Aws::QLDB
1631
1811
  :arn,
1632
1812
  :state,
1633
1813
  :creation_date_time,
1634
- :deletion_protection)
1814
+ :deletion_protection,
1815
+ :encryption_description)
1635
1816
  SENSITIVE = []
1636
1817
  include Aws::Structure
1637
1818
  end
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.15.0
4
+ version: 1.16.0
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: 2021-06-04 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core